python 調用gpu算力_教你免費使用百度云GPU算力提交深度學習任務

 2023-12-25 阅读 28 评论 0

摘要:深度學習任務,就算力來說,我們經常遇到兩個問題:一是算力不夠,二是價格太貴。最近百度的同學發布了一個免費使用百度云GPU算力提交深度學習任務的工具PaddleCloud,能夠幫助你一鍵快速發布深度學習任務,讓我們一起來看一看這個工具是

深度學習任務,就算力來說,我們經常遇到兩個問題:一是算力不夠,二是價格太貴。

最近百度的同學發布了一個免費使用百度云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 ?快速體驗!

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/194607.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息