用阿里云进行深度学习遇到的一些坑的总结
自己电脑性能不达标,所以需要使用云平台来进行深度学习训练,在众多平台中比较之后,选择了阿里云。期初以为是租用GPU服务器,但是这种方式有点类似于给你一台新电脑,上面什么软件都没有安装,需要自己去配置,配置比较麻烦,而且安装各种包的时候,是需要扣钱的。后来看到阿里云上有机器学习的产品,也就是PAI,用了一下,可以运行我的数据了,故把过程中遇到的问题总结在这里。
1.首先按照阿里云深度学习的介绍进行相关服务的开通和充值。这个文档中有用tensorflow做图像分类的案例,只是应用到具体模型中还存在着一些问题。
2.数据集最好先做成.tfrecords文件,这样可以快速地进行读写操作。然后上传到oss;多个代码文件可以用7zip打包成.tar.gz格式,再上传到oss;
3.代码文件中,将tensorflow所保存的checkpoint的路径设置为FALGS.checkpointDir,将读取tfrecords文件的路径设置为FLAGS.buckets;在主程序中使用:为什么这么做?因为查看PAI在运行时的日志,可以看出:PAI在执行的时候,会输入下面这些命令,所以通过解析这些命令,就可以获得对应的信息,从而使得PAI能够正确地去oss中读取文件,也能够正确地将文件写入到oss中。
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument('--buckets', type=str, default='',
help='tfrecords data path.')
parser.add_argument('--checkpointDir', type=str, default='',
help='checkpoint data path')
parser.add_argument('--summaryDir', type=str, default='',
help='summary path')
FLAGS = parser.parse_args()
train(check_path=FLAGS.checkpointDir, data_path=FLAGS.buckets,
log_path=FLAGS.summaryDir)
4.进入PAI,配置tensorflow的时候,
i)python代码文件需要选择oss里刚才所下载的那个.tar.gz压缩包;
ii)python主文件直接写上主文件名称即可,比如main.py
iii)数据源目录选择oss里面的tfrecords文件所在的文件夹
5.右键查看日志的时候,可以点击蓝色链接,打开log_view,
然后,双击ODPS Tasks下的内容,
之后,双击左侧的Tensorflow Task,
之后,
stdout可以查看程序的输出,stdErr可以查看程序运行的一些信息,比如说哪里出错了,可以用于排查。
6.训练完成之后,从oss下载文件即可。
推荐阅读