自己电脑性能不达标,所以需要使用云平台来进行深度学习训练,在众多平台中比较之后,选择了阿里云。期初以为是租用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下载文件即可。
云服务器搭载业务,选择合适的平台最重要!
从目前国内云计算市场的格局来看,国内云计算前三强分别是阿里云、腾讯云和华为云,阿里云、腾讯云作为背靠互联网平台的企业,更偏向于B端用户;华为与作为传统的通信巨头,更偏向于G端。
当然如何选择服务器机型,这里有篇文档汇总的比较详细,文档地址:
云服务器哪家好!2021年阿里云、腾讯云、华为云的服务器配置及价格对比?
如果是高并发,高IO业务场景,需要确定服务器规格,可让业务应用性能发挥到最佳,参考官方文档:
阿里云服务器规格:规格实例族 - 云服务器 ECS
腾讯云服务器规格:规格实例族 - 云服务器CVM