AI-For-Beginners/translations/zh-TW/AGENTS.md

9.6 KiB
Raw Blame History

AGENTS.md

專案概述

AI for Beginners 是一個為期 12 週、共 24 節課的全面課程,涵蓋人工智慧的基本概念。本教育資源庫包含使用 Jupyter Notebooks 的實作課程、測驗以及動手實驗。課程內容包括:

  • 符號式 AI知識表示與專家系統
  • 使用 TensorFlow 和 PyTorch 的神經網路與深度學習
  • 電腦視覺技術與架構
  • 自然語言處理 (NLP):包括 transformers 和 BERT
  • 專門主題:基因演算法、強化學習、多代理系統
  • AI 倫理與負責任 AI 原則

主要技術: Python 3、Jupyter Notebooks、TensorFlow、PyTorch、Keras、OpenCV、Vue.js用於測驗應用程式

架構: 教育內容資源庫,按主題區域組織 Jupyter Notebooks並輔以基於 Vue.js 的測驗應用程式及廣泛的多語言支援。

設置指令

主要開發環境 (Python/Jupyter)

課程設計以 Python 和 Jupyter Notebooks 為基礎。推薦使用 miniconda

# Clone the repository
git clone https://github.com/microsoft/ai-for-beginners
cd ai-for-beginners

# Create and activate conda environment
conda env create --name ai4beg --file environment.yml
conda activate ai4beg

# Start Jupyter Notebook
jupyter notebook
# OR
jupyter lab

替代方案:使用 devcontainer

# Open in VS Code and select "Reopen in Container" when prompted
# The devcontainer will automatically set up the environment

測驗應用程式設置

測驗應用程式是一個獨立的 Vue.js 應用程式,位於 etc/quiz-app/

cd etc/quiz-app
npm install
npm run serve  # Development server
npm run build  # Production build
npm run lint   # Lint and fix files

開發工作流程

使用 Jupyter Notebooks

  1. 本地開發:

    • 啟動 conda 環境:conda activate ai4beg
    • 啟動 Jupyterjupyter notebookjupyter lab
    • 瀏覽至課程資料夾並打開 .ipynb 文件
    • 互動式執行單元以跟隨課程
  2. 使用 VS Code 的 Python 擴展:

    • 在 VS Code 中打開資源庫
    • 安裝 Python 擴展
    • VS Code 會自動檢測並使用 conda 環境
    • 直接在 VS Code 中打開 .ipynb 文件
  3. 雲端開發:

    • GitHub Codespaces 點擊 "Code" → "Codespaces" → "Create codespace on main"
    • Binder 使用 README 中的 Binder 徽章在瀏覽器中啟動
    • 注意Binder 資源有限且有部分網路訪問限制

高級課程的 GPU 支援

後期課程顯著受益於 GPU 加速:

  • Azure Data Science VM 使用具備 GPU 支援的 NC 系列虛擬機
  • Azure Machine Learning 使用具 GPU 計算的 notebook 功能
  • Google Colab 單獨上傳 notebook提供免費 GPU 支援)

測驗應用程式開發

cd etc/quiz-app
npm run serve  # Hot-reload development server at http://localhost:8080

測試指導

這是一個以學習內容為重點的教育資源庫,而非傳統的軟體測試。沒有傳統的測試套件。

驗證方法:

  1. Jupyter Notebooks 依序執行單元以驗證程式碼範例是否正常運行
  2. 測驗應用程式測試: 通過開發伺服器進行手動測試
  3. 翻譯驗證: 檢查 translations/ 資料夾中的翻譯內容
  4. 測驗應用程式語法檢查:etc/quiz-app/ 中執行 npm run lint

執行程式碼範例:

# Activate environment first
conda activate ai4beg

# Run Python scripts directly
python lessons/4-ComputerVision/07-ConvNets/pytorchcv.py

# Or execute notebooks
jupyter notebook lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb

程式碼風格

Python 程式碼風格

  • 遵循標準 Python 規範,適用於教育性程式碼
  • 清晰、易讀的程式碼,優先考慮學習而非最佳化
  • 註解解釋關鍵概念
  • 適合 Jupyter Notebook單元應盡可能自成一體
  • 對課程內容無嚴格語法檢查要求

JavaScript/Vue.js (測驗應用程式)

  • etc/quiz-app/package.json 中配置 ESLint
  • 執行 npm run lint 以檢查並自動修復問題
  • 遵循 Vue 2.x 規範
  • 基於元件的架構

文件組織

lessons/
  ├── 0-course-setup/          # Setup instructions
  ├── 1-Intro/                 # Introduction to AI
  ├── 2-Symbolic/              # Symbolic AI
  ├── 3-NeuralNetworks/        # Neural Networks basics
  ├── 4-ComputerVision/        # Computer Vision
  ├── 5-NLP/                   # Natural Language Processing
  ├── 6-Other/                 # Other AI techniques
  ├── 7-Ethics/                # AI Ethics
  └── X-Extras/                # Additional content

etc/
  ├── quiz-app/                # Vue.js quiz application
  └── quiz-src/                # Quiz source files

translations/                  # Multi-language translations

建置與部署

Jupyter 內容

不需要建置過程 - Jupyter Notebooks 可直接執行。

測驗應用程式

cd etc/quiz-app

# Development
npm run serve

# Production build
npm run build  # Outputs to etc/quiz-app/dist/

# Deploy to Azure Static Web Apps
# Azure automatically creates GitHub Actions workflow
# See etc/quiz-app/README.md for detailed deployment instructions

文件網站

資源庫使用 Docsify 作為文件系統:

貢獻指南

拉取請求流程

  1. 標題格式: 清晰、描述性標題,說明更改內容
  2. CLA 要求: 必須簽署 Microsoft CLA自動檢查
  3. 內容指南:
    • 保持教育重點和適合初學者的方式
    • 測試所有 notebook 中的程式碼範例
    • 確保 notebook 從頭到尾正常運行
    • 如果修改英文內容,請更新翻譯
  4. 測驗應用程式更改: 在提交前執行 npm run lint

翻譯貢獻

  • 翻譯通過 GitHub Actions 使用 co-op-translator 自動完成
  • 手動翻譯存放於 translations/<language-code>/
  • 測驗翻譯存放於 etc/quiz-app/src/assets/translations/
  • 支援語言40+ 種語言(完整列表請參閱 README

活躍貢獻領域

請參閱 etc/CONTRIBUTING.md 了解當前需求:

  • 深度強化學習部分
  • 物件檢測改進
  • 命名實體識別範例
  • 自定義嵌入訓練範例

環境配置

必需的依賴項

# Core Python packages (from requirements.txt)
tensorflow==2.17.0
torch (via conda)
torchvision (via conda)
keras==3.5.0
opencv (via conda)
scikit-learn
numpy==1.26
pandas==2.2.2
matplotlib==3.9
jupyter

環境變數

基本使用不需要特殊環境變數。

對於 Azure 部署(測驗應用程式):

  • AZURE_STATIC_WEB_APPS_API_TOKEN(由 Azure 自動設置)

除錯與故障排除

常見問題

問題: Conda 環境創建失敗

  • 解決方案: 首先更新 condaconda update conda -y
  • 確保磁碟空間充足(建議 50GB

問題: 找不到 Jupyter 核心

  • 解決方案:
    conda activate ai4beg
    python -m ipykernel install --user --name ai4beg
    

問題: Notebook 中未檢測到 GPU

  • 解決方案:
    • 驗證 CUDA 安裝:nvidia-smi
    • 檢查 PyTorch GPUpython -c "import torch; print(torch.cuda.is_available())"
    • 檢查 TensorFlow GPUpython -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"

問題: 測驗應用程式無法啟動

  • 解決方案:
    cd etc/quiz-app
    rm -rf node_modules package-lock.json
    npm install
    npm run serve
    

問題: Binder 超時或阻止下載

  • 解決方案: 使用 GitHub Codespaces 或本地設置以獲得更好的資源訪問

記憶體問題

某些課程需要大量 RAM建議 8GB+

  • 對於資源密集型課程,使用雲端虛擬機
  • 執行模型訓練時關閉其他應用程式
  • 如果記憶體不足,減少 notebook 中的批次大小

附加說明

對課程講師的建議

  • 請參閱 lessons/0-course-setup/for-teachers.md 了解教學指導
  • 課程是自成一體的,可以按順序教授或單獨選擇
  • 預估時間12 週,每週 2 節課

雲端資源

  • Azure for Students 學生可獲得免費額度
  • Microsoft Learn 課程中鏈接的補充學習路徑
  • Binder 免費但資源有限且有部分網路限制

程式碼執行選項

  1. 本地(推薦): 完全控制,最佳效能,支援 GPU
  2. GitHub Codespaces 基於雲端的 VS Code適合快速訪問
  3. Binder 基於瀏覽器的 Jupyter免費但有限
  4. Azure ML Notebooks 企業選項,支援 GPU
  5. Google Colab 單獨上傳 notebook提供免費 GPU 層

使用 Notebook

  • Notebook 設計為逐單元執行以便學習
  • 許多 notebook 在首次運行時下載數據集(可能需要一些時間)
  • 某些模型需要 GPU 才能在合理時間內完成訓練
  • 儘可能使用預訓練模型以減少計算需求

效能考量

  • 後期電腦視覺課程CNNs、GANs受益於 GPU
  • NLP transformer 課程可能需要大量 RAM
  • 從零開始訓練具有教育意義但耗時
  • 遷移學習範例可減少訓練時間

免責聲明
本文件使用 AI 翻譯服務 Co-op Translator 進行翻譯。儘管我們努力確保翻譯的準確性,但請注意,自動翻譯可能包含錯誤或不準確之處。原始文件的母語版本應被視為權威來源。對於關鍵資訊,建議使用專業人工翻譯。我們對因使用此翻譯而引起的任何誤解或錯誤解釋不承擔責任。