之前看见稚晖君在动态里转发了昇腾训练营的宣传动态,翻了一下评论区,听说菜鸟也能参加,于是我就去了,一趟流程走下来,感觉还不错,蛮推荐小白去的。然后我在写大作业的时候也罢过程记录了下来,如果还有小白犹豫去不去的话,希望你看完这篇文章之后能鼓起去参加的勇气(头铁一点,xdm)。
下面是大作业的步骤
1.下载安装tensorflow,步骤如下
anaconda是个很舒服的东西,你也可以不安装anaconda,直接安装tensorflow。
我下面讲的是再anaconda环境里面安装tensorflow的一些操作:
1.先打开anaconda prompt,查看python的版本,我这里是3.6.4
2.创建tensorflow的环境,代码如下
conda create -n tensorflow(这里的tensorflow其实是环境的名字,你也可以写成abc之类的) python=3.x.x(你的python版本)
3.使用activate tensorflow(你刚刚的环境名字),进入之后如下图
这里可以看到你刚刚创建的环境的python的版本
4.在该环境中输入conda install tensorflow(gpu版本后面要加上-gpu)==xxx(xxx为版本,完成大作业的版本是tensorflow1.15)
下载太慢可以用以下命令,将国外镜像替换为清华的
pip install tensorflow-gpu==1.15 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
5.安装完成之后检查一下版本,先进入一下python环境(我电脑有两个环境,安装的步骤这里我是用2.1的环境演示)
import tensorflow as tf
#查看tensorflow版本
print(tf.__version__)
print('GPU', tf.test.is_gpu_available())
a = tf.constant(2.0)
b = tf.constant(4.0)
print(a + b)
我这里装的是GPU的版本,所以会有对应的GPU True出现
到这里,你电脑的tensorflow环境就安装成功了。看完安装步骤相信你应该意识到了,tensorflow就是一个python的包,(怪我傻,刚学完python语法啥都不会),由于我太笨,安装了七八次花了两天(捂脸)
2.安装pycharm和下载LetNet GPU代码
下载链接
pycharm下载地址:Download PyCharm: Python IDE for Professional Developers by JetBrains
(我这里下载的是社区版本)
下载项目代码仓:https://gitee.com/lai-pengfei/LeNet
下载完成pycharm之后配置一下环境,如果是真的菜,可以汉化一下()
先打开左上角文件进入设置进入这个页面在Marketplace里面下载汉化插件并安装[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
接下来选择到python解释器,选择刚刚安装好的tensorflow环境
1.打开项目->python解释器->点击右上角设置图标->找到anaconda环境并填写相应路径
记得选择tensorflow的环境,我这里仅仅是演示,可能并非是我安装的tnsorflow环境
2.将下载好的模型解压(浏览器的话)并在pycharm中打开
3.修改Train.py文件的代码
import tensorflow.examples.tutorials.mnist.input_data as input_data
修改为
from tensorflow.examples.tutorials.mnist import input_data
4.运行,结果如下
可以看到模型精度0.98左右,迭代了49900次
到这里,第一个任务就算是完成了,坚持到这的和我一样的菜鸡恭喜,10分拿到了
3.模型迁移
参考网址:
快速入门_昇腾CANN社区版(5.1.RC1.alpha001)_模型开发_TensorFlow模型迁移和训练_自动迁移和训练_华为云 (huaweicloud.com)
1.自动迁移:
1.tensorflow: Ascend TensorFlow Adapter - Gitee.com下载该迁移脚本并解压
2.安装依赖
安装依赖。
pip3 install pandas
pip3 install xlrd==1.2.0
pip3 install openpyxl
pip3 install tkintertable
pip3 install google_pasta
进入脚本安装路径:
执行
python main_win.py
注意,此处必须在tensorflow1.15环境下运行才能成功
弹出
填入相应路径进行迁移,迁移完成记得查看迁移报告
2.手动迁移
经观察多处出现tf.session(),sess.run等可判断,该模型我i第二类sess.run方式的模型,于是
在头文件加上:
from npu_bridge.npu_init import *
将
sess = tf.Session()
改为这段代码即可:
# sess = tf.Session()
# 修改为CANN sess.run迁移 参考https://support.huaweicloud.com/tensorflowdevg-cann330alphaXtraining/atlasmprtg_13_0009.html
config = tf.ConfigProto()
custom_op = config.graph_options.rewrite_options.custom_optimizers.add()
custom_op.name = "NpuOptimizer"
config.graph_options.rewrite_options.remapping = RewriterConfig.OFF # 必须显式关闭remap
sess = tf.Session(config=config)
4.安装昇腾环境所需工具并进行设置,跑通模型
1.安装pycharm 的modelarts插件及其设置
到https://console.huaweicloud.com/modelarts/?region=cn-north-4#/dashboard 下载PyCharm Toolkit
在刚刚安装汉化的地方安装本地插件:
安装重启后在左上角工具栏会出现如下
在华为云控制台里面我的凭证下创建访问密钥并下载[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
将密钥填入modelarts插件
2.安装obs++
步骤四:下载工具并初始化_对象存储服务 OBS_快速入门_华为云 (huaweicloud.com)
用刚刚保存好的密钥登陆obs++并创建桶
上传模型的数据集,将模型中的MINST_data文件夹上传即可
3.使用pycharm下发训练任务,跑通模型
在modelarts插件下打开如下[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
import moxing as mox
mox.file.copy_parallel(src_url="obs://mode-suye/MNIST_data/", dst_url="MNIST_data")
print(save_path)
mox.file.copy_parallel(src_url="MNIST_data/", dst_url="obs://mode-suye/ckpt/")#拷贝训练数据到moedlarts
填写好相应路径并保存运行,由于我是直接在npu上运行的,此处我就不展示了。
4.跑通之后,将环境换为npu环境
重新运行并等待结果如下图:
在modelarts上查看训练情况和日志
以及在obs++上查看传回文件
如果你做到了这里,恭喜你,你已经完成了大作业,菜鸡狂喜,能拿证书了(不包括附加题)。