AI-For-Beginners/translations/cs/AGENTS.md

11 KiB

AGENTS.md

Přehled projektu

AI for Beginners je komplexní 12týdenní, 24lekční kurikulum pokrývající základy umělé inteligence. Tento vzdělávací repozitář obsahuje praktické lekce využívající Jupyter Notebooks, kvízy a praktické laboratoře. Kurikulum zahrnuje:

  • Symbolickou AI s reprezentací znalostí a expertními systémy
  • Neuronové sítě a hluboké učení s TensorFlow a PyTorch
  • Techniky a architektury počítačového vidění
  • Zpracování přirozeného jazyka (NLP) včetně transformerů a BERT
  • Specializovaná témata: genetické algoritmy, posilované učení, systémy s více agenty
  • Etiku AI a principy odpovědné AI

Klíčové technologie: Python 3, Jupyter Notebooks, TensorFlow, PyTorch, Keras, OpenCV, Vue.js (pro aplikaci kvízů)

Architektura: Vzdělávací obsahový repozitář s Jupyter Notebooks organizovanými podle tematických oblastí, doplněný aplikací kvízů založenou na Vue.js a rozsáhlou podporou více jazyků.

Příkazy pro nastavení

Primární vývojové prostředí (Python/Jupyter)

Kurikulum je navrženo pro běh s Pythonem a Jupyter Notebooks. Doporučený přístup je použití 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

Alternativa: Použití devcontaineru

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

Nastavení aplikace kvízů

Aplikace kvízů je samostatná aplikace Vue.js umístěná v 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

Vývojový postup

Práce s Jupyter Notebooks

  1. Lokální vývoj:

    • Aktivujte conda prostředí: conda activate ai4beg
    • Spusťte Jupyter: jupyter notebook nebo jupyter lab
    • Přejděte do složek s lekcemi a otevřete soubory .ipynb
    • Interaktivně spouštějte buňky pro sledování lekcí
  2. VS Code s rozšířením Python:

    • Otevřete repozitář ve VS Code
    • Nainstalujte rozšíření Python
    • VS Code automaticky detekuje a používá conda prostředí
    • Otevřete soubory .ipynb přímo ve VS Code
  3. Cloudový vývoj:

    • GitHub Codespaces: Klikněte na "Code" → "Codespaces" → "Create codespace on main"
    • Binder: Použijte odznak Binder v README pro spuštění v prohlížeči
    • Poznámka: Binder má omezené zdroje a některá omezení přístupu na web

Podpora GPU pro pokročilé lekce

Pozdější lekce výrazně těží z akcelerace GPU:

  • Azure Data Science VM: Použijte NC-series VM s podporou GPU
  • Azure Machine Learning: Použijte funkce notebooků s GPU výpočetními prostředky
  • Google Colab: Nahrajte jednotlivé notebooky (má bezplatnou podporu GPU)

Vývoj aplikace kvízů

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

Pokyny k testování

Toto je vzdělávací repozitář zaměřený na výukový obsah, nikoli na testování softwaru. Neexistuje žádná tradiční testovací sada.

Přístupy k validaci:

  1. Jupyter Notebooks: Postupně spouštějte buňky pro ověření funkčnosti příkladů kódu
  2. Testování aplikace kvízů: Manuální testování přes vývojový server
  3. Validace překladů: Zkontrolujte přeložený obsah ve složce translations/
  4. Lintování aplikace kvízů: npm run lint v etc/quiz-app/

Spouštění příkladů kódu:

# 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

Styl kódu

Styl kódu Python

  • Standardní konvence Pythonu pro vzdělávací kód
  • Jasný, čitelný kód upřednostňující učení před optimalizací
  • Komentáře vysvětlující klíčové koncepty
  • Přátelské pro Jupyter Notebook: buňky by měly být co nejvíce samostatné
  • Žádné přísné požadavky na lintování pro obsah lekcí

JavaScript/Vue.js (aplikace kvízů)

  • Konfigurace ESLint v etc/quiz-app/package.json
  • Spusťte npm run lint pro kontrolu a automatické opravy problémů
  • Konvence Vue 2.x
  • Architektura založená na komponentách

Organizace souborů

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

Sestavení a nasazení

Obsah Jupyter

Není vyžadován žádný proces sestavení - Jupyter Notebooks se spouštějí přímo.

Aplikace kvízů

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

Dokumentační web

Repozitář používá Docsify pro dokumentaci:

Pokyny pro přispívání

Proces pull requestů

  1. Formát názvu: Jasné, popisné názvy popisující změnu
  2. Požadavek CLA: Musí být podepsán Microsoft CLA (automatická kontrola)
  3. Pokyny k obsahu:
    • Zachovejte vzdělávací zaměření a přístup pro začátečníky
    • Otestujte všechny příklady kódu v noteboocích
    • Ujistěte se, že notebooky běží od začátku do konce
    • Aktualizujte překlady, pokud upravujete anglický obsah
  4. Změny aplikace kvízů: Spusťte npm run lint před odesláním

Přispívání překladů

  • Překlady jsou automatizovány pomocí GitHub Actions s co-op-translator
  • Manuální překlady jdou do translations/<language-code>/
  • Překlady kvízů do etc/quiz-app/src/assets/translations/
  • Podporované jazyky: 40+ jazyků (viz README pro úplný seznam)

Aktivní oblasti přispívání

Viz etc/CONTRIBUTING.md pro aktuální potřeby:

  • Sekce hlubokého posilovaného učení
  • Vylepšení detekce objektů
  • Příklady rozpoznávání pojmenovaných entit
  • Ukázky trénování vlastních embeddingů

Konfigurace prostředí

Požadované závislosti

# 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

Proměnné prostředí

Pro základní použití nejsou vyžadovány žádné speciální proměnné prostředí.

Pro nasazení na Azure (aplikace kvízů):

  • AZURE_STATIC_WEB_APPS_API_TOKEN (nastaveno automaticky Azure)

Ladění a řešení problémů

Běžné problémy

Problém: Selhání vytvoření conda prostředí

  • Řešení: Nejprve aktualizujte conda: conda update conda -y
  • Zajistěte dostatek místa na disku (doporučeno 50 GB)

Problém: Jupyter kernel nebyl nalezen

  • Řešení:
    conda activate ai4beg
    python -m ipykernel install --user --name ai4beg
    

Problém: GPU není detekováno v noteboocích

  • Řešení:
    • Ověřte instalaci CUDA: nvidia-smi
    • Zkontrolujte GPU v PyTorch: python -c "import torch; print(torch.cuda.is_available())"
    • Zkontrolujte GPU v TensorFlow: python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"

Problém: Aplikace kvízů se nespustí

  • Řešení:
    cd etc/quiz-app
    rm -rf node_modules package-lock.json
    npm install
    npm run serve
    

Problém: Binder vyprší nebo blokuje stahování

  • Řešení: Použijte GitHub Codespaces nebo lokální nastavení pro lepší přístup ke zdrojům

Problémy s pamětí

Některé lekce vyžadují značné množství RAM (doporučeno 8 GB+):

  • Použijte cloudové VM pro lekce náročné na zdroje
  • Zavřete ostatní aplikace při trénování modelů
  • Snižte velikost batchů v noteboocích, pokud dochází paměť

Další poznámky

Pro instruktory kurzu

  • Viz lessons/0-course-setup/for-teachers.md pro pokyny k výuce
  • Lekce jsou samostatné a mohou být vyučovány v pořadí nebo vybírány jednotlivě
  • Odhadovaný čas: 12 týdnů při 2 lekcích týdně

Cloudové zdroje

  • Azure pro studenty: Bezplatné kredity dostupné pro studenty
  • Microsoft Learn: Doplňkové vzdělávací cesty propojené v průběhu
  • Binder: Bezplatné, ale omezené zdroje a některá síťová omezení

Možnosti spouštění kódu

  1. Lokálně (doporučeno): Plná kontrola, nejlepší výkon, podpora GPU
  2. GitHub Codespaces: Cloudové VS Code, dobré pro rychlý přístup
  3. Binder: Jupyter v prohlížeči, bezplatný, ale omezený
  4. Azure ML Notebooks: Podnikové řešení s podporou GPU
  5. Google Colab: Nahrajte jednotlivé notebooky, dostupná bezplatná GPU vrstva

Práce s notebooky

  • Notebooky jsou navrženy tak, aby byly spouštěny buňku po buňce pro učení
  • Mnoho notebooků stahuje datové sady při prvním spuštění (může trvat déle)
  • Některé modely vyžadují GPU pro rozumné časy trénování
  • Předtrénované modely jsou používány, kde je to možné, pro snížení výpočetních požadavků

Výkonnostní úvahy

  • Pozdější lekce počítačového vidění (CNN, GAN) těží z GPU
  • Lekce NLP s transformery mohou vyžadovat značné množství RAM
  • Trénování od začátku je vzdělávací, ale časově náročné
  • Příklady transferového učení minimalizují čas trénování

Upozornění:
Tento dokument byl přeložen pomocí služby pro automatický překlad Co-op Translator. I když se snažíme o co největší přesnost, mějte prosím na paměti, že automatické překlady mohou obsahovat chyby nebo nepřesnosti. Za autoritativní zdroj by měl být považován původní dokument v jeho původním jazyce. Pro důležité informace doporučujeme profesionální lidský překlad. Neodpovídáme za žádná nedorozumění nebo nesprávné výklady vyplývající z použití tohoto překladu.