11 KiB
AGENTS.md
Pregled projekta
AI for Beginners je obsežen 12-tedenski, 24-lekcijski učni načrt, ki pokriva osnove umetne inteligence. Ta izobraževalni repozitorij vključuje praktične lekcije z uporabo Jupyter Notebooks, kvize in praktične laboratorijske vaje. Učni načrt zajema:
- Simbolno AI z reprezentacijo znanja in ekspertnih sistemov
- Nevronske mreže in globoko učenje z TensorFlow in PyTorch
- Tehnike in arhitekture računalniškega vida
- Obdelavo naravnega jezika (NLP), vključno s transformatorji in BERT
- Specializirane teme: genetski algoritmi, okrepljeno učenje, sistemi z več agenti
- Etika AI in načela odgovorne umetne inteligence
Ključne tehnologije: Python 3, Jupyter Notebooks, TensorFlow, PyTorch, Keras, OpenCV, Vue.js (za aplikacijo kvizov)
Arhitektura: Izobraževalni repozitorij z vsebinami, organiziranimi po tematskih področjih, dopolnjen z aplikacijo za kvize, ki temelji na Vue.js, ter obsežno podporo za več jezikov.
Ukazi za nastavitev
Primarno razvojno okolje (Python/Jupyter)
Učni načrt je zasnovan za uporabo s Pythonom in Jupyter Notebooks. Priporočena metoda je uporaba 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: Uporaba devcontainer
# Open in VS Code and select "Reopen in Container" when prompted
# The devcontainer will automatically set up the environment
Nastavitev aplikacije za kvize
Aplikacija za kvize je ločena aplikacija Vue.js, ki se nahaja 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
Razvojni potek dela
Delo z Jupyter Notebooks
-
Lokalni razvoj:
- Aktivirajte conda okolje:
conda activate ai4beg - Zaženite Jupyter:
jupyter notebookalijupyter lab - Pomaknite se do map z lekcijami in odprite
.ipynbdatoteke - Interaktivno izvajajte celice za sledenje lekcijam
- Aktivirajte conda okolje:
-
VS Code z razširitvijo za Python:
- Odprite repozitorij v VS Code
- Namestite razširitev za Python
- VS Code samodejno zazna in uporabi conda okolje
- Neposredno odprite
.ipynbdatoteke v VS Code
-
Razvoj v oblaku:
- GitHub Codespaces: Kliknite "Code" → "Codespaces" → "Create codespace on main"
- Binder: Uporabite značko Binder v README za zagon v brskalniku
- Opomba: Binder ima omejene vire in nekatere omejitve dostopa do spleta
Podpora za GPU pri naprednih lekcijah
Kasnejše lekcije močno koristijo pospeševanje z GPU:
- Azure Data Science VM: Uporabite NC-serijo VM-jev z GPU podporo
- Azure Machine Learning: Uporabite funkcije zvezkov z GPU računalništvom
- Google Colab: Posamezno naložite zvezke (ima brezplačno GPU podporo)
Razvoj aplikacije za kvize
cd etc/quiz-app
npm run serve # Hot-reload development server at http://localhost:8080
Navodila za testiranje
To je izobraževalni repozitorij, osredotočen na učne vsebine, ne na testiranje programske opreme. Tradicionalni testni paket ni na voljo.
Pristopi za validacijo:
- Jupyter Notebooks: Zaporedno izvajajte celice, da preverite delovanje primerov kode
- Testiranje aplikacije za kvize: Ročno testiranje prek razvojnega strežnika
- Validacija prevodov: Preverite prevedene vsebine v mapi
translations/ - Linting aplikacije za kvize:
npm run lintvetc/quiz-app/
Izvajanje primerov kode:
# 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
Slog kode
Slog Python kode
- Standardne Python konvencije za izobraževalno kodo
- Jasna, berljiva koda, ki daje prednost učenju pred optimizacijo
- Komentarji, ki pojasnjujejo ključne koncepte
- Prijazno za Jupyter Notebook: celice naj bodo čim bolj samostojne
- Brez strogih zahtev za linting pri vsebinah lekcij
JavaScript/Vue.js (aplikacija za kvize)
- ESLint konfiguracija v
etc/quiz-app/package.json - Zaženite
npm run lintza preverjanje in samodejno odpravljanje težav - Konvencije Vue 2.x
- Arhitektura, ki temelji na komponentah
Organizacija datotek
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
Gradnja in uvajanje
Vsebina Jupyter
Gradnja ni potrebna - Jupyter Notebooks se izvajajo neposredno.
Aplikacija za kvize
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
Spletno mesto dokumentacije
Repozitorij uporablja Docsify za dokumentacijo:
index.htmlsluži kot vstopna točka- Gradnja ni potrebna - neposredno dostopno prek GitHub Pages
- Dostop na: https://microsoft.github.io/AI-For-Beginners/
Smernice za prispevanje
Postopek za Pull Request
- Oblika naslova: Jasni, opisni naslovi, ki opisujejo spremembo
- Zahteva CLA: Microsoft CLA mora biti podpisan (samodejna preverba)
- Smernice za vsebino:
- Ohranjajte izobraževalni fokus in pristop, prijazen začetnikom
- Testirajte vse primere kode v zvezkih
- Zagotovite, da zvezki delujejo od začetka do konca
- Posodobite prevode, če spreminjate vsebine v angleščini
- Spremembe aplikacije za kvize: Zaženite
npm run lintpred potrditvijo
Prispevki k prevodom
- Prevajanja so avtomatizirana prek GitHub Actions z uporabo co-op-translator
- Ročni prevodi gredo v
translations/<language-code>/ - Prevodi kvizov v
etc/quiz-app/src/assets/translations/ - Podprti jeziki: več kot 40 jezikov (glejte README za celoten seznam)
Aktivna področja prispevkov
Glejte etc/CONTRIBUTING.md za trenutne potrebe:
- Sekcije globokega okrepljenega učenja
- Izboljšave pri zaznavanju objektov
- Primeri prepoznavanja imenovanih entitet
- Vzorci za usposabljanje prilagojenih vdelav
Konfiguracija okolja
Zahtevane odvisnosti
# 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
Spremenljivke okolja
Za osnovno uporabo niso potrebne posebne spremenljivke okolja.
Za uvajanje na Azure (aplikacija za kvize):
AZURE_STATIC_WEB_APPS_API_TOKEN(samodejno nastavljeno prek Azure)
Odpravljanje napak in težav
Pogoste težave
Težava: Ustvarjanje conda okolja ne uspe
- Rešitev: Najprej posodobite conda:
conda update conda -y - Prepričajte se, da imate dovolj prostora na disku (priporočeno 50GB)
Težava: Jupyter jedro ni najdeno
- Rešitev:
conda activate ai4beg python -m ipykernel install --user --name ai4beg
Težava: GPU ni zaznan v zvezkih
- Rešitev:
- Preverite namestitev CUDA:
nvidia-smi - Preverite GPU v PyTorch:
python -c "import torch; print(torch.cuda.is_available())" - Preverite GPU v TensorFlow:
python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"
- Preverite namestitev CUDA:
Težava: Aplikacija za kvize se ne zažene
- Rešitev:
cd etc/quiz-app rm -rf node_modules package-lock.json npm install npm run serve
Težava: Binder se izteče ali blokira prenose
- Rešitev: Uporabite GitHub Codespaces ali lokalno nastavitev za boljši dostop do virov
Težave z pomnilnikom
Nekatere lekcije zahtevajo veliko RAM-a (priporočeno 8GB+):
- Uporabite VM-je v oblaku za lekcije, ki zahtevajo veliko virov
- Zaprite druge aplikacije med usposabljanjem modelov
- Zmanjšajte velikosti serij v zvezkih, če zmanjkuje pomnilnika
Dodatne opombe
Za učitelje tečaja
- Glejte
lessons/0-course-setup/for-teachers.mdza smernice poučevanja - Lekcije so samostojne in jih je mogoče učiti zaporedno ali izbrati posamezno
- Ocenjen čas: 12 tednov, 2 lekciji na teden
Viri v oblaku
- Azure za študente: Brezplačni krediti na voljo za študente
- Microsoft Learn: Dodatne učne poti, povezane skozi celoten tečaj
- Binder: Brezplačno, vendar omejeni viri in nekatere omejitve omrežja
Možnosti izvajanja kode
- Lokalno (priporočeno): Popoln nadzor, najboljša zmogljivost, podpora za GPU
- GitHub Codespaces: Oblak, ki temelji na VS Code, dobro za hiter dostop
- Binder: Jupyter v brskalniku, brezplačno, vendar omejeno
- Azure ML Notebooks: Možnost za podjetja z GPU podporo
- Google Colab: Posamezno naložite zvezke, na voljo brezplačna GPU raven
Delo z zvezki
- Zvezki so zasnovani za izvajanje celice po celici za učenje
- Veliko zvezkov ob prvem zagonu prenese podatkovne nabore (lahko traja nekaj časa)
- Nekateri modeli zahtevajo GPU za razumno časovno usposabljanje
- Predhodno usposobljeni modeli se uporabljajo, kjer je mogoče, za zmanjšanje zahtev po računalniški moči
Premisleki o zmogljivosti
- Kasnejše lekcije računalniškega vida (CNN, GAN) koristijo GPU
- Lekcije NLP transformatorjev lahko zahtevajo veliko RAM-a
- Usposabljanje od začetka je poučno, vendar zamudno
- Primeri prenosa učenja zmanjšujejo čas usposabljanja
Omejitev odgovornosti:
Ta dokument je bil preveden z uporabo storitve AI za prevajanje Co-op Translator. Čeprav si prizadevamo za natančnost, vas prosimo, da upoštevate, da lahko avtomatizirani prevodi vsebujejo napake ali netočnosti. Izvirni dokument v njegovem maternem jeziku je treba obravnavati kot avtoritativni vir. Za ključne informacije priporočamo profesionalni človeški prevod. Ne prevzemamo odgovornosti za morebitne nesporazume ali napačne razlage, ki bi nastale zaradi uporabe tega prevoda.