原因
打算研究下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和模型单独一个文件夹。
多代码文件一定要打包
关于如何在windows下面制作.tar.gz的方法:http://blog.sina.com.cn/s/blog_535b828801010cb6.html