Jetson Voorbeelden Snelstart

Introductie

De jetson-examples repository van Seeed Studios biedt vooraf gebouwde, kant-en-klare AI-voorbeelden voor NVIDIA Jetson-apparaten. In plaats van uren te besteden aan het instellen van omgevingen en afhankelijkheden, kun je complexe AI-modellen implementeren met één commando met behulp van Docker-containers.

Deze module laat zien hoe je het jetson-examples CLI-hulpmiddel gebruikt om snel LLMs en andere AI-modellen op je Jetson-apparaat te implementeren.

jetson-examples

Wat is jetson-examples?

jetson-examples is een command-line tool die:

  • een-regel implementatie biedt voor populaire AI-modellen
  • Docker-containers gebruikt voor geïsoleerde, reproduceerbare omgevingen
  • voor-geoptimaliseerde configuraties bevat voor Jetson-hardware
  • meerdere frameworks ondersteunt: PyTorch, TensorRT, Ollama en meer
FunctieBeschrijving
Eenvoudige installatieInstalleren met pip3 install jetson-examples
Een-commando uitvoeringreComputer run om te implementeren
Docker-gebaseerdConsistente omgevingen op alle apparaten
Auto-configuratieVooraf afgestemd op Jetson-prestaties
Regelmatige updatesNieuwe voorbeelden worden regelmatig toegevoegd

Installatie

CLI-hulpmiddel installeren

bash
# jetson-examples via pip installeren
pip3 install jetson-examples

# Installatie verifiëren
reComputer --help

Alternatief: Handmatige Docker-configuratie

Als je de voorkeur geeft aan handmatige controle:

bash
# Docker installeren (indien nog niet geïnstalleerd)
sudo apt-get update
sudo apt-get install -y docker.io

# Gebruiker toevoegen aan docker-groep (vereist uitloggen/inloggen)
sudo usermod -aG docker $USER

# Docker verifiëren
docker --version

jetson-examples-install

Beschikbare LLM-voorbeelden

Hier zijn de LLM-gerelateerde voorbeelden die beschikbaar zijn in de jetson-examples repository:

Tekst-only LLMs

VoorbeeldTypeModelgrootteCommando
llama3Tekst (LLM)4.9GB modelreComputer run llama3
gemma4Tekst (LLM)2.5GB modelreComputer run gemma4
qwen3.5-4bTekst (LLM)2.5GB modelreComputer run qwen3.5-4b
qwen3.6-35bTekst (LLM)28GB modelreComputer run qwen3.6-35b
nemotron-3-nanoTekst (LLM)24.5GB modelreComputer run nemotron-3-nano
text-generation-webuiTekst (LLM)3.9GB modelreComputer run text-generation-webui

Visie-Taal Modellen (VLM)

VoorbeeldTypeModelgrootteCommando
llava-v1.5VLM13GB modelreComputer run llava-v1.5-7b
llava-v1.6VLM13GB modelreComputer run llava-v1.6-vicuna-7b
live-vlm-webuiVLM13GB modelreComputer run live-vlm-webui
gemma4VLM2.5GB modelreComputer run gemma4

Audio & Spraak

VoorbeeldTypeModelgrootteCommando
whisperASR (Spraak-naar-tekst)1.5GB modelreComputer run whisper
parler-ttsTTS (Tekst-naar-spraak)6.9GB imagereComputer run parler-tts

Inferentie-server

VoorbeeldTypeModelgrootteCommando
ollamaInferentie-server10.5GB imagereComputer run ollama

Aan de slag

Voorbeeld 1: Ollama uitvoeren

De snelste manier om met LLMs op Jetson te beginnen:

bash
# Ollama met Docker implementeren
reComputer run ollama

Eenmaal draaiend, kun je modellen downloaden en uitvoeren:

bash
# De Docker-container binnengaan
docker exec -it ollama bash

# Een model downloaden en uitvoeren
ollama run llama3.2:3b

Voorbeeld 2: Een visie-taal model uitvoeren

bash
# LLaVA implementeren voor beeldbegrip
reComputer run llava-v1.5-7b

Dit stelt een model in dat afbeeldingen kan begrijpen en beschrijven.

Voorbeeld 3: Text Generation WebUI implementeren

Voor een volledig uitgeruste webinterface om met LLMs te communiceren:

bash
# text-generation-webui (Oobabooga) implementeren
reComputer run text-generation-webui

Toegang tot de webinterface op http://localhost:5000.

Voorbeeld 4: Whisper voor spraakherkenning implementeren

bash
# OpenAI Whisper voor spraak-naar-tekst implementeren
reComputer run whisper

Praktisch voorbeeld: Een chatbot bouwen

Laten we alles samenbrengen om een eenvoudige chatbot te maken met jetson-examples:

Stap 1: Ollama implementeren

bash
reComputer run ollama

Stap 2: Een model downloaden

bash
# Draaiende containers controleren
docker ps

# De Ollama-container binnengaan
docker exec -it ollama ollama pull llama3.2:3b

Stap 3: Testen via API

bash
# De chat-API testen
curl http://localhost:11434/api/chat -d '{
  "model": "llama3.2:3b",
  "messages": [
    {"role": "user", "content": "What can you help me with?"}
  ],
  "stream": false
}'

Stap 4: Python-integratie

python
import requests

def chat_with_model(user_message, model="llama3.2:3b"):
    response = requests.post(
        "http://localhost:11434/api/chat",
        json={
            "model": model,
            "messages": [{"role": "user", "content": user_message}],
            "stream": False
        }
    )
    return response.json()["message"]["content"]

# Interactieve chat
while True:
    user_input = input("You: ")
    if user_input.lower() in ['quit', 'exit', 'q']:
        break
    response = chat_with_model(user_input)
    print(f"AI: {response}\n")

Containers beheren

Veelgebruikte Docker-commando's

bash
# Draaiende containers weergeven
docker ps

# Alle containers weergeven (inclusief gestopte)
docker ps -a

# Container logs bekijken
docker logs <container-name>

# Een container stoppen
docker stop <container-name>

# Een container herstarten
docker restart <container-name>

# Een container verwijderen
docker rm <container-name>

# Een draaiende container binnengaan
docker exec -it <container-name> bash

Resource-monitoring

bash
# Container resourcegebruik monitoren
docker stats

# Schijfgebruik controleren
docker system df

Implementaties aanpassen

Omgevingsvariabelen

Veel voorbeelden ondersteunen configuratie via omgevingsvariabelen:

bash
# Voorbeeld: Modelparameters instellen voor Ollama
docker run -d \
  --name ollama \
  --gpus all \
  -e OLLAMA_HOST=0.0.0.0:11434 \
  -p 11434:11434 \
  ollama/ollama:latest

Volume mounts

Data persistent maken tussen container-herstarts:

bash
# Een lokale directory mounten voor modelopslag
docker run -d \
  --name ollama \
  --gpus all \
  -v /path/to/models:/root/.ollama \
  -p 11434:11434 \
  ollama/ollama:latest

Netwerkconfiguratie

Toegang tot services vanaf andere apparaten in je netwerk:

bash
# Aan alle interfaces binden (niet alleen localhost)
docker run -d \
  --name ollama \
  --gpus all \
  -p 0.0.0.0:11434:11434 \
  ollama/ollama:latest

Prestatietips

1. GPU Passthrough gebruiken

Zorg altijd dat Docker GPU-toegang heeft:

bash
# GPU-toegang in container verifiëren
docker exec -it <container-name> nvidia-smi

2. Geschikt geheugen toewijzen

bash
# Containergeheugen beperken (optioneel, voor multi-container setups)
docker run -d \
  --name ollama \
  --gpus all \
  --memory=12g \
  --memory-swap=16g \
  ollama/ollama:latest

3. SSD-opslag gebruiken

Modellen laden sneller van SSD dan van SD-kaart of eMMC.

Veelvoorkomende problemen en oplossingen

Probleem 1: Docker-permissie geweigerd

Probleem: Got permission denied while trying to connect to the Docker daemon socket

Oplossing:

bash
# Gebruiker toevoegen aan docker-groep
sudo usermod -aG docker $USER

# Uitloggen en weer inloggen om wijzigingen te laten werken
# Of uitvoeren in huidige sessie:
newgrp docker

Probleem 2: Container start niet

Probleem: Container stopt direct na starten

Oplossing:

bash
# Container logs controleren op fouten
docker logs <container-name>

# Beschikbare resources controleren
free -h
df -h
nvidia-smi

Voorbeeld repositories en projecten

Verken deze voorbeelden uit de jetson-examples repository:

llama-factory

LLMs fijnafstellen op je Jetson-apparaat:

bash
reComputer run llama-factory

Model/data grootte: 13.5GB

live-vlm-webui

Real-time visie-taal model interface:

bash
reComputer run live-vlm-webui

Functies: Live camerafeed-verwerking met AI-begrip

deep-live-cam

Real-time gezichtsvervanging en -verwerking:

bash
reComputer run deep-live-cam

Oefening

  1. Installeer het jetson-examples hulpmiddel
  2. Implementeer Ollama en voer llama3.2:3b uit
  3. Implementeer LLaVA voor beeldbegrip
  4. Maak een Python-script dat communiceert met het geïmplementeerde model
  5. Stel Open WebUI in voor een grafische interface
  6. Verken andere voorbeelden in de repository

Referenties


Volgende: Ga verder naar Module 5.6: ASR + LLM + TTS Pipeline bouwen om een complete stemassistent te maken!