阿里云深度学习采坑记

服务器

浏览数:23

2019-9-11

原因

打算研究下AI,以便不那么落后于这个时代,但是看了看,搞一个能支持AI算法的显卡就要天文数字。所以找到了阿里云的PAI平台,打算跑跑自己写的算法,采坑无数,搞了两天才搞定。

基本流程

阿里云提供了官方的教程:如果打算把自己的深度学习代码到阿里云PAI上运行的话,照着官方文档去试试:https://help.aliyun.com/document_detail/49571.html?spm=a2c4g.11186623.6.570.1c3564f9tpM92k#读OSSBucket

踩过的坑(需要注意事项)

数据文件

自己写的python代码本身读取数据和保存模型都在本地,可能做了硬编码,如果要迁移到阿里云,需要从OSS上读写文件。那么需要做下修改

1、 首先需要设置一个让获得阿里云关于OSS配置的参数

if __name__ == '__main__':
        parser = argparse.ArgumentParser()
        parser.add_argument('--buckets', type=str, default='',help='input data path')
        parser.add_argument('--checkpointDir', type=str, default='',help='output model path')
        FLAGS, _ = parser.parse_known_args()

2、在程序中这样获得数据文件和模型保存的位置

tfrecords_file = os.path.join(FLAGS.buckets, "post_train.tfrecords")
        
        checkpoint_path = os.path.join(FLAGS.checkpointDir, 'model.ckpt')

关于编码

这个搞了很久老失报错有不合法代码,在每个文件头部加上# encoding: utf-8

文件分目录

这个问题也让我抓狂很久,我写的时候,比较随意,把数据文件,模型文件和python写一个文件夹下面了,到了阿里云就很难跑起来。后来把代码放在一个单独的文件夹,数据文件一个文件夹,然后给checkpoint和模型单独一个文件夹。

多代码文件一定要打包

多个代码文件,需要打包成.tar.gz的格式,进行上传

关于如何在windows下面制作.tar.gz的方法:http://blog.sina.com.cn/s/blog_535b828801010cb6.html

一定要在tensorflow的节点前面先选择一个读OSS_bucket的节点:

具体如下

作者:bbird2018