10 KiB
AGENTS.md
Prosjektoversikt
AI for Beginners er et omfattende 12-ukers, 24-leksjons pensum som dekker grunnleggende prinsipper innen kunstig intelligens. Dette utdanningslageret inkluderer praktiske leksjoner med Jupyter Notebooks, quizzer og praktiske laboratorier. Pensumet dekker:
- Symbolsk AI med kunnskapsrepresentasjon og ekspertssystemer
- Nevrale nettverk og dyp læring med TensorFlow og PyTorch
- Datamaskinsynsteknikker og arkitekturer
- Naturlig språkbehandling (NLP) inkludert transformatorer og BERT
- Spesialiserte emner: genetiske algoritmer, forsterkende læring, multi-agent systemer
- AI-etikk og prinsipper for ansvarlig AI
Nøkkelteknologier: Python 3, Jupyter Notebooks, TensorFlow, PyTorch, Keras, OpenCV, Vue.js (for quiz-app)
Arkitektur: Utdanningsinnholdslager med Jupyter Notebooks organisert etter emneområder, supplert med en Vue.js-basert quiz-applikasjon og omfattende flerspråklig støtte.
Oppsettskommandoer
Primært utviklingsmiljø (Python/Jupyter)
Pensumet er designet for å kjøre med Python og Jupyter Notebooks. Den anbefalte tilnærmingen er å bruke 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
Alternativ: Bruke devcontainer
# Open in VS Code and select "Reopen in Container" when prompted
# The devcontainer will automatically set up the environment
Oppsett av quiz-applikasjon
Quiz-appen er en separat Vue.js-applikasjon som ligger i 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
Utviklingsarbeidsflyt
Arbeide med Jupyter Notebooks
-
Lokal utvikling:
- Aktiver conda-miljø:
conda activate ai4beg - Start Jupyter:
jupyter notebookellerjupyter lab - Naviger til leksjonsmapper og åpne
.ipynb-filer - Kjør celler interaktivt for å følge leksjonene
- Aktiver conda-miljø:
-
VS Code med Python-utvidelse:
- Åpne lageret i VS Code
- Installer Python-utvidelsen
- VS Code oppdager og bruker automatisk conda-miljøet
- Åpne
.ipynb-filer direkte i VS Code
-
Skyutvikling:
- GitHub Codespaces: Klikk "Code" → "Codespaces" → "Create codespace on main"
- Binder: Bruk Binder-merket på README for å starte i nettleseren
- Merk: Binder har begrensede ressurser og noen begrensninger for nettverkstilgang
GPU-støtte for avanserte leksjoner
Senere leksjoner drar betydelig nytte av GPU-akselerasjon:
- Azure Data Science VM: Bruk NC-serie VM-er med GPU-støtte
- Azure Machine Learning: Bruk notatbokfunksjoner med GPU-beregning
- Google Colab: Last opp notatbøker individuelt (har gratis GPU-støtte)
Utvikling av quiz-app
cd etc/quiz-app
npm run serve # Hot-reload development server at http://localhost:8080
Testinstruksjoner
Dette er et utdanningslager fokusert på læringsinnhold snarere enn programvaretesting. Det finnes ingen tradisjonell testpakke.
Valideringsmetoder:
- Jupyter Notebooks: Kjør celler sekvensielt for å bekrefte at kodeeksempler fungerer
- Quiz-app testing: Manuell testing via utviklingsserver
- Validering av oversettelser: Sjekk oversatt innhold i
translations/-mappen - Linting av quiz-app:
npm run lintietc/quiz-app/
Kjøre kodeeksempler:
# 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
Kodestil
Python-kodestil
- Standard Python-konvensjoner for utdanningskode
- Klar, lesbar kode som prioriterer læring fremfor optimalisering
- Kommentarer som forklarer viktige konsepter
- Jupyter Notebook-vennlig: celler bør være selvstendige der det er mulig
- Ingen strenge lintingkrav for leksjonsinnhold
JavaScript/Vue.js (Quiz-app)
- ESLint-konfigurasjon i
etc/quiz-app/package.json - Kjør
npm run lintfor å sjekke og automatisk fikse problemer - Vue 2.x-konvensjoner
- Komponentbasert arkitektur
Filorganisering
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
Bygging og distribusjon
Jupyter-innhold
Ingen byggeprosess kreves - Jupyter Notebooks kjøres direkte.
Quiz-applikasjon
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
Dokumentasjonsnettsted
Lageret bruker Docsify for dokumentasjon:
index.htmlfungerer som inngangspunkt- Ingen bygging kreves - serveres direkte via GitHub Pages
- Tilgang på: https://microsoft.github.io/AI-For-Beginners/
Retningslinjer for bidrag
Prosess for pull requests
- Tittelformat: Klare, beskrivende titler som beskriver endringen
- CLA-krav: Microsoft CLA må signeres (automatisk sjekk)
- Innholdsretningslinjer:
- Oppretthold fokus på utdanning og nybegynnervennlig tilnærming
- Test alle kodeeksempler i notatbøker
- Sørg for at notatbøker kjører fra start til slutt
- Oppdater oversettelser hvis du endrer innhold på engelsk
- Endringer i quiz-app: Kjør
npm run lintfør du sender inn
Oversettelsesbidrag
- Oversettelser er automatisert via GitHub Actions ved bruk av co-op-translator
- Manuelle oversettelser legges i
translations/<language-code>/ - Quiz-oversettelser i
etc/quiz-app/src/assets/translations/ - Støttede språk: 40+ språk (se README for full liste)
Aktive bidragsområder
Se etc/CONTRIBUTING.md for nåværende behov:
- Seksjoner om dyp forsterkende læring
- Forbedringer i objektdeteksjon
- Eksempler på navngitt enhetsgjenkjenning
- Eksempler på tilpasset embedding-trening
Miljøkonfigurasjon
Nødvendige avhengigheter
# 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
Miljøvariabler
Ingen spesielle miljøvariabler kreves for grunnleggende bruk.
For Azure-distribusjoner (quiz-app):
AZURE_STATIC_WEB_APPS_API_TOKEN(settes automatisk av Azure)
Feilsøking og problemløsning
Vanlige problemer
Problem: Oppretting av conda-miljø mislykkes
- Løsning: Oppdater først conda:
conda update conda -y - Sørg for tilstrekkelig diskplass (50GB anbefalt)
Problem: Jupyter-kjerne ikke funnet
- Løsning:
conda activate ai4beg python -m ipykernel install --user --name ai4beg
Problem: GPU ikke oppdaget i notatbøker
- Løsning:
- Verifiser CUDA-installasjon:
nvidia-smi - Sjekk PyTorch GPU:
python -c "import torch; print(torch.cuda.is_available())" - Sjekk TensorFlow GPU:
python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"
- Verifiser CUDA-installasjon:
Problem: Quiz-app starter ikke
- Løsning:
cd etc/quiz-app rm -rf node_modules package-lock.json npm install npm run serve
Problem: Binder tidsavbryter eller blokkerer nedlastinger
- Løsning: Bruk GitHub Codespaces eller lokal oppsett for bedre ressursbruk
Minneproblemer
Noen leksjoner krever betydelig RAM (8GB+ anbefalt):
- Bruk sky-VM-er for ressurskrevende leksjoner
- Lukk andre applikasjoner når du trener modeller
- Reduser batch-størrelser i notatbøker hvis du går tom for minne
Tilleggsnotater
For kursinstruktører
- Se
lessons/0-course-setup/for-teachers.mdfor undervisningsveiledning - Leksjonene er selvstendige og kan undervises i rekkefølge eller velges individuelt
- Estimert tid: 12 uker med 2 leksjoner per uke
Skyressurser
- Azure for Students: Gratis kreditter tilgjengelig for studenter
- Microsoft Learn: Supplerende læringsstier lenket gjennom hele kurset
- Binder: Gratis, men begrensede ressurser og noen nettverksrestriksjoner
Alternativer for kodekjøring
- Lokal (anbefalt): Full kontroll, best ytelse, GPU-støtte
- GitHub Codespaces: Skybasert VS Code, bra for rask tilgang
- Binder: Nettleserbasert Jupyter, gratis men begrenset
- Azure ML Notebooks: Bedriftsalternativ med GPU-støtte
- Google Colab: Last opp notatbøker individuelt, gratis GPU-nivå tilgjengelig
Arbeide med notatbøker
- Notatbøker er designet for å kjøres celle-for-celle for læring
- Mange notatbøker laster ned datasett ved første kjøring (kan ta tid)
- Noen modeller krever GPU for rimelige treningstider
- Forhåndstrente modeller brukes der det er mulig for å redusere beregningskrav
Ytelseshensyn
- Senere leksjoner om datamaskinsyn (CNNs, GANs) drar nytte av GPU
- NLP-transformatorleksjoner kan kreve betydelig RAM
- Trening fra bunnen av er lærerikt, men tidkrevende
- Eksempler på overføringslæring minimerer treningstid
Ansvarsfraskrivelse:
Dette dokumentet er oversatt ved hjelp av AI-oversettelsestjenesten Co-op Translator. Selv om vi tilstreber nøyaktighet, vær oppmerksom på at automatiserte oversettelser kan inneholde feil eller unøyaktigheter. Det originale dokumentet på sitt opprinnelige språk bør anses som den autoritative kilden. For kritisk informasjon anbefales profesjonell menneskelig oversettelse. Vi er ikke ansvarlige for eventuelle misforståelser eller feiltolkninger som oppstår ved bruk av denne oversettelsen.