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

常州钟楼建设局网站中国建筑装饰装修官网

常州钟楼建设局网站,中国建筑装饰装修官网,大连建设工程信息网官网首页,a站(原理和程序基本框架请参见前一篇 用C语言构建了一个简单的神经网路) #xff11;#xff0e;准备训练和测试数据集 从http://yann.lecun.com/exdb/mnist/下载手写数字训练数据集, 包括图像数据train-images-idx3-ubyte.gz 和标签数据 train-labels-idx1-ubyte.… (原理和程序基本框架请参见前一篇 用C语言构建了一个简单的神经网路) 准备训练和测试数据集 从http://yann.lecun.com/exdb/mnist/下载手写数字训练数据集, 包括图像数据train-images-idx3-ubyte.gz 和标签数据 train-labels-idx1-ubyte.gz. 分别将他们解压后放在本地文件夹中解压后文件名为train-images-idx3-ubyte和train-labels-idx1-ubyte 训练数据集一共包含了6万个手写数字灰度图和对应的标签 为图方便我们直接从训练数据集中提取5000个作为测试数据当然实际训练数据中并不包含这些测试数据 设计神经网络 采用简单的三层全连接神经网络包括输入层(wi)中间层(wm)和输出层(wo)这里暂时不使用卷积层,下次替换后进行比较 输入层: 一共20个神经元每一张手写数字的图片大小为28x28将全部展平后的784个灰度数据归一化即除以255.0, 使其数值位于[0 1]区间这样可以防止数据在层层计算和传递后变得过分大将这784个[0 1]之间的数据与20个神经元进行全连接神经元激活函数用func_ReLU 中间层: 一共20个神经元与输入层的20个神经元输出进行全连接神经元激活函数用func_ReLU 输出层: 一共10个神经元分别对应0~9数字的可能性与中间层的20个神经元输出进行全连接层的激活函数用func_softmax 特别地神经元的激活函数在new_nvcell()中设定层的激活函数直接赋给nerve_layer-transfunc 损失函数: 采用期望和预测值的交叉熵损失函数func_lossCrossEntropy. 损失函数在nvnet_feed_forward()中以参数形式输入 训练神经网络 由于整个程序是以nvcell神经元结构为基础进行构建的其不同于矩阵/张量形式的批量数据描述因此这个神经网络只能以神经元为单位逐个逐层地进行前向和反向传导 相应地这里采用SGD(Stochastic Gradient Descent)梯度下降更新法即对每一个样本先进行前向和反向传导计算接着根据计算得到的梯度值马上更新所有参数与此不同mini-batch GD采用小批量样本进行前向和反向传导计算然后根据累积的梯度数值做次参数更新显然,采用SGD方法参数更新更加频繁计算时间相应也变长了不过据网文分析采用SGD也更容易趋近全局最优解尽管逼近的途径会比较曲折本文程序中的分批计算是为了方便监控计算过程和打印中间值当然要实现mini-batch GD也是可以的先完成一批量样本的前后传导计算期间将各参数的梯度累计起来,  最后取其平均值更新一次参数 这里使用平均损失值mean_err0.0025来作为训练的终止条件为防止无法收敛到此数值同时设置最大的epoch计数. 训练的样本数量由TRAIN_IMGTOTAL来设定, 训练时先读取一个样本数据和一个标签分别存入到data_input[28*28]和data_target[10], 为了配合应用softmax函数,这里data_target[]是one-hot编码格式读入样本数据后先进行前向传导计算nvnet_feed_forward()接着进行反向传导计算nvnet_feed_backward(), 最后更新参数nvnet_update_params(), 这样就完成了一个样本的训练如此循环计算完成一次所有样本的训练(epoch)后计算mean_err, 看是否达到预设目标. 测试训练后的神经网络 训练完成后对模型进行简单评估方法就是用训练后的模型来预测(predict)或推理(infer)前面的测试数据集中的图像数据将结果与对应的标签值做对比 同样将一个测试样本加载到data_input[], 跑一次nvnet_feed_forward()直接读取输出层的wo_layer-douts[k] (k0~9)如果其值大于0.5就认为模型预测图像上的数字是k. 小结 取5万条训练样本进行训练训练后再进行测试其准确率可接近94% 与卷积神经网络相比较为达到相同的结果全连接的神经网络的所需要的训练时间会更长. 6实验和改进 可以先将28*28的图片下采样到14*14后再连接到输入层这样可以提高速度 可以试着调整输入层和中间层的神经元数目 也可以试着调整单个神经元的输入连接方式 源代码 https://github.com/midaszhou/nnc 下载后编译: make TEST_NAMEtest_nnc2
http://www.huolong8.cn/news/297141/

相关文章:

  • 旅游类网站开发开题报告范文app下载网址
  • 做可动模型的网站制作个人网页的过程
  • 网站建设服务商优秀网文
  • 网站制作软件培训网页设计图片在左文字在右
  • 淄博网站开发淄博网站建设优化上汽
  • 医院招聘网站建设和维护企业网站建设需要提供什么材料
  • 金耀网站建设网站制作重庆秀山网站建设报价
  • 沈阳网站制作公司哪家好办一家建筑公司怎么样
  • 品牌网站建设小蝌蚪1a网站备案认领
  • 个人网站名称wordpress数据库连接不上
  • php做网站速成vi设计欣赏网站
  • 三亚旅游攻略西安seo优化排名
  • 怎么用ftp工具上传网站源码免费公司网站如何建立设计
  • 淄博网站建设hiddd百年建筑网
  • 民权平台网站建设html5网站图标
  • 学做烘焙的网站深圳定制网页
  • 怎么网站是什么语言做的app外包网站
  • 六安网站建设 220百度seo优化技术
  • 外包网seo文章推广
  • vs2017做的网站如何发布yandx引擎入口
  • 徐州做网站的公司有几家设计网页推荐
  • 中国视觉设计网站网站推广方法渠道
  • 重庆建设技术发展中心网站如何看待百度竞价排名
  • 品牌网站建设權威大蝌蚪石家庄软件外包
  • 淄博做网站建设公司建个人网站有什么好处
  • 单页面网站 万网x3优设设计师网站
  • 设计一个网站多少钱网站建设哪家专业
  • 网站登录失败怎么回事外贸网站如何做推广电话
  • 轻量级网站开发移动营销
  • 剑网三魁首怎么做网站深圳软件公司排行