驰骋AI Challenger赛场神器 UCloud AI训练平台使用技巧

近日,由创新工场联合搜狗、今日头条发起的“AI Challenger全球AI挑战赛”已经启动,中国领先云计算服务商UCloud作为大赛唯一的AI GPU合作方,为大赛独家提供AI模型训练服务(UCloud AI Train)。为便于AI Challenger参赛选手更好地准备竞赛和答题,UCloud为大赛官方提供一系列AI训练平台使用技巧讲解活动。

官方支持

2017年9月12日晚20:00,UCloud实验室人工智能专家范融为参赛选手和AI爱好者提供了一场精彩的讲解,内容涵盖了AI训练服务概述和功能特性、简单的Tensorflow Mnist案例及竞赛使用技巧等几个方面。

UCloud AI训练服务核心优势

  • 基于P40显卡集群、12TFlops的单精度性能,能够帮助选手快速提交训练任务;
  • 利用Docker容器技术,选手无需安装运行环境,仅需本地拥有Docker客户端,即可通过UCloud提供的基础镜像和自动打包工具,将本地代码打包至Docker容器,验证运行结果;
  • 使用按需收费策略。只有当选手提交的训练任务实际启动时才会计算费用。并且,通过对任务的实时监控,选手可在任意时间点中止训练,帮助选手将每一分钱都用在刀刃上。

 

UCloud AI训练服务功能特性

1.本地代码一键打包

  • 代码打包过程

选手代码–>引入uflag.py替换参数–>调用tf_deploy.py打包工具–>本地CPU镜像验证代码–>提交训练任务(选择对应GPU镜像)。

2.在线训练实时监控

  • 执行阶段监控:待执行、启动中、执行中、停止中、异常、中止、完成;
  • 训练实时日志:5秒轮训刷新,历史日志在UFile;
  • TensorBoard实时图表:实时查看,数据上传UFile。

简单几步Tensorflow Mnist轻松上线

在了解了AI训练服务的特性以后,下面将以Tensorflow官网的Mnist数字识别算法为案例,看看如何经过几步轻松的调整,就能将一个普通的AI训练任务在UCloud AI训练平台上运行起来。

第一步:调整代码参数引用
假设现已经有了从TensorFlow官网拷贝下来的mnist_summary.py文件。要改写这个文件的前提是它能被UCloud AI训练服务使用。那么,首先需要在本地安装UCloud SDK,安装方式如下文所述。改写代码的主要目的是使原有训练代码的传参方式符合AI训练服务的规范。参考代码已经给出了改写完成的mnist_summary.py。

1.下载SDK:
git clone https://github.com/ucloud/uai-sdk
cd uai-sdk
sudo python setup.py install

2.参考代码
https://github.com/ucloud/uai-sdk/blob/master/examples/tensorflow/train/mnist_summary_1.1/mnist_summary.py

3.本地代码修改方法

3.1增加import uflag
34行:from uaitrain.arch.tensorflow import uflag

3.2检查UCloud固定参数只可引用,不可修改

  • 程序执行路径(FLAGS.work_dir):/data
    一般不涉及引用
  • 输入数据根路径(FLAGS.data_dir):/data/data

44行: mnist = input_data.read_data_sets(FLAGS.data_dir, one_hot=True)

  • 输出数据根路径(FLAGS.output_dir):/data/output

180行: save_path = saver.save(sess, FLAGS.output_dir + “/model.ckpt”)

  • TensorBoard数据根路径(FLAGS.log_dir):/data/output

144行: train_writer = tf.summary.FileWriter(FLAGS.log_dir + ‘/train’, sess.graph)

145行: train_writer = tf.summary.FileWriter(FLAGS.log_dir + ‘/test’)

3.3(可选)其他可变参数使用tf.app.flags注册

第二步:一键打包

1.拷贝工具tf_deploy.py

2.调用参数:

2.1<>参数与UCloud账号相关

  • 需要用到参赛选手注册的UCloud账号、密码、公钥、私钥、镜像仓库等信息,获取方法详见参赛注册邮件中的《Docker使用指南》。

2.2绿色参数与代码存放路径层次相关(见图)

  • code_path为训练代码所在根路径,必须以相对路径形式填写;
  • test_data_path,test_output_path为训练数据和训练结果的本地测试路径,这两个路径必须以绝对路径填写。

2.3橘色参数用户可自定义

  • uhub_imagename,uhub_imagetag是打包后的镜像名称和标签,选手可以自行命名;
  • train_params与上一步中自定义参数呼应,可传入用户自定义参数(在本例中为learning_rate的参数),该参数不会固化在镜像中,而是用于生成训练启动命令,用户可以在每次提交任务时,对参数值进行修改。

3.调用结果:

3.1本地测试:CPU镜像、“CMD for CPU local test”命令

3.2记录信息:GPU镜像名称、“CMD Used for deploying”命令

第三步:提交训练数据

1.上传数据
使用官方数据可省略此步,直接使用官方路径URL。

2.获取地址
截取URL地址到前缀,形如:http://yourbucket.ufile.ucloud.com.cn//yourprefix/。

第四步:提交训练任务

参数说明:
1.公钥、私钥:见《UFile使用指南》
2.代码镜像路径:切换“用户镜像”选择打包工具生成的GPU镜像
3.数据输入路径:
自加工数据:截取URL地址到前缀,形如:http://yourbucket.ufile.ucloud.com.cn//inputprefix/

官方数据,按照赛道填写:

图像中文描述:

http://ai-challenger-caption.cn-bj.ufileos.com//ai_challenger_caption_train_20170902/

场景分类:

http://ai-challenger-scene.cn-bj.ufileos.com//ai_challenger_scene_train_20170904/

人体骨骼关键点:

http://ai-challenger-keypoint.cn-bj.ufileos.com//ai_challenger_keypoint_train_20170902/

数据输出路径:可在输入路径上修改,

形如:http://yourbucket.ufile.ucloud.com.cn//outputprefix/

4.训练启动命令:uaitrain_cmd.txt文件“CMD Used for deploying”命令

小结:TensorFlow训练程序迁移
第一步:改写代码引用uflag固定参数(Flag.data_dir,Flag.output_dir,Flag.log_dir);
第二步:使用tf_deploy.py打包上传镜像;
第三步:训练数据上传Ufile(可省略);
第四步:填写“创建训练任务”表单。

竞赛使用Tips
1.使用本地CPU镜像做验证
利用本地打包工具生成的CPU可行性镜像做好本地测试验证,以免在服务端再报错,浪费训练赠予的时间。
2.自己加工TFRecords训练数据
使用TFRecords加工训练数据,并在UFile中提交自己的训练数据,这样可大大节省数据加载时间(官方数据集加载时间约4小时 )。
3.控制日志打印频率
控制训练过程中的标准输出流打印频率,过多打印日志会带来不必要的IO交互,减缓训练程序的运行。
4.及时中止异常训练
充分利用实时日志及TensorBoard图表监控训练异常,如果出现数据趋势不符合预期或过拟合的情况,应及时停止训练,调整参数。
5.做好checkpoint保存和加载
做好checkpoint保存和加载,在训练达到最大时间或训练所在服务器异常时,能保证中间训练结果保存到UFile。以便后续可以重启任务继续训练,不必重头开始。

UCloud人工智能解决方案

除了上面介绍的AI训练服务之外,UCloud拥有一套完整的公有云AI解决方案:在IaaS层,UCloud提供P40显卡为核心的强大GPU云主机;在PaaS层,提供AI在线服务、AI训练服务。这能够让用户专注算法,屏蔽项目落地过程中可能出现的技术问题(如选型深度学习框架、搭建运行环境、保障集群高可用等)。最后,UCloud安全屋会保证数据交互的保密性、完整性和可追踪性。希望这整套解决方案,能帮助越来越多优秀的个人、高校、企业及团队实现AI项目的落地,推动国家科技进步。

附录
以下是6个使用指南视频,希望能够帮助大家更快地使用UCloud AI产品。
1.如何获取项目名称:https://v.qq.com/x/page/z0549j3myvm.html
2.如何获取API公钥私钥:https://v.qq.com/x/page/o0549mjo41v.html
3.如何使用UHub上传下载训练代码镜像:https://v.qq.com/x/page/r0549kmgezl.html
4.如何使用UFile上传下载训练数据:https://v.qq.com/x/page/j0549lfef1n.html
5.如何使用AI Train启动训练任务:https://v.qq.com/x/page/v05494giezu.html
6.实名认证:https://v.qq.com/x/page/d05497c1uyt.html

转载于:https://my.oschina.net/u/3675312/blog/1539016

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值