国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > Pytorch入門之配置云服務器環境

Pytorch入門之配置云服務器環境

來源:千鋒教育
發布人:xqq
時間: 2023-11-07 13:41:10 1699335670

Pytorch簡介

Pytorch底層是Torch框架,Torch框架是一個科學計算框架,擁有一個與Numpy類似的張量操作庫。非常靈活,但是它的語言是Lua,比較小眾,因此沒有廣泛流行。

后來開發團隊在Torch的基礎上包裝了一層Python的Api,使得我們可以通過Python來進行調用。它是由Facebook的人工智能小組開發維護的,目前在業內也非常流行,尤其是學術界,幾乎清一色的Pytorch。它擁有兩個最大的優點,一個是動態網絡,像是TensorFlow等框架定義出來的神經網絡是靜態的,一旦寫死不能輕易改變。但是Pytorch我們可以零延遲地改變任何神經網絡。第二個有點是具有強大的GPU加速計算的工具,Pytorch的GPU加速非常好用。

另外Pytorch的語法更加簡潔規范,更加Pythonic,學習曲線也更平穩一些。寫出來的代碼更加容易理解,更適合初學者。

當然由于誕生的時間還短,并且在工業界的普及度還不如TensorFlow,所以它也有一些短板,比如一些底層的文檔不夠完善,一些功能欠缺等等。在我個人的學習和使用當中,我的體驗非常好,因此如果你沒有學過深度學習的框架的話,推薦使用它作為你的第一門框架。

云服務器既然是深度學習的框架,那么最好是能夠擁有GPU環境。但是對于我們大多數人而言,GPU環境并不是一個容易的事情。比如我是Mac黨,本身的機器就沒有N卡,外接也不方便。當然沒有GPU用CPU硬肝也是可以的,不過發熱很嚴重,對電腦也有損傷。所以,最好的辦法就是租借網上的GPU云服務器或者是云服務。

查看原文

因為我是特邀用戶,所以我拿到了內部優惠的大師碼,如果要購買其他GPU云服務器的話,可以在付款的時候輸入我的大師碼2323,可以再享受9折優惠。

當然你也可以購買裝好環境的Notebook,或者是按照時常購買。Notebook好處是預裝了各種環境,上手可用,但是缺點是不支持定制化,一些操作不太方便。畢竟有了云服務器可以自己搭建Notebook,但是Notebook并不支持服務器的功能。

如果你想要使用其他云服務器平臺,可以查看我之前的文章

想要學深度學習但是沒有GPU?我幫你找了一些不錯的平臺

環境配置為了防止一些小白租借了機器不會用,接下來提供一下配置環境的詳細教程(基于滴滴云)。如果你用的別家的服務器,由于環境不一定完全相同,所以可能并不一定適用,只能當做參考。

總之我們整個流程是:安裝Python3,安裝jupyter,配置jupyter遠程訪問,安裝Pytorch。

這些是明面上的流程,如果機器環境不健全,還會有一些隱藏流程。比如說普通的Linux環境需要配置apt-get,還需要下載git,wget等常用工具。如果沒有cuda驅動的話,還需要自己安裝cuda配置。如果其中的步驟出現了問題,還需要分析問題的原因解決問題。所以說配置環境說起來簡單,但是實際操作的時候問題并不少。

安裝Python3

yuminstallpython36

安裝jupyternotebook

sudopip3installipythonjupyternotebooklab

設置jupyter的密碼

jupyternotebookpassword

生成jupyternotebook的配置,這個配置默認不存在,需要我們通過這個命令來生成。

jupyternotebook--generate-config

運行之后,會返回配置文件所在的路徑:

我們用vim打開,修改其中的幾行:

c.NotebookApp.ip='0.0.0.0'

c.NotebookApp.open_browser=False

c.NotebookApp.port=8888#可以自己指定

我們需要將本地的端口和遠程進行綁定,這樣我們就可以在本地打開遠程的jupyter了。這一行代碼當中我們將本地的8899綁定了遠程的8888端口。這里的8888端口就是上面配置當中的遠程的jupyter端口。

sshdc2-user@116.85.10.225-L127.0.0.1:8899:127.0.0.1:8888

如果你喜歡的話,還可以安裝一下jupyterlab

sudopip3installjupyterlab

使用方法和notebook類似,在遠程執行命令開啟jupyter

jupyterlab--allow-root

當我們用完了云服務器之后,要記得刪除機器。但由于平臺機器數量有限,根據當前平臺的設置,關機之后依然會為用戶保留資源,但是前提是需要付費。如果你是按時租的服務器顯然不能接受自己沒在使用還需要付費。針對這個問題,我們可以通過快照來解決。我們在關機之前先創建快照:

然后刪除云服務器,下次重新創建服務器的時候選擇從快照創建。這樣下次創建的機器還可以保留當前的配置和數據,而且也不需要扣費了。如果你嫌麻煩的話,還可以加我的微信聯系我,我幫你找到工作人員加入關機免扣費的白名單。

我們用pip安裝一下Pytorch和一些其他需要用到的包。安裝好了,之后,我們通過torch.cuda.is_avaiable()查看一下cuda的情況,如果輸出是True,那說明已經安裝好了。

tensorPytorch當中很重要的一個概念就是tensor,它直譯過來是張量,TensorFlow當中的tensor也是這個意思。我們可以認為tensor是一個高維的數組。當它是0維的時候就是一個數,一個標量。當它是一維的時候就是一個向量,二維的時候是一個矩陣,多維的時候是高維的數組。它和Numpy當中的數組類似,不過Tensor可以使用GPU進行加速。

我們通過torch當中的接口來初始化tensor,和Numpy當中的數組類似,它支持好幾種初始化的方式。

empty函數創建一個指定大小的未初始化的tensor,當中的元素內容是不可保證的。

rand創建一個隨機初始化的數組:

ones和zeros創建全是0或者全是1的數組:

我們可以傳入類型指定元素的類型

我們也可以通過現成的數組創建tensor:

這些創建函數都有對應的like方法,可以傳入一個已有的tensor,創建出一個和它一樣大小的新的tensor來。

這里只是列舉了常用的幾種,官方的api當中還有其他的幾種創建tensor的方式:

除此之外,tensor還支持從numpy的數組當中創建,我們可以利用from_numpy函數來實現:

同理,我們也可以通過numpy函數,從一個tensor得到numpy的數組:

還可以通過tolist方法將tensor轉化成Python的數組:

函數功能

Tensor(*sizes)基礎構造函數

tensor(data,)類似np.array的構造函數

ones(*sizes)全1Tensor

zeros(*sizes)全0Tensor

eye(*sizes)對角線為1,其他為0

arange(s,e,step)從s到e,步長為step

linspace(s,e,steps)從s到e,均勻切分成steps份

rand/randn(*sizes)均勻/標準分布

normal(mean,std)/uniform(from,to)正態分布/均勻分布

randperm(m)隨機排列

我們在創建tensor的時候不僅可以指定它們的類型,還可以指定它們存放的設備。比如是CPU還是GPU。當然前期我們暫時用不到這點,只需要記得即可。

總結這是Pytorch的第一篇文章,我們簡單了解了一下這個框架,以及它當中tensor這個數據結構。簡單來說,我們可以用常用的Numpy去類比它。基本上Numpy當中有的功能它都有,它還有一些自己特性Numpy沒有的api。但不管怎么說,萬變不離其宗,tensor的用處就是為了方便我們處理數據的。

關于Pytorch中tensor的用法還有很多,實在是沒有辦法在一篇文章當中窮盡,所以這里只是簡單介紹,具體的用法將會放在下一篇文章當中,讓我們下周再見吧。

以上內容為大家介紹了Pytorch入門之配置云服務器環境,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。

tags: python培訓
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT