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

如何绑定网站室内装修设计收费标准

如何绑定网站,室内装修设计收费标准,简单企业网站模板免费,自适应网站内容做多大尺寸(原理和程序基本框架请参见前一篇 "用C语言构建了一个简单的神经网路") 1.准备训练和测试数据集 从http://yann.lecun.com/exdb/mnist/下载手写数字训练数据集, 包括图像数据train-images-idx3-ubyte.gz 和标签数据 train-labels-idx1-ubyte.…

59bc0d11101b414b8ec3a3ce89e498b7.jpg

(原理和程序基本框架请参见前一篇 "用C语言构建了一个简单的神经网路")

1.准备训练和测试数据集
从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个作为测试数据.当然,实际训练数据中并不包含这些测试数据.


2.设计神经网络
采用简单的三层全连接神经网络,包括输入层(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()中以参数形式输入.

3.训练神经网络
由于整个程序是以nvcell神经元结构为基础进行构建的,其不同于矩阵/张量形式的批量数据描述,因此这个神经网络只能以神经元为单位,逐个逐层地进行前向和反向传导.
相应地,这里采用SGD(Stochastic Gradient Descent)梯度下降更新法,即对每一个样本先进行前向和反向传导计算,接着根据计算得到的梯度值马上更新所有参数.与此不同,mini-batch GD采用小批量样本进行前向和反向传导计算,然后根据累积的梯度数值做1次参数更新.显然,采用SGD方法参数更新更加频繁,计算时间相应也变长了.不过,据网文分析,采用SGD也更容易趋近全局最优解,尽管逼近的途径会比较曲折.本文程序中的分批计算是为了方便监控计算过程和打印中间值.(当然,要实现mini-batch GD也是可以的,先完成一批量样本的前后传导计算,期间将各参数的梯度累计起来,  最后取其平均值更新一次参数.)
这里使用平均损失值mean_err<=0.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, 看是否达到预设目标.

4.测试训练后的神经网络
训练完成后,对模型进行简单评估.方法就是用训练后的模型来预测(predict)或推理(infer)前面的测试数据集中的图像数据,将结果与对应的标签值做对比.
同样,将一个测试样本加载到data_input[], 跑一次nvnet_feed_forward(),直接读取输出层的wo_layer->douts[k] (k=0~9),如果其值大于0.5,就认为模型预测图像上的数字是k.

5.小结
取5万条训练样本进行训练,训练后再进行测试,其准确率可接近94%.
与卷积神经网络相比较,为达到相同的结果,全连接的神经网络的所需要的训练时间会更长.

6.实验和改进
可以先将28*28的图片下采样到14*14后再连接到输入层.这样可以提高速度.

可以试着调整输入层和中间层的神经元数目.

也可以试着调整单个神经元的输入连接方式...

源代码:
https://github.com/midaszhou/nnc
下载后编译:
make TEST_NAME=test_nnc2

ca7ccbb483734fa191163ce2b05ce968.png

http://www.sczhlp.com/news/102006/

相关文章:

  • 苏州建站网站模板郑州app软件定制
  • 网站页面设计教程南昌格网科技
  • 网站建设开放的端口南通建设网站公司
  • asp.net网站开发介绍做感恩网站的图片素材
  • 做网站电商如何将网站上传到空间
  • 建一个个人网站需要多少钱辽宁省电力建设网站
  • 网站开发公司臻动成品网站源码68w68游戏
  • 常州企业免费建站福建省建设厅网站节能办
  • 网站页面设计收费建设淘宝网站的市场分析
  • 跟我一起做网站 下载网络推广是干嘛的可以做吗
  • 建设解锁卡网站首页网站动态小图标
  • 东莞公司网站建设营销型网站建设喀什建设网站
  • 本地网站建设多少钱信息大全做外贸网站的价格
  • 网站开发准备流程图网站建设需要哪些步骤
  • 德州做网站建设的公司哪家好wordpress 插件大全
  • 聊天网站建设河南艾特 网站建设
  • 崇信县门户网站最新留言正能量网站地址链接免费
  • 南昌网站建设设计网站客户端开发
  • 写文案的网站长岭建设局网站
  • seo系统是什么呼和浩特网站seo优化方案
  • 建一个网站报价融资平台公司是什么意思
  • 加盟类网站建设青岛制作网页公司
  • 网站竞价推广都有哪些wordpress安装完怎么恢复数据库
  • 罗湖网站设计公司哪家好广州网站建设服务哪家好
  • 哪一个网站可以做任务拿佣金工作服定制
  • 洛阳有做网站开发的吗北京网页设计公司兴田德润优秀
  • 哪个网站做图文素材多帝国网站程序
  • 有哪个网站能卖自己做的衣服网站开发电商项目的成本管理怎么写
  • Unity的VisualStudio工程链接不同步、显示异常处理方法
  • 免费简历模板的网站欧美电影免费网站