安裝 GPU 版的深度學習套件

這篇文章, 我們準備介紹 GPU 版深度學習套件, 包括 TensorFlow 和 PyTorch, 順便來學學 Anaconda 的 conda 系統, 要怎麼建一個虛擬環境。

在過去 (其實也沒多久之前) 的時代, 要自己安裝 GPU 版的深度學習套件是相當有挑戰, 簡直可以當成一項專長的。因為我們要:

  • 確定安裝新版、正確 GPU 趨動程式
  • 安裝正確版本 (不一定是最新版) 的 CUDA
  • 先加入 NVIDIA 開發者, 然後下載正確版本的 cuDNN
  • 安裝 TensorFlow 或 PyTorch

很難的點就是, 你可能要先查好你要裝的 TensorFlow, 到底是配哪一版的 CUDA 和 cuDNN 才可以。然後, 就在你查了人家成功的案例之後, 開開心心裝了下去, 發現又不行! 最後才發現原來 Python 版本不對…

這個時代已經過去了, 假設你已經有了 Anaconda, 我們來介紹怎麼樣裝 GPU 版的深度學習套件。然後, 你就會發現浪費一堆時間看到這裡, 因為安裝上是下個指令就完成了。為了怕大家覺得太簡單 (?) 我們先來學學怎麼在 conda 下建一個虛擬環境。

建立 conda 虛擬環境

conda 建立的虛擬環境就是獨立的 Python 環境。因為我們想要裝 TensorFlow, 所以我們把這個虛擬環境就叫做 tf 好了。大多數的時候建虛擬環境就是為了乾淨, 所以很多高手都不會裝完整的 Anaconda, 只裝需要的件。但我是低手, 為了怕突然發現虛擬環境中以前有的突然沒有了, 所以這裡還是裝了完整的 Anaconda。

conda create -n tf anaconda

這樣就好了耶!那個 -n 後面接的自然就是我們自己命名的虛擬環境名稱。我們也可以指定 Python 的版本,比如說,堅持 Python 3.7 的話是樣。

conda create -n tf python=3.7 anaconda

安裝 TensorFlow

這裡要提醒一件事, 有一件事我們需要自己做, 那就是記得要更新你 NVIDIA GPU 的趨動程式。不過好消息是, 當你發現錯誤之後再更新其實也可以 (狀態顯示就是經驗談…)

現在我們有新的 tf 虛擬環境, 就立馬給他進去。

conda activate tf

然後我們來安裝 GPU 版的 TensorFlow, 大家可以再複習一下以前可怕的時光。現在變成只有一行:

conda install tensorflow-gpu

這樣就裝完了, 是不是很沒有 fu 呢?之後我們在這個環境下的 Python, 就可開心使用 GPU 版的 TensorFlow 了。而且寫這篇文章的時候, conda 的 TensorFlow 已是 2.x 版。為了我 2.x 大 Keras 時代裝的, 可以不用擔心勇敢裝下去。

對了, 萬一沒有 GPU 的, 你就是用:

conda install tensorflow

以前我們可以笑那些有 GPU 的, 雖然理論上好棒棒, 但很難裝。可是現在那美好的時代已過去了。

要離開這個虛擬環境, 就是用:

conda deactivate

一個 Jupyter Notebook, 所有環境通吃

使用 Jupyter Notebook 的你可能會想, 以後我想用 TensorFlow, 應該就是 conda activate tf 進去這個虛擬環境, 然後打入 jupyter notebook 開始使用。用一用發現我要回去用原來的環境, 就停止 jupyter notebook 的 server, 再切原來環境…

哦, 當然不是這樣子啊! 我們可以讓 Jupyter Notebook 看到所有環境。這又是前言比正文長的例子, 因為我們真的要做的只有:

conda install nb_conda

就這樣, 你根本也不用 conda activate 進入某虛擬環境, 愛用哪個版本的都可直接在選單選擇那個 kernel。

安裝 PyTorch

我們安裝 PyTorch 時, 再順便介紹一些事。首先, 我們建一個虛擬環境, 就叫 pt 好了 (其實叫 pytorch 可能更好一點, 只是我怕大家弄不清哪個是我們自己取的名字、哪個是不可以改的)。

conda create -n pt anaconda

然後進入這個環境。

conda activate pt

重點來了, 我們安裝 Pytorch GPU 版。

conda install pytorch torchvision cudatoolkit=10.1 -c pytorch

這裡有幾件事說明一下, 首先 pytorch 當然沒問題, 而 torchvision 是很多相關的範例數據集等等, 方便你學習。然後發現, conda 可以指定 CUDA 版本! 這一行就開開心心的做好以前要確認版本、找到在哪裡、下載安裝的事。最後是 -c, 這個是指定 channel, 雖然一般指不指定通常會找到一様的, 但這裡為保險不會找到意外的地方, 下載和想像不同的版本。

這事實上是 Pytorch 官方介紹的方式。如沒有要 GPU, 就是這麼做。

conda install pytorch torchvision cpuonly -c pytorch

順便說一下, 有個特别的 channel 叫 conda-forge, 這是社群提供給 conda 的, 就不算是「官方」提供版本。

我們安裝好要離開, 當然還是

conda deactivate

欣賞一下你的虛擬環境

你可以一下你目前所有的虛擬環境。

conda env list

如果發現有不需要的, 比方說一個叫 spam 的虛擬環境, 那就是用以下指令刪除它。

conda env remove -n spam

Google Colab 深度學習使用入門

設定 GPU/TPU

新增一個 Notebook

進入 CoLab 之後, 你要點一下 “New Python 3 Notebook", 馬上會出現一個, 嗯, Notebook!

notebook settings
進入 Notebook settings 要求使用 GPU/TPU

接著就自己看著辦, 看你要 GPU 還是 TPU!

使用GPU或TPU
選擇用 GPU 或 TPU

確認 TensorFlow 版本

在寫這篇文章時, CoLab 預設的 TensorFlow 版本還不是 2.x 版。我們可以用一個 CoLab 版魔術指令來確定這件事!

%tensorflow_version

這時我們得到的是目前用的是 1.x 版, 並且說有 1.x 和 2.x 版可以使用。於是我們可以用以下的方式, 就能指定使用 2.x 版的 TensorFlow!

%tensorflow_version 2.x

更新 Keras 版本

如果要用配合 TensorFlow 2.x 的 Keras, 我們必需更新 Keras。請使用

!pip install --upgrade keras

來更新 Keras。

連上你的 Google Drive

現在還有個小問題, 那就是我們存取檔案沒有像在桌機上那麼方便! 不過這 Google 做的, 當然可以連上你的 Google Drive!

from google.colab import drive

drive.mount('/content/drive')

這時會要求你登入 Google 帳號來認證, 之後會出現一個金鑰, 你要拷貝這個金鑰再貼回來! 這只是把我們的 Google Drive 掛上來, 要方便存取到我們的 Google Drive, 你可以打入:

%cd '/content/drive/My Drive'

當然, 建議你自己在你的 Google Drive 建個資料夾, 再用 cd 進去那個資料夾。到現在, 你就可以用之前 Python 檔案存取的方式, 來存取 Google Drive 上的檔案!

[Python] 各種科學套件外加 VPython 重現 Mac

常用 Data Analysis 全裝好

之前介紹過在 Mac 上科學套件的大補帖, 不過馬上有高手說這其實不是很好的方式, 至少應該裝在 Python virtualenv 虛擬環境下。不過其實也沒這麼困難, 最近發現了一個很不錯的 Python distribution, 是 Continuum Analytics 這家公司出的

Anaconda

這個好處是各平台都有, 而且像是 IPython Notebook, matplotlib, numpy, pandas, PIL, SymPy, Scikit-Learn, NetworkX 等等全都裝好了! 而且 Windows/Mac/Linux 上全部都有!

繼續閱讀

[Python] IPython 的 Notebook 界面

其實我一直不怎麼喜歡用所謂的 Web 界面。因為指令列感覺就很單純、輕快, 更不要說 IPython 常常有種種原因 (其實最重大的原因就是懶得處理一些安裝問題), 有時沒有裝。所以一直無法體會很多人傳說中的 IPython 美好世界。

近日, 因使用

可愛的水蟒 (Anaconda)

這個集合了好幾個 Python 科學計算常用套件的 Python 大全, Matplotlib, Numpy, SciPy, Panda 等等全部裝好, 還附了 IPython。用一用發現, IPython 的 Notebbok 實在挺好用的! 我們來看一下有什麼令人開心的地方。

繼續閱讀

[LaTeX] 製作方便在 iPhone/iPad 上閱讀的文件

一般文件大小在 iPhone 或 iPad 上看字型可能太小。這時我們只要做好紙張大小設訂就可以了。以下的樣版是用 XeLaTeX (xeCJK 套件) 配合 cwTeX-Q 字型 (你也可以用自己系統字型)。

基本上是依下面這個網頁介紹的方式:

http://uweziegenhagen.de/?p=765

我加入了中文設定, 使得各節是以一、二、三來編號, 小節以 (一)、(二)、(三) 編號, 也會自動産生目錄, 在 iPhone/iPad 的 PDF 閱讀 App 可以直接按目錄中的項目直接跳到對應的地方。

LaTeX for iPad 封面

繼續閱讀

[Mac] 預覽程式 Preview 和文字編輯 TextEdit 無法開啟

這問題出現在不小心按下升級, 從 10.8.2 到 10.8.3, 結果要開起預覽程式或文字編輯程式會出現什麼損毀, 資料庫要更新之類。然後請你打入密碼, 打完了當然還是不能開!

好在 Mac 的好處就是通常你碰到的問題, 全世界也有很多人碰到一樣的問題。於是你可以到

Apple 的討論區

找到果然有許多同病相憐的朋友。

解決方法很簡單 (因為太簡單, 所以前面那麼多廢話)。只要砍了兩個資料夾 (包括裡面所有檔案) 即可。

~/Library/Containers/com.apple.Preview

~/Library/Containers/com.apple.TextEdit