深度学习实战篇之 ( 九) -- TensorFlow学习之路(六)

科普

飞桨(PaddlePaddle)以百度多年的深度学习技术研究和业务应用为基础,是中国首个自主研发、功能完备、 开源开放的产业级深度学习平台,集深度学习核心训练和推理框架、基础模型库、端到端开发套件和丰富的工具组件于一体。目前,飞桨累计开发者265万,服务企业10万家,基于飞桨开源深度学习平台产生了34万个模型。飞桨助力开发者快速实现AI想法,快速上线AI业务。帮助越来越多的行业完成AI赋能,实现产业智能化升级。

上一篇文章中,我们分享了模型训练过程中的权重初始化和损失函数构建以及模型准确率评判,如此基本的流程已经走完,下一步就是如何将数据导入网络,以及如何将网络的输出结果传递给损失函数和反向传播,下面就一起来看看吧。                                                   

网络具体训练

步骤:

1.数据声明和导入

2.网络输出结果传递给损失函数

3.梯度更新

4.训练日志打印

1.数据声明和导入:

数据的导入在进行run的时候导入即可

2-3.网络输出结果传递给损失函数:

网络的操作定义,以及将输出传递给损失函数 将loss传递给优化器更新

# run的时候即可执行全部的操作

4.训练日志打印

可以清楚的看到训练到第几个batch(step),几个eopoch(整个训练集迭代算一次),以及训练中的训练集测试准确率和 测试集的准确率。

训练结果展示: 

从图中可以看到训练效果是非常好的, 达到了90%以上,意味着我们的网络搭建非常不错,该模型能够很好的学习猫狗之间的去区别。

将所有操作融合在一起的训练总代码,由于分成了多个文件存放代码,下面将所有文件代码开放出来,只要老铁们跟我的数据集目录一致,这份代码即可运行。

1. 先放出img_train.py 也是总的main代码

2.数据读取  

3.模型代码:

结语

今天的分享结束了,主要是对之前的代码的一个整合和调用,最终直接执行主代码实现训练过程,模型训练一般在GPU上进行比较好,也更加快速,真心希望老铁们根据我的这份代码进行实际的训练,从而体会深度学习的乐趣,下期文章我们将会分享如何去使用我们训练保存后的模型进行实际的测试,训练好的模型就可以拿到多个地方使用,而不是每次都进行训练了。

周末愉快,下期再见!

编辑:玥怡居士|审核:小圈圈居士

往期精彩回顾

深度学习实战篇之 ( 八) -- TensorFlow学习之路(五)

深度学习实战篇之 ( 七) -- TensorFlow学习之路(四)

深度学习实战篇之 ( 六) -- TensorFlow学习之路(三)

过去的时光里,我们都做了啥:

【年终总结】2021,辞旧迎新再出发

【年终总结】辞旧迎新,2020,我们再出发

-扫码关注-

IT进阶之旅

我就知道你“在看”

猜你喜欢

转载自blog.csdn.net/xyl666666/article/details/117639340
今日推荐