深度學習任務,就算力來說,我們經常遇到兩個問題:一是算力不夠,二是價格太貴。
最近百度的同學發布了一個免費使用百度云GPU算力提交深度學習任務的工具PaddleCloud,能夠幫助你一鍵快速發布深度學習任務,讓我們一起來看一看這個工具是怎么做到的吧!
PaddleCloud介紹
PaddleCloud能夠幫助您一鍵發起深度學習任務,為您提供免費底層計算資源、或提供快速打通云上計算資源通道,支持您快速發起單機/分布式飛槳框架訓練任務,致力于推動AI應用更廣泛地落地。
1、核心優勢
使用PaddleCloud您將不需要配置繁瑣復雜的運行環境,內置飛槳框架幫您一鍵發起單機/分布式深度學習任務,同時,為您提供免費底層計算資源、或提供快速打通云上計算資源通道,即使是無算力、不懂框架的小白,十分鐘即可發起訓練任務!
簡單易用:十分鐘即可開始PaddlePaddle訓練任務
自定義:可自定義構建PaddlePaddle訓練代碼
任務管理:集成了訓練任務管理的能力
免費資源:提供一定量的免費GPU資源(針對每位用戶每天提供100分鐘的免費訓練資源)
按需付費:付費GPU資源可按需使用
以下是原有云付費的使用流程 vs PaddleCloud的使用流程對比
2、應用場景
1)需要GPU計算資源,但本地沒有GPU資源
2)本地有少量GPU資源,臨時需要按需使用云上GPU資源
3)集成到本地環境中,實現本地+云端一體化體驗
PaddleCloud的使用流程
結合房價預測模型的訓練為例,進行步驟講解,
fit-a-line(房價預測示例,是一個線性回歸房價預測示例(單機示例),本示例是基于paddle1.6版本,源代碼fit_a_line:https://github.com/PaddlePaddle/book/blob/for_paddle1.6/01.fit_a_line, 示例說明文檔fit-a-line文檔:https://github.com/PaddlePaddle/book/blob/for_paddle1.6/01.fit_a_line/README.cn.md。
對于使用房價預測示例提交任務且反饋意見的用戶,我們將挑選10位最佳反饋用戶贈送百度定制禮品,期望您來體驗和分享。意見反饋QQ群:1139713364
一、代碼結構
示例代碼目錄結構
.
├── 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)安裝python3環境和依賴庫
自行安裝Python3和pip3(Python3包安裝和管理工具)
安裝Python依賴庫
pip3 install requests
pip3 install rsa
2)下載命令行工具
PaddleCloud當前只支持命令行方式使用,暫時還不支持web方式
linux & mac
bash -c "$(curl -X GET http://ppoc-filecenter.bj.bcebos.com/install_paddlecloud_stable.sh)"; source ~/.bashrc
Windows
暫未開放,敬請期待
【第二步 申請并配置Token】
1)填入企業或組織郵箱,申請token,等待郵件通知(注意:有些郵件供應商可能會屏蔽該郵件或將郵件判別為垃圾郵件)
paddlecloud gen_token --email=
例如:paddlecloud gen_token --email=your_name@163.com
2)將郵件中的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
【第三步 提交任務】
直接執行如下命令即可將任務提交到計算集群上運行
// linux中使用該命令
sh submit.sh
也可以將submit.sh中的內容拿出來單獨執行,例如:
paddlecloud submit_job --files=job --start_cmd="sh run.sh"
// --files用來指定本地代碼和數據的目錄,本地的job目錄會被整體上傳到計算集群中
// --start_cmd指定任務的啟動命令,該命令會在計算集群上被執行
【第四步 查看任務】
1、查看任務詳情
$ 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
2. 查看作業目錄
$ 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
....
3. 查看作業日志
下載作業日志
$ 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
以上就是PaddleCloud產品的使用流程,想要了解更多,點擊?https://github.com/PaddlePaddle/PaddleCloud ?快速體驗!
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态