iT邦幫忙

2021 iThome 鐵人賽

DAY 13
0
  • 機器學習的路上仍然需要撰寫程式來達到我們期望的效果,在前面的文章中,我們已經介紹了從機器學習的基本概念到深度學習會用到的特殊數學概念,那要如何實作呢?
  • 對於現在的基礎 Linear Regression 跟 Linear Classification 的部分其實都不難,畢竟數學公式也不是那麼的複雜,真的要實作都可以用自己熟悉的程式語言直接去做撰寫模擬,但是如果是更複雜的模型呢?或者你對程式語言並沒有那麼豐富的經驗卻仍然想做機器訓練,有沒有工具能夠幫你簡化問題?
  • 有的,這就是 Machine Learning Framework 誕生的原因,他們的宗旨在簡化複雜的數學過程,讓使用者能更專注於建構模型本身,而非細節的數學重現,來達到快速建構,加速訓練等等優勢,當然,最重要的也有包含穩定性更好等等,也可以說,現在的機器學習已經慢慢離不開各種不同的 Framework 了,因為真的非常非常方便
  • Framework 有很多種,例如現在比較有名的 Pytorch、TensorFlow、scikit-learn 等等,各有優缺點,筆者自己也沒有特別深入理解差異在哪,但是我們今天就挑其中一個來說明,那就是 Pytorch 了

About Pytorch

  • Pytorch 是一個基於 Torch 函式庫所建立的 Open Source Machine Learning Framework,主要用於計算機視覺和自然語言處理等等應用。
  • 主要是由 Facebook 的人工智能研究實驗室(FAIR)所開發,是一個基於 Python 所開發的框架
  • Pytorch 旨在提供幾個核心功能
    • Deep Learning Primitives
    • Nueral Network Layer types
    • Activation & Loss Functions
    • Optimizers
  • 並且提供 GPU 接口實現加速運算,是個深受大家喜愛的機器學習框架

Install Pytorch

  • 我們要使用一個工具,首先就要先安裝他,因此這裡我們來說說如何安裝 Pytorch

Pytorch 安裝

  • 要安裝 Pytorch 套件要先去 Pytorch 官網 進行安裝

  • 選擇你要的

    • Pytorch 版本
    • 你的作業系統
    • 安裝的套件
      • Conda 需要 Anaconda,是目前最受歡迎的Python數據科學(Data Science)平台,但是環境龐大。
      • PIP 就是 python module
      • LibTorch
      • Source
    • 語言
      • Python
      • C++/Java
    • 是否需要 GPU CUDA
    • ==最後會幫你生成安裝指令,只需要依照指令複製貼上到 terminal 就可以了==

CUDA

  • 如果需要跑 CUDA ,要先去 NVIDIA CUDA Downloads 去做下載


    :::danger

    • 請注意要安裝你選擇的 Pytorch 版本 CUDA,否則你的 Pytorch 會無法使用 CUDA


      :::

    • 版本不同請找這裡 (這邊以 CUDA 10.01 為例)



檢查是否安裝完成

Pytorch

  • 打開 Terminal
  • 輸入 Python3 進入 Python3 的指令區
  • 輸入 import torch 來檢查是否成功安裝 Pytorch
    • 如果安裝失敗,在這裡會出現 module not found
    • 如果安裝成功,會直接到下個指令列

CUDA

  • 打開 Terminal
  • 輸入 Python3 進入 Python3 的指令區
  • 輸入 import torch 來使用 Pytorch Module
  • 輸入 torch.cuda.is_available() 來檢查是否允許 CUDA
    • False 代表沒有 CUDA
    • Ture 代表有 CUDA

Installation (Colab)

  • 找到 Google Colab

  • 使用 google account 登入之後即可使用

每日小結

  • 深度學習的神經網路往往異常複雜,單純的程式撰寫往往容易造成效率不彰或者過於複雜的問題產生,機器學習框架的誕生就是為了解決這部分的問題,因此在理解了基本的數學結構之後,如何靈活運用工具能替我們達到事倍功半的效果
  • Pytorch 是其中一種框架,他簡潔乾淨,受人喜愛,但仍有優缺點,筆者在這裡的工作不是希望讀者就侷限於此,如果有興趣當然也非常歡迎去玩玩看各種不同的框架,這裡筆者希望的是引導讀者去認識一種框架,並感受框架與一般程式撰寫上的差異,希望能有所幫助
  • 下一堂課我們將開始聊聊如何使用 Pytorch 吧~

上一篇
Day-11 Backpropagation 介紹
下一篇
Day-13 Pytorch Tensors
系列文
Deep Learning 從零開始到放棄的 30 天 PyTorch 數字辨識模型31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言