PaddleCloud能够帮助您一键发起深度学习任务,为您提供免费底层计算资源、或提供快速打通云上计算资源通道,支持您快速发起单机/分布式Paddle框架训练任务,致力于推动AI应用更广泛地落地。
怎么样使用 免费使用目前的免费策略,每位用户每天任务总运行时长不得超过100分钟,同时运行中的任务不能超过2个,每个任务运行时间限定不超过30分钟(将根据用户使用情况灵活调整)
使用步骤:
1)下载PaddleCloud命令行工具(目前仅支持命令行工具)
2)填入企业或个人邮箱,申请token,等待邮件通知
3)将邮件中的token填入客户端配置文件
4)开始提交训练任务
付费使用支持使用百度云付费GPU(付费BCC GPU虚拟机)按需跑训练任务,仅在任务运行过程中收取BCC GPU虚拟机费用,任务运行完自动结束计费
使用步骤:
1)注册百度云账号并实名认证,在账号中提前充入部分资金
2)下载PaddleCloud命令行工具(目前仅支持命令行工具)
3)配置百度云账号ak/sk
4)开始提交训练任务
快速开始 准备环境- 安装python3环境和依赖库
1)自行安装Python3和pip3(Python3包安装和管理工具)
2)安装Python依赖库
pip3 install requests
pip3 install rsa
- 下载命令行工具
PaddleCloud当前只支持命令行方式使用,暂时还不支持web方式
linux & mac
bash -c "$(curl -X GET http://ppoc-filecenter.bj.bcebos.com/install_paddlecloud_stable.sh)"; source ~/.bashrc
Windows
暂未开放,敬请期待
开始使用免费使用
目前的免费策略,每位用户每天任务总运行时长不得超过100分钟,同时运行中的任务不能超过2个,每个任务运行时间限定不超过30分钟(将根据用户使用情况灵活调整)
填入企业或个人邮箱,申请token,等待邮件通知(注意:有些邮件供应商可能会屏蔽该邮件或将邮件判别为垃圾邮件)
paddlecloud gen_token --email=
例如:paddlecloud gen_token --email=张三@163.com
将邮件中的token填入命令行工具的配置文件
登陆自己的邮箱,查收Baidu PaddleCloud邮件,将token对应的ak/sk依次填入命令行中
paddlecloud gen_token --email=
create_token...
Paste your ak here:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Paste your sk here:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
create_token done
也可以将token对应的ak/sk复制并粘贴到~/bin/paddlecloud/conf/client.conf文件中(先找到该文件并用编辑器打开后在粘贴)
// 注:如下内容仅为示例,以自己收到的邮件中的内容为准
[main]
debug = 0
userid: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ak: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
sk: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
付费使用
百度云BCC计费说明,PaddleCloud自动性价比较好的套餐
-
百度云实名认证并开通BCC权限,在账号中提前充入部分资金
按照百度云BCC文档完成 BCC注册及实名认证
注:仅需完成注册及实名认证即可,无需手动购买BCC,提交GPU训练任务时,PaddleCloud会自动帮您购买BCC GPU/CPU计算资源,并按照BCC的收费标准进行计费,PaddleCloud本身不产生额外费用
- 注册
- 实名认证
配置百度云账号AK/SK
[bcc]
ak: // 私人的百度云虚拟化计算资源Access Key
sk: // 私人的百度云虚拟化计算资源Secret Key
[bos]:
ak: // 私人的百度云虚拟化存储资源Access Key
sk: // 私人的百度云虚拟化存储资源Secret Key
注意:此处的两套AK/SK可以保持一致, 使用付费资源时,需要在命令行中加入--public_bcc=1参数
先按照文档 获取百度云AK/SK(如果已拿到百度云AK/SK,可以跳过此步骤;此处的百度云AK/SK区别于免费的token)
将百度云AK/SK填入命令行工具的配置文件 打开安装目录在~/bin/paddlecloud/client.conf文件,将百度云AK/SK信息填入到该文件中
一键开始GPU训练
- 提交训练任务(以plsc任务为例,这里将PLSC内置到了命令行工具里,了解详情可参考:大规模分类示例)
paddlecloud plsc
- 查看任务详情
paddlecloud query_job --job_id=job-b4b917843790cc7964ca49d776457004
- 下载任务目录
paddlecloud get_files --job_id=job-b4b917843790cc7964ca49d776457004 --download=1
fit-a-line(房价预测)示例
示例代码目录结构
.
├── job: 示例任务父目录,用paddlecloud命令行提交任务时配置--file=./job,可将该目录提交到计算集群上
│ ├── data: data目录用来存放训练和测试数据集的本地目录,提交训练任务后,该目录会被整体上传到计算集群中
│ │ ├── train_data: 训练数据集的目录,可将训练数据放到该目录下,提交任务时会将该目录上传(或者挂载)到集群的计算节点上
│ │ ├── test_data: 测试数据集的目录,可将测试数据放到该目录下,提交任务时会将该目录上传(或者挂载)到集群的计算节点上
│ ├── run.sh: 训练任务的启动脚本,主要用来调起任务的python脚本,例如:python train.py,该脚本是在计算集群上被调用
│ ├── train.py: 具体的算法代码,此处的是房价预测的paddle组网代码
├── submit.sh: 提交任务的脚本,该脚本会调用paddlecloud命令行工具,将训练数据data和训练代码train.py、运行脚本run.sh提交到计算集群中,需要在自己的机器上执行,并且需要先下载并安装paddlecloud命令行工具,该脚本仅支持linux和mac上使用
说明
1)data目录用来存放训练和测试数据集的本地目录,提交训练任务后,该目录会被整体上传到计算集群中;该目录名称可以按需修改为其他名称,在训练代码中使用时需要相应修改。
2)train.py是训练相关的代码,run.sh是任务运行脚本,提交训练任务后,这些脚本都将被上传到集群中,并且在集群中运行
3)train_data和test_data是data的子目录,用来区分训练数据集和测试数据集,作为data的子目录,提交训练任务后,该目录会被整体上传到计算集群中。
在计算集群上获取该路径的方法是:
LOCAL_DATA_PATH = os.getenv("LOCAL_MOUNT_PATH") # LOCAL_MOUNT_PATH内置的环境变量,直接获取该值即可
cluster_train_dir = LOCAL_DATA_PATH + "/data/train_data" # 计算节点上训练数据的路径
使用说明
1、安装paddlecloud命令行工具
-
安装python3环境和依赖库
1)自行安装Python3和pip3(Python3包安装和管理工具)
2)安装Python依赖库
pip3 install requests pip3 install rsa
-
下载并安装命令行工具
PaddleCloud当前只支持命令行方式使用,暂时还不支持web方式
- linux & mac
bash -c "$(curl -X GET http://ppoc-filecenter.bj.bcebos.com/install_paddlecloud_stable.sh)"; source ~/.bashrc
- Windows
暂未开放,敬请期待
-
免费使用
目前的免费策略,每位用户每天任务总运行时长不得超过100分钟,同时运行中的任务不能超过2个,每个任务运行时间限定不超过30分钟(将根据用户使用情况灵活调整)
-
填入企业或个人邮箱,申请token,等待邮件通知(注意:有些邮件供应商可能会屏蔽该邮件或将邮件判别为垃圾邮件)
paddlecloud gen_token --email= 例如:paddlecloud gen_token --email=张三@163.com
-
将邮件中的token填入命令行工具的配置文件
登陆自己的邮箱,查收Baidu PaddleCloud邮件,将token对应的ak/sk依次填入命令行中
paddlecloud gen_token --email= create_token... Paste your ak here:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Paste your sk here:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx create_token done
也可以将token对应的ak/sk复制并粘贴到~/bin/paddlecloud/conf/client.conf文件中(先找到该文件并用编辑器打开后在粘贴)
// 注:如下内容仅为示例,以自己收到的邮件中的内容为准 [main] debug = 0 userid: xxx ak: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx sk: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-
-
付费使用
百度云BCC计费说明,PaddleCloud自动性价比较好的套餐
-
百度云实名认证并开通BCC权限,在账号中提前充入部分资金
按照百度云BCC文档完成 BCC注册及实名认证
- 注册
- 实名认证
注:仅需完成注册及实名认证即可,无需手动购买BCC,提交GPU训练任务时,PaddleCloud会自动帮您购买BCC GPU/CPU计算资源,并按照BCC的收费标准进行计费,PaddleCloud本身不产生额外费用
-
配置百度云账号AK/SK
- 先按照文档 获取百度云AK/SK(如果已拿到百度云AK/SK,可以跳过此步骤;此处的百度云AK/SK区别于免费的token)
- 将百度云AK/SK填入命令行工具的配置文件 打开安装目录在~/bin/paddlecloud/client.conf文件,将百度云AK/SK信息填入到该文件中
[bcc] ak: // 私人的百度云虚拟化计算资源Access Key sk: // 私人的百度云虚拟化计算资源Secret Key [bos]: ak: // 私人的百度云虚拟化存储资源Access Key sk: // 私人的百度云虚拟化存储资源Secret Key
注意:此处的两套AK/SK可以保持一致, 使用付费资源时,需要在命令行中加入--public_bcc=1参数
-
直接执行如下命令即可将任务提交到计算集群上运行
// linux中使用该命令
sh submit.sh
也可以将submit.sh中的内容拿出来单独执行,例如:
paddlecloud submit_job --files=job --start_cmd="sh run.sh"
// --files用来指定本地代码和数据的目录,本地的job目录会被整体上传到计算集群中
// --start_cmd指定任务的启动命令,该命令会在计算集群上被执行
4. 查看任务详情
$ paddlecloud query_job --job_id=job-d22c1fffb768d9b0748def85b158f303
bos_url: paddlecloud-public.bj.bcebos.com/dd9d92e3dad72633c5053c718203204d/job
create_time: 2020-05-18 11:24:53
error_msg:
finish_time: 2020-05-18 11:26:14
instance_count: 1
instance_ids_list:
job_id: job-d22c1fffb768d9b0748def85b158f303
job_name: tmp_job
job_status: success
job_type: gpu
kill_flag: 0
public_bcc: 1
public_bos: 1
queue_reason:
start_cmd: sh run.sh
start_time: 2020-05-18 11:25:12
wall_time: 00:30:00
5. 查看作业目录
$ paddlecloud get_files --job_id=job-d22c1fffb768d9b0748def85b158f303
2285758331454547565081a3eb37e538/job/output/job-d22c1fffb768d9b0748def85b158f303/ 0 2020-05-19T06:39:03Z
2285758331454547565081a3eb37e538/job/output/job-d22c1fffb768d9b0748def85b158f303/log/trainer-0.log 9649 2020-05-19T06:39:53Z
2285758331454547565081a3eb37e538/job/output/job-d22c1fffb768d9b0748def85b158f303/rank-0/__model__ 5322 2020-05-19T06:39:47Z
2285758331454547565081a3eb37e538/job/output/job-d22c1fffb768d9b0748def85b158f303/rank-0/fc_0.b_0 28 2020-05-19T06:39:47Z
2285758331454547565081a3eb37e538/job/output/job-d22c1fffb768d9b0748def85b158f303/rank-0/fc_0.w_0 78 2020-05-19T06:39:47Z
....
6. 查看作业日志
- 下载作业日志
$ paddlecloud get_files --job_id=job-d22c1fffb768d9b0748def85b158f303 --download=1
- 查看日志列表
$ ll output/2285758331454547565081a3eb37e538/job/output/job-d22c1fffb768d9b0748def85b158f303/log
drwxrwxr-x 3 work work 4096 May 18 11:29 ./
drwxrwxr-x 3 work work 4096 May 18 11:29 ../
drwxrwxr-x 2 work work 4096 May 18 11:29 trainer-0.log
- 查看日志
$ cat output/2285758331454547565081a3eb37e538/job/output/job-d22c1fffb768d9b0748def85b158f303/log/trainer-0.log
博文参考