從0開(kāi)始使用騰訊云GPU服務(wù)器

來(lái)源:簡(jiǎn)書(shū)
作者:Frony_Lee
時(shí)間:2020-07-30
4564
很多朋友表示:出國(guó)沒(méi)辦法帶GPU主機(jī)or MacOS不方便安裝外接顯卡,在此演示一種基于騰訊云(阿里云Google云相同)的GPU主機(jī)訓(xùn)練的配置指南。

很多同學(xué)表示:出國(guó)沒(méi)辦法帶GPU主機(jī)or MacOS不方便安裝外接顯卡

在此演示一種基于騰訊云(阿里云/Google云相同)的GPU主機(jī)訓(xùn)練的配置指南

在本文將講解三種方法,配置難度依次升高:

1.SSH到GPU主機(jī),然后使用shell命令運(yùn)行python代碼,完成模型訓(xùn)練

2.GPU主機(jī)開(kāi)放Jupyter Web服務(wù),瀏覽器中連接主機(jī)運(yùn)行python代碼

3.Pycharm連接到遠(yuǎn)程GPU主機(jī),在Pycharm中運(yùn)行代碼

PS:本文選擇騰訊云服務(wù)器的原因單純是因?yàn)楸阋?,沒(méi)有任何可用性/并發(fā)行/穩(wěn)定性的側(cè)重。

只要是SSH,那么連接方法都是通用的。意味著如果有連接實(shí)驗(yàn)室服務(wù)器的經(jīng)驗(yàn)就會(huì)簡(jiǎn)單很多。有所不同的是實(shí)驗(yàn)室服務(wù)器訓(xùn)練時(shí)所需數(shù)據(jù)集可以在服務(wù)器磁盤上,而云服務(wù)器的訓(xùn)練數(shù)據(jù)需要額外存儲(chǔ)/本地上傳。

1.示例代碼在CPU的訓(xùn)練時(shí)間(1.8GHz i5,8G DRAM)需要62.9秒

16977200-e2047e1c11f999a7.webp.jpg

2.騰訊云官網(wǎng)cloud.tencent.com,點(diǎn)擊購(gòu)買

16977200-8af5791e7a4f47c5.webp.jpg

3.選擇機(jī)器配置

一定要選【自定義配置】【按量計(jì)費(fèi)】【地區(qū)選跟自己近的】【GPU機(jī)型】【具體機(jī)型看實(shí)際需要-此示例選擇最便宜的P4】【鏡像市場(chǎng)-GPU服務(wù)器Ubuntu 18.04帶tensorflow】【按使用流量】

16977200-3d2a8907965ecaa3.webp.jpg

4.在鏡像市場(chǎng)中選擇鏡像

16977200-fb2c565e1c784296.webp.jpg

5.配置機(jī)器

【端口情況任意-本例選擇“放空全部端口”】【設(shè)置密碼】【不啟動(dòng)定時(shí)銷毀】。如果定時(shí)銷毀可能會(huì)導(dǎo)致訓(xùn)練未完成則被銷毀。最好的辦法是在訓(xùn)練的代碼最后保存模型,同時(shí)加一個(gè)云短信API,在訓(xùn)練結(jié)束時(shí)可以收到通知。

16977200-29020add1896c25f.webp.jpg

6.這步直接默認(rèn)開(kāi)通

16977200-598c7342346117e2.webp.jpg

7.開(kāi)通后可以在控制臺(tái)看到機(jī)器,記住IP地址,很重要。然后選擇登陸

16977200-3230148e11c569a2.webp.jpg

本次的IP是106.52.54.61

登陸有很多種,默認(rèn)選擇云上的terminal,可以有圖形頁(yè)面

如果選擇zsh,bash登陸的話,則用命令:

ssh-q-l ubuntu-p 22 106.52.54.61

8.云上直接輸密碼登陸(或使用剛剛提到的SSH命令,兩者相同?。?/strong>

16977200-abf33be60518da73.webp.jpg

登陸后是這樣

16977200-3bf57bfff34e9394.webp.jpg

9.驗(yàn)證GPU是否可以使用(可跳過(guò)本步)

使用三個(gè)命令來(lái)查看“PCI總線外接設(shè)備、CUDA版本、GPU使用情況”:

lspci

cat/usr/local/cuda/version.txt

nvidia-smi

16977200-cc8241bd18e6f601.webp.jpg

10.驗(yàn)證tensorflow是否可用GPU(可跳過(guò)本步)

在shell中使用python3

使用python語(yǔ)句:

import tensorflow as tf

sess=tf.Session(config=tf.ConfigProto(log_device_placement=True))

quit()#退出python,返回shell

16977200-2a140d4f3c3e9f87.webp.jpg

到此為止,全部配置就完成了??梢灾苯釉赽ash中創(chuàng)建python文件,使用python3命令運(yùn)行.py文件(tensorflow代碼)。

下面配置Jupyter Web服務(wù)

11.安裝Jupyter

按順序在bash中輸入命令:

pip3 install jupyter

echo PATH=~/.local/bin:$PATH>>.bashrc

echo export PATH>>.bashrc

source.bashrc

jupyter notebook--ip=0.0.0.0--port=8000

16977200-e31d561a7c3d5b15.webp.jpg

復(fù)制第二個(gè)紅框中的token!??!

12.遠(yuǎn)程登陸jupyter

瀏覽器輸入“IP:端口”,此例是https://106.52.54.61:8000。輸入剛才復(fù)制的token進(jìn)入jupyter。

16977200-74862f239228449d.webp.jpg

新建python3運(yùn)行環(huán)境

16977200-525f30f994fbd4d1.webp.jpg

13.運(yùn)行代碼

在這寫代碼運(yùn)行or把代碼粘到這運(yùn)行

16977200-26668d69e20a8863.webp (1).jpg

運(yùn)行結(jié)果:

16977200-de68f176903bc312.webp.jpg

只要11.2秒,遠(yuǎn)小于本地CPU所用的62.9秒

Jupyter Web可以遠(yuǎn)程訪問(wèn),通過(guò)瀏覽器運(yùn)行代碼。

最后是使用Pycharm,直接用Pycharm連接遠(yuǎn)程服務(wù)器

14.Pycharm中添加服務(wù)器

16977200-009a10ccda633ce8.webp.jpg

在【Preferences】中選【Deployment】【+】【SFTP】

16977200-754d4fea1dfbb9be.webp.jpg

輸入【服務(wù)器地址-106.52.54.61】【用戶名-ubuntu】【密碼】,然后測(cè)試連接是否成功

16977200-a40e3198a589f243.webp.jpg

連接成功

16977200-642451e4f324db9b.webp.jpg

配置“本地-服務(wù)器文件映射”【mapping】【本地路徑】【云上路徑(可直接寫“/”,會(huì)自動(dòng)配置。沒(méi)特殊要求,單純運(yùn)行代碼的話,此處不重要)】

15.配置運(yùn)行環(huán)境

在【preferences】中選擇【project interpreter】【V】【show all】(不選擇本地解釋器,選擇remote解釋器)

16977200-33e0df1ab8d1e76e.webp.jpg

點(diǎn)擊【+添加】

16977200-bf0d97aeac518e65.webp.jpg

選擇【SSH interpreter】【existing server configuration】【列表中選擇剛才的服務(wù)器】【Move this server to IDE setting】

16977200-1e45ed58980b55b1.webp.jpg

手動(dòng)寫明python3的路徑

16977200-e7e6383c2ae9e5d7.webp.jpg

成功后可以看到遠(yuǎn)程運(yùn)行環(huán)境中的配置,什么依賴Lib都沒(méi)有的話說(shuō)明導(dǎo)入失敗??梢钥吹絫ensorflow-GPU(還有Pytorch也在)

16977200-d9f0dc65fa129a48.webp.jpg

16.運(yùn)行

16977200-e8dcd4c9c60192f7.webp.jpg

點(diǎn)擊運(yùn)行

16977200-1ddb72d6f02b154d.webp.jpg

只需要7.7秒

寫在最后。本地CPU 62.9秒,Jupyter Web 11.2秒,Pycharm連接7.7秒。

阿里云和騰訊云在登陸名上有所差別,阿里云一般直接為root。

用完記得銷毀服務(wù)器

16977200-382e58ce04196f1e.webp.jpg

面向初次使用者,略了很多驗(yàn)證的步驟。改進(jìn)可以寫在下面。

一些答疑:

1.為什么示例代碼中沒(méi)有指定GPU的部分?tensorflow默認(rèn)調(diào)用最優(yōu)資源,這是配置云環(huán)境文章,不是tensorflow-GPU代碼教程。

2.為什么阿里云的服務(wù)器沒(méi)有這個(gè)鏡像?阿里云有一個(gè)基于CentOS的,一樣用。服務(wù)器的用戶登錄名不同,其他無(wú)所謂。

3.如何預(yù)估我的訓(xùn)練時(shí)間?沒(méi)辦法,靠經(jīng)驗(yàn)or先跑小樣本。

4.為什么我的Pycharm中沒(méi)有這個(gè)功能?professional版本才有這個(gè)功能,社區(qū)版沒(méi)有。

5.為什么我代碼在云上無(wú)法運(yùn)行?請(qǐng)查看對(duì)應(yīng)的tensorflow版本,請(qǐng)以云上版本為準(zhǔn)。如果有import 3rd Lib依賴,請(qǐng)寫在requirement.txt中。

6.我怎么知道我的代碼能不能運(yùn)行?先買小機(jī)器,再買大機(jī)器······

立即登錄,閱讀全文
原文鏈接:點(diǎn)擊前往 >
版權(quán)說(shuō)明:本文內(nèi)容來(lái)自于簡(jiǎn)書(shū),本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關(guān)文章
騰訊云數(shù)據(jù)庫(kù)PostgreSQL全面支持PG 17
騰訊云數(shù)據(jù)庫(kù)PostgreSQL全面支持PG 17
即日起,騰訊云PostgreSQL全面支持PostgreSQL 17.0。所有用戶可使用大版本升級(jí)能力升級(jí)至最新的PostgreSQL 17.0進(jìn)行體驗(yàn),也可以在產(chǎn)品購(gòu)買頁(yè)直接購(gòu)買。
騰訊云
云服務(wù)
2024-12-15
高可用這個(gè)問(wèn)題,加機(jī)器就能解決?
高可用這個(gè)問(wèn)題,加機(jī)器就能解決?
互聯(lián)網(wǎng)服務(wù)的可用性問(wèn)題是困擾企業(yè)IT人員的達(dá)摩克利斯之劍:防于未然,體現(xiàn)不出價(jià)值。已然發(fā)生,又面臨P0危機(jī)。就更別提穩(wěn)定性建設(shè)背后顯性的IT預(yù)算問(wèn)題與隱性的人員成本問(wèn)題。
騰訊云
云服務(wù)
2024-11-25
TDSQL TDStore引擎版替換HBase:在歷史庫(kù)場(chǎng)景中的成本與性能優(yōu)勢(shì)
TDSQL TDStore引擎版替換HBase:在歷史庫(kù)場(chǎng)景中的成本與性能優(yōu)勢(shì)
HBase憑借其高可用性、高擴(kuò)展性和強(qiáng)一致性,以及在廉價(jià)PC服務(wù)器上的低部署成本,廣泛應(yīng)用于大規(guī)模數(shù)據(jù)分析。
騰訊云
云服務(wù)
2024-11-04
復(fù)雜查詢性能弱,只讀分析引擎來(lái)幫忙
復(fù)雜查詢性能弱,只讀分析引擎來(lái)幫忙
隨著當(dāng)今業(yè)務(wù)的高速發(fā)展,復(fù)雜多表關(guān)聯(lián)的場(chǎng)景越來(lái)越普遍。但基于行式存儲(chǔ)的數(shù)據(jù)庫(kù)在進(jìn)行復(fù)雜查詢時(shí)性能相對(duì)較弱。
騰訊云
云服務(wù)
2024-11-02
優(yōu)質(zhì)服務(wù)商推薦
更多