张小白教你如何使用TensorFlow 1.15(Windows GPU版)玩转LeNet网络
【摘要】 本文介绍了如何使用Windows GPU的tensorflow 1.15版本完成LeNet网络的模型训练。
LeNet是最适合初学者入门的卷积神经网络。张小白在 多个博文中都体验了这个网络,比如:
- MindSpore V1.0 https://bbs.huaweicloud.com/blogs/198324 (Part Five)
- MindSpore V1.1的PyNative特性 https://bbs.huaweicloud.com/blogs/242300
今天张小白就带你用 TensorFlow 1.15-GPU版本体验下这个吧。
首先,张小白自己的笔记本Windows 10 环境上,已经根据 《张小白教你安装Windows 10的GPU驱动(CUDA和cuDNN)》 https://bbs.huaweicloud.com/blogs/212446 安装了Nivdia显卡的驱动 CUDA 10.0和cnDNN 7.5。
张小白也在Windows 10上安装了 Anaconda。Anaconda包含了conda、Python等180多个科学包及其依赖项。特别适合在同一机器上创建不同的运行环境,以便运行不同的框架。比如张小白已经在这个环境下运行过 MindSpore,PyTorch和PaddlePaddle等深度学习框架,所以按理说TensorFlow框架也不在话下。
下面我们分几步完成具体的实验:
(1)创建conda的TensorFlow GPU运行环境
(2)下载LeNet的TensorFlow代码
(3)使用PyCharm跑通LeNet的训练代码。
(一)创建 TensorFlow环境
参考TensorFlow 官网 https://tensorflow.google.cn/install/pip?hl=zh_cn
tensorflow_gpu-1.15.0版本的配置要求:https://tensorflow.google.cn/install/source_windows?hl=zh_cn
CUDA 10.0已经满足,cuDNN官方要求是7.4,现在本机是7.5(当然这是源码编译的要求,pip包的要求这里没有提)
先用conda 创建Python 3.7.5的环境
conda create --name tensorflow_gpu python=3.7.5
...
激活环境 conda activate tensorflow_gpu
使用豆瓣源PIP安装tensorflow-gpu 1.15。注意安装时带的两个参数。
。。。
(二)下载LeNet网络的TensorFlow示例代码
下载代码
git clone https://gitee.com/lai-pengfei/LeNet.git
(三)使用PyCharm跑通代码
使用PyCharm打开刚才下载的LENET代码目录:
将PyCharm的环境指向 tensorflow-gpu的conda环境:
点击OK:可以看到tensorflow 1.15的环境。
在PyCharm右下角 有这个环境的标识:
修改代码中的一些配置
比如import input_data的方式
from tensorflow.examples.tutorials.mnist import input_data
修改完毕后,,执行python Train.py
...
系统提示:目前系统的cuDNN版本是7.5,但是源代码是用7.6编译的,所以不兼容。(简单的道理:高版本编译后的程序无法在低版本的驱动下运行)
我们重新按照 https://bbs.huaweicloud.com/blogs/212446 的步骤去下载并安装cuDNN 7.6 for CUDA 10.0版本:
下载好zip文件:cudnn-10.0-windows10-x64-v7.6.5.32.zip
将其解压后,覆盖 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0 下的同名目录。
再重新跑训练脚本:
此时可修改config.py配置参数,将MAX_ITER改为20000吧。这样精度高一点,而且时间也没那么长。。
精度为0.94。
把MAX_ITER还原成50000,再跑一遍:
精度为0.98,略有提高。
本文来源于论坛 https://bbs.huaweicloud.com/forum/thread-117665-1-1.html 本文亲自试验的记录贴。整理出来,希望大家能通过本文达到快速体验的目的。
由于张小白是个货真价实的小白,有何错漏之处,也希望大家及时指出,便于小白修正。(这样小白就可以升级到小白TWO了。)
(全文完,谢谢阅读)
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
张辉2021/08/11 03:45:021楼编辑删除举报
张小白带你体验昇腾CANN3.3.0 https://bbs.huaweicloud.com/blogs/254154
张小白教你如何使用TensorFlow 1.15(Windows GPU版)玩转LeNet网络 https://bbs.huaweicloud.com/blogs/254854
张小白手把手教你如何将Tensorflow框架的LeNet模型迁移到昇腾环境 https://bbs.huaweicloud.com/blogs/264500
昇腾CANN训练营第二期
【昇腾CANN训练营第二期】【应用营】第二周作业:MindX SDK环境安装和yolov3模型转换 https://bbs.huaweicloud.com/blogs/285668
【昇腾CANN训练营第二期】【应用营】第三周作业:使用MindX SDK运行图像检测和图像分类 https://bbs.huaweicloud.com/blogs/285675
【昇腾CANN训练营第二期】【应用营】高玩赛作业:使用MindStudio完成YoLoV5和ResNet50的推理开发 https://bbs.huaweicloud.com/blogs/289555
【昇腾CANN训练营第二期】【模型营】使用PyCharm的ModelArts插件训练LeNet网络 https://bbs.huaweicloud.com/blogs/281535
【昇腾CANN训练营第二期】【模型营】第二周作业1:使用MobileV2实现猫狗分类(MindSpore) https://bbs.huaweicloud.com/blogs/285678
【昇腾CANN训练营第二期】【模型营】第二周作业2:使用MobileV2实现手写数字识别(MindSpore)进阶作业低阶实现 https://bbs.huaweicloud.com/blogs/285682
【昇腾CANN训练营第二期】【模型营】第三周作业:使用GhostNet实现手写数字识别 https://bbs.huaweicloud.com/blogs/285686
【昇腾CANN训练营第二期】【模型营】高玩赛作业:深度学习之后的发展(一篇写跑了题的命题作文)https://bbs.huaweicloud.com/blogs/292833