iT邦幫忙

2024 iThome 鐵人賽

DAY 2
2
AI/ ML & Data

【AI筆記】30天從論文入門到 Pytorch 實戰系列 第 2

【AI筆記】30天從論文入門到 Pytorch 實戰:環境搭建與 Colab 入門指南 Day 1

  • 分享至 

  • xImage
  •  

環境搭建

本篇教學Anaconda做虛擬環境管理,但基礎學習中還不用用到Conda建立環境,在後續教學文中會寫到如何用Pycharm/VScode跟Conda結合使用。

Conda

Conda 是一個開源的包管理和環境管理系統,主要用於簡化科學計算和資料分析工作流程。它可以管理軟體包、庫和工具,並能夠在不同環境中隔離這些組件,從而避免不同項目之間的相互影響。
Conda是什麼?
1. 獨立的虛擬環境:
Conda 允許用戶創建虛擬環境,每個環境都是一個獨立的工作空間,包含特定版本的 Python 解釋器和相關包。這樣,即使在同一台機器上,不同項目也可以使用不同版本的包而不會互相干擾。
2. 環境隔離:
每個 Conda 環境都有自己的依賴關係和配置,這樣可以確保項目中的依賴不會與其他項目發生衝突。當你激活一個 Conda 環境時,該環境中的所有依賴關係和配置都會被應用。
3. Package 管理:
Conda 能夠自動解決包的依賴問題,確保所有依賴的包都是兼容的。這可以防止依賴衝突,並簡化包的安裝和升級。

可以利用 Conda 官網 搜尋Package名稱,他會提供指令快速安裝兼容性較高的版本。

整體流程

Conda流程圖

下載 Conda

先去官方網站安裝Conda
Conda 載點
安裝畫面

安裝路徑上不要有中文
不要有中文
不要有中文

啟動 Conda

  1. Linux
    Linux 安裝方式請看官方網站
    初次安裝後,打開Terminal,確認是否有啟動Conda?
$ conda init

啟動成功的話 Terminal 前面會出現(base) User@主機名稱:~$

$ conda -V
$ conda --version

以下為沒有成功的畫面
沒有啟動成功
如果(base)沒有出現,重開 Terminal,要重新 conda init

  1. Windows
    打開Windows中搜尋Anaconda Prompt,就會出現類似CMD的介面,這時可以下指令確認Conda版本。
$ conda -V
$ conda --version

環境管理

建立 Conda 環境

  • 確認Conda中所有環境列表:
$ conda env list
  • 創建新環境:
$ conda create --name test
$ conda create -n test

不要取名跟套件名稱一樣,可能會有衝突
--name -n 在這邊使用兩者是一樣的意思

也可以在建立環境的時間順便安裝 python 並指定版本3.12

$ conda create -n test python=3.12

建立的過程中,因為有安裝套件,他會詢問是否確認安裝 Proceed ([y]/n)? 只要打上y 就會繼續安裝。

  • 完成安裝後,會出現:
To activate this environment, use:
source activate test
To deactivate an active environment, use:
source deactivate
  • 啟動環境:
$ source activate test
或
$ conda activate test

成功啟動後,會看到前面多了(test),表示你目前的工作環境在test中,所有安裝和指令都會使用在這個環境裡面。

  • 退出環境:
$ source deactivate
或
$ conda deactivate

每次要關機/退出時,要記得先退出虛擬環境。

  • 刪除環境:
$ conda env remove -n test

刪除前要記得退出環境,不過忘記了也沒事,他會跳出警訊。

套件管理

用conda安裝套件,比較不會有相容性問題,但版本會比較舊
如果conda安裝不起來,也可以使用pip安裝,在test環境中使用pip install不會影響到本機環境

  • 查詢安裝套件指令:
    如果要查Numpy的話,直接google搜尋 conda numpy
    google查詢
    官網會提供安裝指令,往下滾會看到
    conda套件安裝查詢
    pip安裝指令也可以直接上網查詢
    pip查詢
  • 安裝套件:
$ conda install numpy

安裝特定版本<package>=version

$ conda install numpy=1.22
  • 更新套件
$ conda update numpy
$ conda update all
  • 移除套件
$ conda remove <package>

Colab

學習完搭建環境後,其實有更方便的免費平台可以讓你面去這些煩惱,Google Colab(Colaboratory)是一個免費的平台,旨在讓用戶可以輕鬆地編寫和執行Python程式碼,特別是用於機器學習和資料分析的應用。Colab 提供了基於雲端的 Jupyter Notebook 環境,因此不需要配置本地環境,只需瀏覽器和網路連線即可開始使用。

  1. 免費使用 GPU/TPU:Colab 提供免費的 GPU 和 TPU 資源,對於需要大量計算資源的機器學習任務特別有用。
  2. 無需配置:不需要在本地安裝任何軟體或庫,所有配置都已經預先設置好。
  3. 雲端存儲:所有的 Notebook 都可以儲存在 Google Drive 中,便於分享和協作。
  4. 豐富的Package:預裝了許多流行的資料科學和機器學習庫,如 TensorFlow、Keras、PyTorch、Pandas 等。
  • 打開瀏覽器並搜尋 Google Colab
    Colab畫面
  • 在 Colab Notebook 中,每個單元格都可以編寫並運行 Python 程式碼。
    例如 按下 + 程式碼貼上以下程式碼並按 Shift + Enter 來運行:
print("Hello, Colab!")

print

  • 如果要使用GPU,可以在執行階段>變更執行階段類型進行選擇
    變更執行階段類型
  • 變更後,輸入!nvidia-smi 可以確認可以使用的資源和目前的使用率。
    !nvidia-smi

GPU: 0 | GPU 型號: Tesla T4 | Memory-Usage: 15360MiB
CUDA Version: 12.2
上面顯示目前只有 0號 GPU 可以使用,CUDA版本會影響到torch安裝的版本

  • 檔案管理
    上傳的檔案可以使用這邊,也可以使用雲端掛載,因為Colab傳輸檔案很慢,可以先上傳到drive,就能存取到你的雲端drive進行讀取
    檔案管理
from google.colab import drive
drive.mount('/content/drive')
  • 玩玩看!
import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Flatten

# 建立一個簡單的神經網絡模型
model = Sequential([
    Flatten(input_shape=(28, 28)),  # Flatten the 2D image to a 1D array
    Dense(128, activation='relu'),
    Dense(10, activation='softmax')
])

# 建立模型,設定optimizer, loss, metrics
model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

# 加載手寫數字資料集
mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()

# 簡單的 normalize
x_train, x_test = x_train / 255.0, x_test / 255.0

# 訓練模型
model.fit(x_train, y_train, epochs=5)

# 評估模型
model.evaluate(x_test, y_test)

https://ithelp.ithome.com.tw/upload/images/20240804/20168385SwAAyoYoij.jpg

[loss , accuracy] = [0.07900058478116989, 0.9768999814987183]

額外設定

請問你的 Colab 有調整什麼字體設定嗎?
右上角齒輪 > 編輯器 > 轉譯程式碼時使用的字型設定 Consolas
設定

Reference

Getting started with conda
keras官方文檔
Tensorfolw官方文檔


上一篇
【AI筆記】30天從論文入門到 Pytorch 實戰:序章與學習計畫 Day 0
下一篇
【AI筆記】30天從論文入門到 Pytorch 實戰:Pytorch 訓練流程全解析 Day 2
系列文
【AI筆記】30天從論文入門到 Pytorch 實戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
Penut Chen
iT邦研究生 5 級 ‧ 2024-08-04 22:35:42

請問你的 Colab 有調整什麼字體設定嗎?我的中文介面程式碼字體都特別醜 QQ

感謝提醒,設定方式已經新增在文章中。
另外之前我試過其他的字型,可能colab還沒有支援或是字型名稱不一樣,所以只有試出文章中的字體。

Penut Chen iT邦研究生 5 級 ‧ 2024-08-05 08:23:41 檢舉

感謝分享!真的變好看了 /images/emoticon/emoticon37.gif

我要留言

立即登入留言