首页
/
每日頭條
/
科技
/
pytorch深度學習基礎課程
pytorch深度學習基礎課程
更新时间:2024-11-30 00:14:42

Python開發環境的安裝與配置;

使用PyCharm進行程序的開發與調試;

今天,我們再來介紹如何在PyCharm中配置深度學習環境,并在後續章節中通過實例來演示深度學習在圖像處理方面的應用。雖然Python平台下有許多深度學習框架,如TensorFlow、Keras、Theano以及Mxnet等,不過老碼農還是喜歡使用PyTorch,本文就以PyTorch為例進行配置。

PyTorch簡介

PyTorch的前身是Torch,使用Lua語言開發,Torch是一個基于BSD License的開源科學計算框架,最初版本于2002年發布,廣泛應用于機器學習領域,受益于Lua語言的特性,它即簡單易用又高效,為了提高性能,底層使用C/CUDA實現。其的核心特性如下:

  1. 功能強大的N維數組,也稱之為張量;
  2. 為數組索引、切片、轉置等操作提供了多種方法;
  3. 通過LuaJIT提供了一個非常好的C語言接口;
  4. 線性代數支持程序;
  5. 神經網絡與基于能量的模型;
  6. 數學優化程序;
  7. 快速高效的GPU支持;
  8. 可嵌入IOS和Android後台。

pytorch深度學習基礎課程(工欲善其事必先利其器)1

PyTorch的前身Torch

PyTorch複用了Torch的底層框架,使用Python重新改寫了很多功能,使得PyTorch更加靈活。它最初于2017年1月,由Facebook FAIR(臉書人工智能研究院)推出,現在的最新版本已經升級到1.5,除了提供Python接口外,它還提供C 接口,使用戶可以通過更高效的C 語言來調用訓練好的PyTorch模型。目前PyTorch即可以運行于支持CUDA的GPU,也可以直接在CPU運行(當然,速度會慢很多)。

PyTorch的設計追求最少的封裝,它的設計遵循張量->自動求導->模型三個由低到高的抽象層次,這三層之間緊密聯系,這種簡潔的設計使得該庫易于學習和使用。PyTorch的源碼隻有TensorFlow的十分之一左右,但是PyTorch的簡潔不以速度為代價,在許多評測中,同樣的算法,PyTorch的速度表現都勝過了其它框架。個人認為,PyTorch框架是衆多機器學習框架中設計最優雅的一個。

Cuda簡介與安裝

CUDA(Compute Unified Device Architecture)是著名顯卡廠商英偉達推出的一套并行計算架構,該架構充分利用GPU的并行特性,能夠高效的解決許多複雜的計算問題,開發人員可以使用C/C ,FORTRAN等多種語言編寫CUDA程序,目前CUDA已經被廣泛的用于處理計算量巨大的複雜問題,特别是以神經網絡為基礎的深度學習領域。

pytorch深度學習基礎課程(工欲善其事必先利其器)2

支持并行計算的CUDA

在安裝CUDA之前确保系統已經安裝支持CUDA開發的GPU及其驅動,在Windows下可以通過設備管理器查看當前系統安裝的GPU型号,然後可以根據型号查看該GPU對CUDA的支持情況,如下圖:

pytorch深度學習基礎課程(工欲善其事必先利其器)3

通過設備管理器查看顯卡類型

在确認支持CUDA後,可以搜索也可以直接輸入網址打開CUDA工具包頁面,這裡有相關工具的介紹,見下圖:

pytorch深度學習基礎課程(工欲善其事必先利其器)4

CUDA開發包

點擊CUDA Toolkit下面的下載按鈕進入下載頁面,根據自己的軟硬件平台選擇合适的選項,如下圖:

pytorch深度學習基礎課程(工欲善其事必先利其器)5

選擇CUDA版本

默認情況下會下載最新的10.2版本,如果想下載其它版本可選擇Legacy Releses按鈕進入曆史版本頁面,如下圖:

pytorch深度學習基礎課程(工欲善其事必先利其器)6

CUDA曆史版本

選擇需要的版本,将進入與最新版本類似的下載選項頁面,下載完成後,打開安裝包,根據根據提示完成安裝即可。

PyTorch安裝

PyTorch中有大量的numpy數組操作,所以在安裝PyTorch之前需要先安裝numpy,此外在實際應用中根據數據分析的需要,一般還會安裝如scipy、pandas、matplotlib等庫,在本示例中我們就一并安裝。打開windows命令行窗口(linux是終端,命令略有差别),輸入命令如下圖:

pytorch深度學習基礎課程(工欲善其事必先利其器)7

安裝Numpy等庫

因為numpy已經安裝,所以直接跳過。Scipy庫因為沒有安裝需要下載,老碼農百兆寬帶,下載速度卻隻能可憐以kb計,關鍵是有時候還會出錯,為了解決這個問題,在網上找到了國内的鏡像服務器,輸入命令如下圖:

pytorch深度學習基礎課程(工欲善其事必先利其器)8

使用高内鏡像下載

這次速度快了很多,一會兒就下載完成并安裝成功,見下圖:

pytorch深度學習基礎課程(工欲善其事必先利其器)9

依賴庫安裝成功

依賴庫安裝成功,準備工作就緒,正式開始PyTorch安裝,打開PyTorch官網,如下圖:

pytorch深度學習基礎課程(工欲善其事必先利其器)10

PyTorch官網安裝頁面

選擇1.5穩定版,喜歡嘗鮮的小夥伴也可以選擇預覽版(不穩定,存在潛在問題),選擇系統、安裝方式、編程語言、CUDA版本後,會在最下方給出運行命令,正常情況下隻需要将該命令複制并在終端窗口執行即可完成安裝。

不幸的是,上面官方給出的安裝方式,對于國内的廣大用戶來說,存在下載速度太慢,甚至無法安裝的問題,老碼農在不同地方嘗試都會出現下面問題(翻牆是一種解決辦法),見下圖:

pytorch深度學習基礎課程(工欲善其事必先利其器)11

直接使用官方安裝方式會出錯

針對這一問題,老碼農找到了一個有效的解決辦法,打開上面命令最後的網址,會看到如下圖内容:

pytorch深度學習基礎課程(工欲善其事必先利其器)12

PyTorch安裝文件列表

這裡顯示的是所有可用版本的輪子文件列表,在這裡選擇自己需要的版本,然後通過右鍵複制鍊接,再通過一些下載工具來下載,比如老碼農使用迅雷來下載,很快就能完成。在這裡需要注意的是,除了要下載PyTorch的輪子文件外,如果是做圖像處理方面的應用,需要一并下載TorchVision的輪子文件,安裝方式與PyTorch安裝類似。

關于文件命名做個簡要說明,見下圖:

pytorch深度學習基礎課程(工欲善其事必先利其器)13

文件命名規則

文件名主要包含四個關鍵信息,依次是CUDA版本、PyTorch版本、Python版本和系統架構,TorchVision的命名與此類似。

下載完成後,直接通過輪子文件安裝,會非常高效,安裝完成後會得到如下結果:

pytorch深度學習基礎課程(工欲善其事必先利其器)14

PyTorch安裝成功

CPU版PyTorch安裝與GPU版類似,不同的是CPU版不需要GPU支持,所以在沒有GPU顯卡的系統也可以運行,也不需要安裝CUDA開發包,此外在選擇CUDA版本的時候選擇None即可,見下圖:

pytorch深度學習基礎課程(工欲善其事必先利其器)15

CPU版PyTorch安裝選項

在安裝完成之後,測試一下PyTorch是否能正常工作,在命令行窗口依次輸入如下圖的命令:

pytorch深度學習基礎課程(工欲善其事必先利其器)16

測試PyTorch是否安裝成功

如果能看到類似上面的輸出結果(這裡生成的是一個随機的4x5張量,所以每個人的輸出結果會各不相同),那麼恭喜你,PyTorch已經安裝完畢,可以開始深度學習相關的開發了。

在PyCharm中使用PyTorch

打開PyCharm,輸入類似上面的測試代碼,并運行程序,如果運行成功,那麼恭喜你。不過有些小夥伴可能會出現如下錯誤:

pytorch深度學習基礎課程(工欲善其事必先利其器)17

PyCharm中出現錯誤

其實這個錯誤的原因很簡單,雖然我們已經安裝了PyTorch庫,但是PyCharm并不知道,所以需要在PyCharm中導入這些内容,可以通過菜單File->Setting->Project->Project Interpreter設置,見下圖:

pytorch深度學習基礎課程(工欲善其事必先利其器)18

解釋器設置

點擊紅框中的 号,會出現下面的包管理頁面:

pytorch深度學習基礎課程(工欲善其事必先利其器)19

包管理器

左側是可用的有效包列表,因為此處列出的包過多,可以通過紅框1出輸入包名搜索,選中需要的包後,右側會出現描述信息,同時可以在紅框2處指定想要安裝的版本号和特殊選項。最後點擊紅框3出的按鈕安裝包即可。

再次測試,出現如下結果:

pytorch深度學習基礎課程(工欲善其事必先利其器)20

PyCharm中測試成功

至此,我們已經可以在PyCharm中使用PyTorch進行深度學習相關的開發。雖然PyTorch是一個優秀的開發框架,但是要想靈活高效的使用它,還需要不斷的學習和實踐。

後記

在下一篇文章中,老碼農準備通過一個實例程序來演示使用PyTorch進行圖像處理方面的深度學習應用開發,敬請期待。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
手機碰磁鐵會怎麼樣
手機碰磁鐵會怎麼樣
不管智能手機怎麼發展,一旦它們靠近磁鐵,人們就會開始擔心屏幕被扭曲、存儲的重要文件被抹除,磁鐵似乎變成了手機殺手,事實真的是這樣的嗎?我們有必要分析一下磁鐵可能對手機造成的影響,消除未知的恐懼。人們之所以會産生磁鐵能夠毀掉數碼設備的擔心,是...
2024-11-30
一個手機号可以注冊兩個微信号嗎
一個手機号可以注冊兩個微信号嗎
一個手機号可以注冊兩個微信号嗎?一個手機号碼可以注冊兩個微信,在注冊第二個微信前,用戶需要将第一個微信綁定的手機号更換成其它手機号首先打開微信,然後在微信底部找到并打開“我的”,接着找到并打開“設置”,點擊打開後,選擇“賬号與安全”,接着點...
2024-11-30
新系統流的末世小說排行榜
新系統流的末世小說排行榜
《末世反派重生》來源:番茄小說字數:116萬字标簽:末世|科幻|基建|種田|完結點評:很好的一篇文,女主前世遭遇折磨,今生隻想毀滅世界卻被系統逼着做好人,時冷時熱被大家以為人格分裂。而她也從冷血無情慢慢被男主及救下的隊友感化真的變成了一個好...
2024-11-30
拍照續航性價比比較高的手機推薦
拍照續航性價比比較高的手機推薦
端午假期就要來了。除了吃喝玩樂外,大家最關心的就是在各種景點拍照打卡的問題了。但關于“端午拍照如何選機”問題,很多人都會糾結是入手長續航機型的好,還是選拍照強的機型好。不再糾結,成年人當然是全都要!今天咱們來聊聊這6款手機值得入手的拍照手機...
2024-11-30
excel怎麼快速隔行插行
excel怎麼快速隔行插行
累計1000學員通過我們的核心系列課《48天,Excel技能脫胎換骨》完成職場逆襲,何不也給自己一次脫胎換骨的機會,點擊卡片了解詳情。接下來的欄目是我們新推出的圖文教程,每天3分鐘,讓你掌握100個Excel技能,教程全部以圖片的方式呈現,...
2024-11-30
Copyright 2023-2024 - www.tftnews.com All Rights Reserved