当前位置: 首页 > news >正文

长春建设工程信息网站开网络公司赚钱吗

长春建设工程信息网站,开网络公司赚钱吗,gae建立wordpress博客,德尔普网站建设1 实验介绍 1.1 简介 Mnist手写体图像识别实验是深度学习入门经典实验。Mnist数据集包含60,000个用于训练的示例和10,000个用于测试的示例。这些数字已经过尺寸标准化并位于图像中心#xff0c;图像是固定大小(28x28像素)#xff0c;其值为0到255。为简单起见#xff0c;每…1 实验介绍 1.1 简介 Mnist手写体图像识别实验是深度学习入门经典实验。Mnist数据集包含60,000个用于训练的示例和10,000个用于测试的示例。这些数字已经过尺寸标准化并位于图像中心图像是固定大小(28x28像素)其值为0到255。为简单起见每个图像都被平展并转换为784(28*28)个特征的一维numpy数组。 1.2 实验目的 学会如何搭建全连接神经网络。掌握搭建网络过程中的关键点。掌握分类任务的整体流程。 2.2 实验环境要求  推荐在华为云ModelArts实验平台完成实验也可在本地搭建python3.7.5和MindSpore1.0.0环境完成实验。 2.3 实验总体设计 创建实验环境在本地搭建MindSpore环境。 导入实验所需模块该步骤通常都是程序编辑的第一步将实验代码所需要用到的模块包用import命令进行导入。 导入数据集并预处理神经网络的训练离不开数据这里对数据进行导入。同时因为全连接网络只能接收固定维度的输入数据所以要对数据集进行预处理以符合网络的输入维度要求。同时设定好每一次训练的Batch的大小以Batch Size为单位进行输入。 模型搭建利用mindspore.nn的cell模块搭建全连接网络包含输入层隐藏层输出层。同时配置好网络需要的优化器损失函数和评价指标。传入数据并开始训练模型。 模型评估利用测试集进行模型的评估。 2.4 实验过程 2.4.1 搭建实验环境 Windows下MindSpore实验环境搭建并配置Pycharm请参考【机器学习】Windows下MindSpore实验环境搭建并配置Pycharm_在pycharm上安装mindspore_弓长纟隹为的博客-CSDN博客 官网下载MNIST数据集 MNIST handwritten digit database, Yann LeCun, Corinna Cortes and Chris Burges 在MNIST文件夹下建立train和test两个文件夹train中存放train-labels-idx1-ubyte和train-images-idx3-ubyte文件test中存放t10k-labels-idx1-ubyte和t10k-images-idx3-ubyte文件。 2.4.2  模型训练、测试及评估 #导入相关依赖库 import os import numpy as np from matplotlib import pyplot as plt import mindspore as ms #context模块用于设置实验环境和实验设备 import mindspore.context as context #dataset模块用于处理数据形成数据集 import mindspore.dataset as ds #c_transforms模块用于转换数据类型 import mindspore.dataset.transforms as C #vision.c_transforms模块用于转换图像这是一个基于opencv的高级API import mindspore.dataset.vision as CV #导入Accuracy作为评价指标 from mindspore.nn.metrics import Accuracy #nn中有各种神经网络层如DenseReLu from mindspore import nn #Model用于创建模型对象完成网络搭建和编译并用于训练和评估 from mindspore.train import Model #LossMonitor可以在训练过程中返回LOSS值作为监控指标 from mindspore.train.callback import LossMonitor #设定运行模式为动态图模式并且运行设备为昇腾芯片 context.set_context(modecontext.GRAPH_MODE, device_targetCPU) #MindSpore内置方法读取MNIST数据集 ds_train ds.MnistDataset(os.path.join(rD:\Dataset\MNIST, train)) ds_test ds.MnistDataset(os.path.join(rD:\Dataset\MNIST, test))print(训练数据集数量,ds_train.get_dataset_size()) print(测试数据集数量,ds_test.get_dataset_size()) #该数据集可以通过create_dict_iterator()转换为迭代器形式然后通过get_next()一个个输出样本 imageds_train.create_dict_iterator().get_next() #print(type(image)) print(图像长/宽/通道数,image[image].shape) #一共10类用0-9的数字表达类别。 print(一张图像的标签样式,image[label]) DATA_DIR_TRAIN D:/Dataset/MNIST/train # 训练集信息 DATA_DIR_TEST D:/Dataset/MNIST/test # 测试集信息def create_dataset(trainingTrue, batch_size128, resize(28, 28), rescale1 / 255, shift-0.5, buffer_size64):ds ms.dataset.MnistDataset(DATA_DIR_TRAIN if training else DATA_DIR_TEST)# 定义改变形状、归一化和更改图片维度的操作。# 改为28,28的形状resize_op CV.Resize(resize)# rescale方法可以对数据集进行归一化和标准化操作这里就是将像素值归一到0和1之间shift参数可以让值域偏移至-0.5和0.5之间rescale_op CV.Rescale(rescale, shift)# 由高度、宽度、深度改为深度、高度、宽度hwc2chw_op CV.HWC2CHW()# 利用map操作对原数据集进行调整ds ds.map(input_columnsimage, operations[resize_op, rescale_op, hwc2chw_op])ds ds.map(input_columnslabel, operationsC.TypeCast(ms.int32))# 设定洗牌缓冲区的大小从一定程度上控制打乱操作的混乱程度ds ds.shuffle(buffer_sizebuffer_size)# 设定数据集的batch_size大小并丢弃剩余的样本ds ds.batch(batch_size, drop_remainderTrue)return ds #显示前10张图片以及对应标签,检查图片是否是正确的数据集 dataset_show create_dataset(trainingFalse) data dataset_show.create_dict_iterator().get_next() images data[image].asnumpy() labels data[label].asnumpy()for i in range(1,11):plt.subplot(2, 5, i)#利用squeeze方法去掉多余的一个维度plt.imshow(np.squeeze(images[i]))plt.title(Number: %s % labels[i])plt.xticks([]) plt.show()# 利用定义类的方式生成网络Mindspore中定义网络需要继承nn.cell。在init方法中定义该网络需要的神经网络层 # 在construct方法中梳理神经网络层与层之间的关系。 class ForwardNN(nn.Cell):def __init__(self):super(ForwardNN, self).__init__()self.flatten nn.Flatten()self.relu nn.ReLU()self.fc1 nn.Dense(784, 512, activationrelu)self.fc2 nn.Dense(512, 256, activationrelu)self.fc3 nn.Dense(256, 128, activationrelu)self.fc4 nn.Dense(128, 64, activationrelu)self.fc5 nn.Dense(64, 32, activationrelu)self.fc6 nn.Dense(32, 10, activationsoftmax)def construct(self, input_x):output self.flatten(input_x)output self.fc1(output)output self.fc2(output)output self.fc3(output)output self.fc4(output)output self.fc5(output)output self.fc6(output)return outputlr 0.001 num_epoch 10 momentum 0.9net ForwardNN() #定义loss函数改函数不需要求导可以给离散的标签值且loss值为均值 loss nn.loss.SoftmaxCrossEntropyWithLogits( sparseTrue, reductionmean) #定义准确率为评价指标用于评价模型 metrics{Accuracy: Accuracy()} #定义优化器为Adam优化器并设定学习率 opt nn.Adam(net.trainable_params(), lr)#生成验证集验证机不需要训练所以不需要repeat ds_eval create_dataset(False, batch_size32) #模型编译过程将定义好的网络、loss函数、评价指标、优化器编译 model Model(net, loss, opt, metrics)#生成训练集 ds_train create_dataset(True, batch_size32) print( Starting Training ) #训练模型用loss作为监控指标并利用昇腾芯片的数据下沉特性进行训练 model.train(num_epoch, ds_train,callbacks[LossMonitor()],dataset_sink_modeTrue)#使用测试集评估模型打印总体准确率 metrics_resultmodel.eval(ds_eval) print(metrics_result)备注 若报错 AttributeError: ‘DictIterator’ object has no attribute ‘get_next’ 这是说MindSpore数据类中缺少 “get_next”这个方法但是在MNIST图像识别的官方代码中却使用了这个方法这就说明MindSpore官方把这个变成私密方法。 只需要在源码iterators.py中找到DictIterator这个类将私有方法变成公有方法就行了即去掉最前面的下划线。 参考mindspore 报错 AttributeError: ‘DictIterator‘ object has no attribute ‘get_next‘_create_dict_iterator_TNiuB的博客-CSDN博客 MindSpore:前馈神经网络时报错‘DictIterator‘ has no attribute ‘get_next‘_skytier的博客-CSDN博客 更多问题请参考Window10 上MindSpore(CPU)用LeNet网络训练MNIST - 知乎
http://www.w-s-a.com/news/424241/

相关文章:

  • 网站需要怎么做wordpress 重装
  • 做电影网站赚钱的方法世界500强企业排名2023
  • 领卷网站怎么做的西宁设计网站建设
  • 东莞网站建设价位软件开发税率是13%还是6
  • 企业网站建设一条龙如何在网上推广自己
  • 成品网站制作公司企梦网站建设
  • 网站开发微信授权登录ftp 如何 更新 wordpress
  • icp备案和网站不符查询公司的网站备案
  • 万江营销型网站建设泰安网站建设制作电话号码
  • 做网站是用ps还是ai服饰东莞网站建设
  • 只做一页的网站多少钱网站开发就业趋势
  • 陈村网站建设有哪些网站可以做店面设计
  • 查询网站注册信息wordpress 照片墙
  • 成都网站设计服务商室内设计设计师网站推荐
  • 企业建站系统cms百度网址ip
  • wordpress 代码编辑插件下载搜索引擎优化seo课程总结
  • 韩都衣舍网站建设的改进邯郸公众号小程序制作
  • 上海设计网站建设在线视频制作
  • 东营高端网站建设新建网站如何让百度收录
  • wordpress怎么生成网站地图微网站平台怎样做网站
  • 同安区建设局网站招投标公众号简介有趣的文案
  • 江苏州 网站制作网上宣传方法有哪些
  • 做网站时怎样申请域名郑州制作网站公司
  • 深圳 网站开发公司电话网站关键词快排名
  • 网站建设的工作总结seo同行网站
  • 网站需要兼容哪些浏览器sql数据库做的网站怎么发布
  • 营销型网站的建站步骤是什么意思广州门户网站建设公司
  • 汕尾好网站建设推广计算机软件包含网站开发
  • 建设工程施工许可证在哪个网站办wordpress更换主题白屏
  • 微交易网站建设wordpress摘要调用