從學生時期開始接觸機器學習,當初以為的 Machine learning 就只要會處理資料、訓練模型、得到比較高的準確率,然後就此結束,但出社會後發現,從 Jupyter 到 Production 的路還有段距離,那該怎麼辦呢?
因此,接下來將會分幾個章節來介紹:
環境建立
Step1: 安裝 cuda
這次安裝的環境為:Cuda 9.0 + cuDNN 7.0.5
安裝的方式可以參考我的另一篇文章:Ubuntu16.04 install CUDA 9.0 + cuDNN 7.0.5 ,並且從 Step 1 Installation CUDA 開始依序執行即可。
Step2: 安裝 conda
我們會利用 conda 來建立虛擬環境,因此會先安裝 conda,而安裝的方式如下所示:
$ curl -O https://repo.continuum.io/archive/Anaconda3-5.0.1-Linux-x86_64.sh
$ sha256sum Anaconda3-5.0.1-Linux-x86_64.sh
$ bash Anaconda3-5.0.1-Linux-x86_64.sh
安裝好後,如下圖所示
最後還要操作一步,才能直接操作 conda
$ source ~/.bashrc
Step3: 建立虛擬環境
Conda 建立環境的方式如下,可以在建立的過程順便安裝想要有的套件
$ conda create --name 環境名稱 套件1 套件2 ...
我們這次選擇的 Python 版本為 3.6,並且後續會使用 Pytorch 框架,因此我命名為 pytorch_p36。
$ conda create --name pytorch_p36 python=3.6
建立好環境後,可以輸入下列指令來查看目前所有建立好的環境。
$ conda env list
切換環境的方法為:
$ source activate pytorch_p36
Step 4: 安裝 ML 相關套件
在下一章,目前幾個較大的框架,安裝方法都非常簡單,下方為 GPU 版本
Tensorflow: https://anaconda.org/anaconda/tensorflow-gpu
(tensorflow_p36)$ conda install tensorflow-gpu
Pytorch: https://pytorch.org/
(pytorch_p36)$ conda install pytorch torchvision cudatoolkit=9.0 -c pytorch
Step 5: 測試 GPU
安裝好了套件後,如何確定有沒有真的吃到 GPU 呢?可以先試著切換到該環境當中,並且看看 device name 為何。
(pytorch_p36)$ python
Python 3.6.8 |Anaconda, Inc.| (default, Dec 30 2018, 01:22:34)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> print(torch.cuda.get_device_name(0))
Tesla K80
Step 6: Jupyter notebook 遠端連線
在寫 Python 時,大部分的人都會利用 Jupyter notebook 來當作實驗的場域,不過可能很多人都會懊惱,如果機器不在本機端那該如何連線呢?
首先,必須先將該安裝的套件都安裝完畢,如下所示
$ conda install jupyter
$ source activate pytorch_p36
(pytorch_p36)$ conda install ipykernel
(pytorch_p36)$ python -m ipykernel install --user --name pytorch_p36(環境名稱) --display-name "pytorch p36(顯示名稱)"
建立 ipykernel 的原因是,在使用 Jupyter notebook 時,可以立即切換想要的環境,可以節省大量的麻煩。
建立好後,可以開一個新的 Terminal 並且連線的時候用下方的 script
$ ssh -L 本機端port:localhost:遠端port XX.XX.XX.XX
例如我在本機端開了port: 8158,而遠端的機器 port: 8888,則
$ ssh -L 8158:localhost:8888 XX.XX.XX.XX
連線上後,需要再遠端的地方直接開啟 jupyter notebook (不需切換虛擬環境)
$ jupyter notebook --no-browser --port=8888
Jupyter notebook 開啟之後,即可在本機端的瀏覽器輸入 localhost:8157
即可連線,不過第一次登入會需要輸入 Token ,而這個 Token 會在剛剛開啟Jupyter notebook 時會顯示在下方。
成功登入後,即可看到你的目錄,如下圖所示。
Next…
下一章,會開始介紹機器學習實作的套件 pytorch ,當中會介紹如何客製化得製作資料集、損失函數、模型等等。
Day 3: Pytorch 介紹與範例 (cosmetics classification)
Error Message
若出現 conda: command not found,則輸入 sudo vi ~/.bashrc
並且在最後面加上 export PATH=~/anaconda3/bin:$PATH
如果喜歡我的文章內容,請幫我多多鼓掌
1 個鼓掌:喜歡這篇的內容
10個鼓掌:期待這一系列的課程
30個鼓掌:希望未來能有更多相關文章