亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在pycharm中運行和調試torch分布式訓練

發布時間:2021-12-04 19:30:45 來源:億速云 閱讀:900 作者:柒染 欄目:大數據

這篇文章給大家介紹如何在pycharm中運行和調試torch分布式訓練,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

現在很多深度學習研究開源代碼都會使用pytorch框架,原因之一就是在torch中,只要你定義好了一個module,你就可以輕易的用  torch.distributed  將其應用到單機多GPU或者多機多GPU的場景中,加速模型的收斂速度。    

但是在所有github項目的readme中,都是僅給出了如何在命令行模式下使用分布式的方法。對于需要在  Pycharm或其他IDE  進行調試的研究者就不太適用。

環境

    PyTorch 1.1.0    PyCharm 2020.1

分析Readme參數設置

首先,我們需要查看項目的Readme文件是如何使用分布式訓練的,以備后面將參數設置在Pycharm中。

python -m torch.distributed.launch --nproc_per_node=4 tools/train.py --cfg xxx.yaml

python -m torch.distributed.launch --nproc_per_node=4 表示調用  torch.distributed.launch    這個.py文件進行分布式訓練;  --nproc_per_node=4  說明創建節點數為4,這個值通常與訓練使用的GPU數量一致。
tools/train.py --cfg xxx.yaml 是真正的訓練文件,后面的  --cfg xxx.yaml    是train.py 使用時需要給出的執行參數名稱和值。

軟鏈接distributed文件

通過對調用分布式的命令分析,我們首先需要找到  torch.distributed.launc  h  這個文件,并將它軟鏈接到我們的Pycharm項目目錄下。為什么使用軟鏈接而不是直接復制呢?因為軟鏈接不會變更文件的路徑,從而使得  launch.py  文件可以不做任何改動的情況下去  import  它需要的包。
在Ubuntu中,通過以下命令創建軟鏈接

ln -s /yourpython/lib/python3.6/site-packages/torch/distributed/ /yourprogram/

以上命令沒有直接鏈接launch.py而是它的父目錄distributed,是因為這樣比較容易知道launch.py是一個軟鏈接,不與項目中的其他文件混淆。

設置Pycharm運行參數

打開Pycharm,依次點擊Run->Edit Configurations 進入參數配置界面:

如何在pycharm中運行和調試torch分布式訓練

如何在pycharm中運行和調試torch分布式訓練

只需要配置Script path為launch.py路徑;Parameters為launch.py運行參數,參考命令行調用的方法,設置如下。


--nproc_per_node=4tools/train.py --cfg xxx.yaml
通過以上步驟就可以在Pycharm中運行分布式訓練了。  不過,如果是在調試模型最好還是修改一下trian.py文件,通過單GPU方式調試,并不是說分布式模式不能調試,僅僅是因為在單GPU方式下,對于數據流更好把控,減少調試時間。

關于如何在pycharm中運行和調試torch分布式訓練就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

凤城市| 龙里县| 城口县| 温州市| 理塘县| 永安市| 府谷县| 叙永县| 京山县| 勃利县| 新营市| 聂荣县| 汉源县| 兖州市| 拉萨市| 南汇区| 营山县| 健康| 西林县| 抚顺县| 澄迈县| 正蓝旗| 确山县| 蓬安县| 纳雍县| 宜川县| 寻甸| 耿马| 都安| 营口市| 嵊泗县| 尉氏县| 青阳县| 高邮市| 延边| 澄城县| 上犹县| 大埔县| 芦溪县| 岳普湖县| 安塞县|