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

11 KiB

AGENTS.md

Projectoverzicht

AI for Beginners is een uitgebreide 12-weekse, 24-lessen curriculum die de basisprincipes van Kunstmatige Intelligentie behandelt. Deze educatieve repository bevat praktische lessen met Jupyter Notebooks, quizzen en hands-on labs. Het curriculum omvat:

  • Symbolische AI met kennisrepresentatie en expertsystemen
  • Neurale netwerken en deep learning met TensorFlow en PyTorch
  • Computer Vision-technieken en -architecturen
  • Natural Language Processing (NLP), inclusief transformers en BERT
  • Gespecialiseerde onderwerpen: genetische algoritmen, reinforcement learning, multi-agent systemen
  • AI-ethiek en principes van verantwoorde AI

Belangrijke technologieën: Python 3, Jupyter Notebooks, TensorFlow, PyTorch, Keras, OpenCV, Vue.js (voor quiz-app)

Architectuur: Educatieve contentrepository met Jupyter Notebooks georganiseerd per onderwerp, aangevuld met een Vue.js-gebaseerde quizapplicatie en uitgebreide meertalige ondersteuning.

Setupcommando's

Primaire ontwikkelomgeving (Python/Jupyter)

Het curriculum is ontworpen om te werken met Python en Jupyter Notebooks. De aanbevolen aanpak is het gebruik van 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

Alternatief: Gebruik van devcontainer

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

Setup van de quizapplicatie

De quizapp is een aparte Vue.js-applicatie die zich bevindt in 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

Ontwikkelworkflow

Werken met Jupyter Notebooks

  1. Lokale ontwikkeling:

    • Activeer conda-omgeving: conda activate ai4beg
    • Start Jupyter: jupyter notebook of jupyter lab
    • Navigeer naar lesmappen en open .ipynb-bestanden
    • Voer cellen interactief uit om de lessen te volgen
  2. VS Code met Python-extensie:

    • Open de repository in VS Code
    • Installeer de Python-extensie
    • VS Code detecteert en gebruikt automatisch de conda-omgeving
    • Open .ipynb-bestanden direct in VS Code
  3. Cloudontwikkeling:

    • GitHub Codespaces: Klik op "Code" → "Codespaces" → "Create codespace on main"
    • Binder: Gebruik de Binder-badge in README om in de browser te starten
    • Opmerking: Binder heeft beperkte resources en enkele beperkingen voor webtoegang

GPU-ondersteuning voor geavanceerde lessen

Latere lessen profiteren aanzienlijk van GPU-versnelling:

  • Azure Data Science VM: Gebruik NC-serie VM's met GPU-ondersteuning
  • Azure Machine Learning: Gebruik notebookfuncties met GPU-compute
  • Google Colab: Upload notebooks afzonderlijk (gratis GPU-ondersteuning beschikbaar)

Ontwikkeling van de quizapp

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

Testinstructies

Dit is een educatieve repository gericht op leerinhoud in plaats van softwaretesten. Er is geen traditionele test-suite.

Validatiebenaderingen:

  1. Jupyter Notebooks: Voer cellen opeenvolgend uit om te verifiëren dat codevoorbeelden werken
  2. Quizapp testen: Handmatig testen via ontwikkelserver
  3. Validatie van vertalingen: Controleer vertaalde inhoud in de map translations/
  4. Linting van quizapp: npm run lint in etc/quiz-app/

Uitvoeren van codevoorbeelden:

# 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

Code stijl

Python-code stijl

  • Standaard Python-conventies voor educatieve code
  • Duidelijke, leesbare code die leren boven optimalisatie stelt
  • Commentaar dat belangrijke concepten uitlegt
  • Jupyter Notebook-vriendelijk: cellen moeten waar mogelijk zelfstandig zijn
  • Geen strikte lintingvereisten voor lesinhoud

JavaScript/Vue.js (Quizapp)

  • ESLint-configuratie in etc/quiz-app/package.json
  • Voer npm run lint uit om problemen te controleren en automatisch op te lossen
  • Vue 2.x-conventies
  • Componentgebaseerde architectuur

Bestandsorganisatie

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

Build en deployment

Jupyter-inhoud

Geen buildproces vereist - Jupyter Notebooks worden direct uitgevoerd.

Quizapplicatie

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

Documentatiesite

De repository gebruikt Docsify voor documentatie:

Richtlijnen voor bijdragen

Pull request-proces

  1. Titel formaat: Duidelijke, beschrijvende titels die de wijziging beschrijven
  2. CLA-vereiste: Microsoft CLA moet worden ondertekend (automatische controle)
  3. Inhoud richtlijnen:
    • Behoud educatieve focus en beginnersvriendelijke aanpak
    • Test alle codevoorbeelden in notebooks
    • Zorg ervoor dat notebooks van begin tot eind werken
    • Werk vertalingen bij als Engelse inhoud wordt gewijzigd
  4. Wijzigingen in quizapp: Voer npm run lint uit voordat je commit

Bijdragen aan vertalingen

  • Vertalingen worden geautomatiseerd via GitHub Actions met co-op-translator
  • Handmatige vertalingen gaan in translations/<language-code>/
  • Quizvertalingen in etc/quiz-app/src/assets/translations/
  • Ondersteunde talen: 40+ talen (zie README voor volledige lijst)

Actieve bijdragegebieden

Zie etc/CONTRIBUTING.md voor huidige behoeften:

  • Secties over deep reinforcement learning
  • Verbeteringen in objectdetectie
  • Voorbeelden van named entity recognition
  • Voorbeelden van training van aangepaste embeddings

Omgevingsconfiguratie

Vereiste afhankelijkheden

# 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

Omgevingsvariabelen

Geen speciale omgevingsvariabelen vereist voor basisgebruik.

Voor Azure-deployments (quizapp):

  • AZURE_STATIC_WEB_APPS_API_TOKEN (automatisch ingesteld door Azure)

Debugging en probleemoplossing

Veelvoorkomende problemen

Probleem: Aanmaken van conda-omgeving mislukt

  • Oplossing: Update eerst conda: conda update conda -y
  • Zorg voor voldoende schijfruimte (50GB aanbevolen)

Probleem: Jupyter-kernel niet gevonden

  • Oplossing:
    conda activate ai4beg
    python -m ipykernel install --user --name ai4beg
    

Probleem: GPU niet gedetecteerd in notebooks

  • Oplossing:
    • Controleer CUDA-installatie: nvidia-smi
    • Controleer PyTorch GPU: python -c "import torch; print(torch.cuda.is_available())"
    • Controleer TensorFlow GPU: python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"

Probleem: Quizapp start niet

  • Oplossing:
    cd etc/quiz-app
    rm -rf node_modules package-lock.json
    npm install
    npm run serve
    

Probleem: Binder loopt vast of blokkeert downloads

  • Oplossing: Gebruik GitHub Codespaces of lokale setup voor betere toegang tot resources

Geheugenproblemen

Sommige lessen vereisen veel RAM (8GB+ aanbevolen):

  • Gebruik cloud-VM's voor resource-intensieve lessen
  • Sluit andere applicaties tijdens het trainen van modellen
  • Verminder batchgroottes in notebooks als het geheugen opraakt

Aanvullende opmerkingen

Voor cursusinstructeurs

  • Zie lessons/0-course-setup/for-teachers.md voor lesinstructies
  • Lessen zijn zelfstandig en kunnen in volgorde of afzonderlijk worden gegeven
  • Geschatte tijd: 12 weken met 2 lessen per week

Cloudresources

  • Azure for Students: Gratis tegoeden beschikbaar voor studenten
  • Microsoft Learn: Aanvullende leerpaden gekoppeld door de hele cursus
  • Binder: Gratis maar beperkte resources en enkele netwerkbeperkingen

Opties voor code-uitvoering

  1. Lokaal (Aanbevolen): Volledige controle, beste prestaties, GPU-ondersteuning
  2. GitHub Codespaces: Cloudgebaseerde VS Code, goed voor snelle toegang
  3. Binder: Browsergebaseerde Jupyter, gratis maar beperkt
  4. Azure ML Notebooks: Enterprise-optie met GPU-ondersteuning
  5. Google Colab: Upload notebooks afzonderlijk, gratis GPU-laag beschikbaar

Werken met notebooks

  • Notebooks zijn ontworpen om cel-voor-cel te worden uitgevoerd voor leerdoeleinden
  • Veel notebooks downloaden datasets bij de eerste uitvoering (kan tijd kosten)
  • Sommige modellen vereisen GPU voor redelijke trainingstijden
  • Voorgetrainde modellen worden waar mogelijk gebruikt om rekenvereisten te verminderen

Prestatieoverwegingen

  • Latere lessen over computer vision (CNN's, GAN's) profiteren van GPU
  • NLP-transformerlessen kunnen veel RAM vereisen
  • Training vanaf nul is educatief maar tijdrovend
  • Voorbeelden van transfer learning minimaliseren trainingstijd

Disclaimer:
Dit document is vertaald met behulp van de AI-vertalingsservice Co-op Translator. Hoewel we streven naar nauwkeurigheid, dient u zich ervan bewust te zijn dat geautomatiseerde vertalingen fouten of onnauwkeurigheden kunnen bevatten. Het originele document in de oorspronkelijke taal moet worden beschouwd als de gezaghebbende bron. Voor kritieke informatie wordt professionele menselijke vertaling aanbevolen. Wij zijn niet aansprakelijk voor eventuele misverstanden of verkeerde interpretaties die voortvloeien uit het gebruik van deze vertaling.