华为昇腾CANN训练营第一期模型营-第二周作业
TF代码准备
环境准备
华为昇腾910平台
Tensorflow1.15 + python 3.7.5
Modeldarts 以及Pycharm插件 (一站式开发平台,可以进行数据处理,模型训练,模型部署,没有存储功能)
OBS(对象储存服务,简单来说就是专门存储训练数据的)
代码下载:https://gitee.com/lai-pengfei/LeNet
代码修改,准备迁移
在train.py文件中
from npu_bridge.npu_init import *
from tensorflow.core.protobuf.rewriter_config_pb2 import RewriterConfig
import moxing as mox
main函数中修改为:
def main():
# 使用OBS上的数据进行训练,不能用自己本地的路径
mox.file.copy_parallel(src_url="obs://cannztq/MNIST_data/", dst_url="MNIST_data")
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True)
# 创建session
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)
batch_size = cfg.BATCH_SIZE
parameter_path = cfg.PARAMETER_FILE
lenet = Lenet()
max_iter = cfg.MAX_ITER
saver = tf.train.Saver()
if os.path.exists(parameter_path):
saver.restore(parameter_path)
else:
sess.run(tf.initialize_all_variables())
for i in range(max_iter):
batch = mnist.train.next_batch(50)
if i % 100 == 0:
train_accuracy = sess.run(lenet.train_accuracy,feed_dict={
lenet.raw_input_image: batch[0],lenet.raw_input_label: batch[1]
})
print("step %d, training accuracy %g" % (i, train_accuracy))
sess.run(lenet.train_op,feed_dict={lenet.raw_input_image: batch[0],lenet.raw_input_label: batch[1]})
save_path = saver.save(sess, parameter_path)
# 将本地的权重文件复制到OBS上
mox.file.copy_parallel(src_url="checkpoint/", dst_url="obs://cannztq/ckpt")
sess.close()
sess.close()是最好要写的,在NPU上训练没问题,但是后续会有问题。
配置Modelarts
若没有授权ModelArts访问您的OBS数据,功能将不能正常使用。
首先进入华为云官网
准备华为云账号
申请AK/SAK,这就像一个钥匙,链接本地与服务器的
先进入账号中心

点击管理我的凭证


然后提示下载一个表格,里面是相关信息。
上面搜索框搜索Modelarts,进入其控制台
首先选择全局配置,然后切换至北京4(目前只有北京四支持NPU训练),然后将刚刚下载的密钥填进去就可以了

最后下载个pycharm插件,方便大家在本地修改代码,使用插件进行上传
直接点击总览,在最下面点击下载Pycharm Tookit,然后打开pycharm安装 ,file-setting。。

重启一下IDE,然后在菜单栏找到Modelarts,点击后选择edit,输入AK/SAK就完成了
下载配置OBS
同样搜索进入OBS控制台

点击下载,选择对应系统,点击下载 OBS Browser+,然后安装
登录,还是需要 AK/SAK

创建桶,这时候记得还选择北京四

然后进入桶,上传代码中自带的数据

然后配置下pycharm,进入刚刚的modelarts插件就可以

最后运行情况

最后看到OBS中我们创建的模型文件夹中有了模型文件

打开modelarts控制台

看到调用了NPU说明没问题了。

830

被折叠的 条评论
为什么被折叠?



