2022年4月18日 星期一

機器學習筆記 : 強化式學習-打造最強通用演算法 (二)

本篇繼續來整理我讀布留川英一寫的 "強化式學習-打造最強通用演算法 AlphaZero" 這本書的摘要筆記, 本系列之前的筆記參考 : 


以下是我讀完第二章 "準備 Python 開發環境" 的摘要筆記 :
  1. 使用 Google Colab 建構機器學習專案的優點 :
    (1). 不須自行安裝執行環境 :
    Colab 預設已安裝好 TensorFlow, PyTorch, NLTK 等框架以及資料科學與機器學習常用套件, 例如 Numpy, Pandas, Matplotlib 等, 直接 import 即可使用, 不需用 pip 安裝, 可用 !pip list 指令查詢這些已預先安裝好的套件或模組. 如果要使用特定或較舊的版本, 可用 == 指定 :
    !pip install tensorflow==2.3.0    
    (2). 操作方式與 Jupyter Notebook 幾乎相同 :
    因為 Colab 其實就是以 Jupyter Notebook 為基礎所開發的, 故兩者操作方式相同, 筆記本可通用.
    (3). 可免費使用 Google GPU :
    使用 GPU 速度大約是 CPU 的三倍.

  2. Colab 的使用限制 :
    (1). 儲存空間是 40GB (未使用 GPU 時) 或 360GB (使用 GPU 時).
    (2). 主記憶體 : 13GB RAM
    (3). 筆記本大小限制 : 最大 20MB
    (4). 雲端環境閒置超過 90 分鐘會被 reset
    (5). 雲端環境啟動超過 12 小時會被 reset
    Colab 雲端環境啟動後不論是閒置超過 90 分鐘或 12 小時都會被重置, 亦即執行的程式會被中斷, 儲存的資料與自行安裝的套件會消失, 但記錄執行過程的筆記本不會消失. 要避免雲端環境被重置, 首先必須在閒置超過 90 分鐘之前按下瀏覽器的重新載入即可再往後延 90 分鐘, 然後在連續執行快到 12 小時之前先將儲存的資料下載到本機或雲端硬碟中, 等到被重置後再上傳載入所儲存之資料即可重啟訓練. 

  3. 除了在 Colab 執行程式外 (稱為代管執行階段 host runtime, 就是用 Goolge 的伺服器跑程式), 還可以按 "連線/連線至本機執行階段" 指定將 Colab 連接到指定的 Jupyter Notebook 伺服器來執行 (就是改用自己的機器跑 Colab 上的程式), 用這種方式就不受雲端環境 12 小時的限制 (因為是用自己的 CPU/GPU 在跑).


    如果選擇連線至本機執行環境, 要先執行自己的 Jupyter Notebook 或 JupyterLab, 然後將本機伺服器網址貼到 "後端網址" 欄內 : 
     


  4. Colab 中每個儲存格內的程式碼要完整, 例如 if else 不可以分在兩格, 否則會出現錯誤無法執行 (錯誤會出現於 else 那一格). 


  5. 執行中的程式碼不會因為關閉瀏覽器而停止執行, 可以在上方選單中選擇 "執行階段/中斷執行" 停止目前這個筆記本的執行階段. 



    也可以點 "管理工作階段", 然後點 "終止" 即可 :


  6. 如果要使用 GPU 硬體加速, 點選 "編輯/筆記本設定", 然後在硬體加速器欄選擇 GPU, 按儲存即可, 這樣這個筆記本內的程式都會用 GPU 加速 :



    注意, 雖然有 TPU 選項, 但使用 TPU 限制較多, 例如程式碼要符合 TPU 用法, 超參數也要符合 TPU 核心數目等. 

  7. 上傳檔案到 Colab :
    需要上傳資料到 Colab 時可用下列程式碼 :

    from google.colab import files
    uploaded=files.upload()

    我先準備了一個 test.txt 放在桌面, 執行後底下會出現選擇檔案的按鈕, 按此挑選檔案後就會將其上傳到 Colab 了 :



    注意, 上傳同一檔案多次不會覆蓋元檔案, 而是主檔名後面添加 (1) 或 (2) 等 : 


  8. 從 Colab 下載檔案 :
    下載檔案可呼叫 files.download() :

    from google.colab import files
    files.download('test.txt')



  9. 查詢 Colab 已安裝之模組套件 :
    可用 !pip list 查詢 :


    (略)

    可見 Colab 已經預裝了許多套件, 資料科學與機器學習常用的基本套件例如 Numpy, Pandas, Matplotlib, TensorFllow, PyTorch, 以及自然語言處理的 NLTK 等都已經安裝好了, 直接 import 就可以用, 除非要跑特定版本, 否則無須用 pip install 安裝. 

  10. 建構本地端的 Python 執行環境 :
    由於 Colab 無法執行 UI 程式 (例如 tkinter 程式碼), 必須在本機 Python 環境才能執行, 可在下列網址下載已內建各種常用第三方套件的 Anaconda 來安裝 :

    # https://www.anaconda.com/distribution 


    預設是 Windows 版, 也可按底下按鈕下載 MacOS 與 Linux 版 (最新的在最底下) :


    .... (略)

    Linux 版下載的是 .sh 檔, 需開啟終端機以下列指令直行安裝 :

    $ bash Anaconda3-5.3.1-Linux-x86_64.sh    

    關於 Anaconda 用法參考 : 

    安裝 Anaconda 3 (2020-11版)


沒有留言 :