Jetson Beispiele Schnellstart

Einführung

Das jetson-examples Repository von Seeed Studios bietet vorgefertigte, sofort ausführbare KI-Beispiele für NVIDIA Jetson-Geräte. Anstatt Stunden mit der Einrichtung von Umgebungen und Abhängigkeiten zu verbringen, können Sie komplexe KI-Modelle mit einem einzigen Befehl über Docker-Container bereitstellen.

Dieses Modul zeigt Ihnen, wie Sie das jetson-examples CLI-Tool verwenden, um LLMs und andere KI-Modelle schnell auf Ihrem Jetson-Gerät bereitzustellen.

jetson-examples

Was ist jetson-examples?

jetson-examples ist ein Kommandozeilen-Tool, das:

  • Ein-Zeilen-Bereitstellung für beliebte KI-Modelle bietet
  • Docker-Container für isolierte, reproduzierbare Umgebungen verwendet
  • Voroptimierte Konfigurationen für Jetson-Hardware enthält
  • Mehrere Frameworks unterstützt: PyTorch, TensorRT, Ollama und mehr
FunktionBeschreibung
Einfache InstallationInstallation mit pip3 install jetson-examples
Ein-Befehl-AusführungreComputer run zur Bereitstellung
Docker-basiertKonsistente Umgebungen auf allen Geräten
Automatische KonfigurationVorge tuning für Jetson-Leistung
Regelmäßige UpdatesRegelmäßig neue Beispiele hinzugefügt

Installation

CLI-Tool installieren

bash
# jetson-examples über pip installieren
pip3 install jetson-examples

# Installation überprüfen
reComputer --help

Alternative: Manuelle Docker-Einrichtung

Wenn Sie manuelle Kontrolle bevorzugen:

bash
# Docker installieren (falls noch nicht vorhanden)
sudo apt-get update
sudo apt-get install -y docker.io

# Benutzer zur docker-Gruppe hinzufügen (erfordert Abmelden/Anmelden)
sudo usermod -aG docker $USER

# Docker überprüfen
docker --version

jetson-examples-install

Verfügbare LLM-Beispiele

Hier sind die LLM-bezogenen Beispiele im jetson-examples Repository:

Nur-Text LLMs

BeispielTypModellgrößeBefehl
llama3Text (LLM)4.9GB ModellreComputer run llama3
gemma4Text (LLM)2.5GB ModellreComputer run gemma4
qwen3.5-4bText (LLM)2.5GB ModellreComputer run qwen3.5-4b
qwen3.6-35bText (LLM)28GB ModellreComputer run qwen3.6-35b
nemotron-3-nanoText (LLM)24.5GB ModellreComputer run nemotron-3-nano
text-generation-webuiText (LLM)3.9GB ModellreComputer run text-generation-webui

Vision-Language-Modelle (VLM)

BeispielTypModellgrößeBefehl
llava-v1.5VLM13GB ModellreComputer run llava-v1.5-7b
llava-v1.6VLM13GB ModellreComputer run llava-v1.6-vicuna-7b
live-vlm-webuiVLM13GB ModellreComputer run live-vlm-webui
gemma4VLM2.5GB ModellreComputer run gemma4

Audio & Sprache

BeispielTypModellgrößeBefehl
whisperASR (Sprache-zu-Text)1.5GB ModellreComputer run whisper
parler-ttsTTS (Text-zu-Sprache)6.9GB ImagereComputer run parler-tts

Inferenz-Server

BeispielTypModellgrößeBefehl
ollamaInferenz-Server10.5GB ImagereComputer run ollama

Erste Schritte

Beispiel 1: Ollama ausführen

Der schnellste Weg, mit LLMs auf Jetson zu beginnen:

bash
# Ollama mit Docker bereitstellen
reComputer run ollama

Sobald es läuft, können Sie Modelle herunterladen und ausführen:

bash
# In den Docker-Container eintreten
docker exec -it ollama bash

# Modell herunterladen und ausführen
ollama run llama3.2:3b

Beispiel 2: Vision-Language-Modell ausführen

bash
# LLaVA für Bildverständnis bereitstellen
reComputer run llava-v1.5-7b

Dies richtet ein Modell ein, das Bilder verstehen und beschreiben kann.

Beispiel 3: Text-Generation-WebUI bereitstellen

Für eine voll ausgestattete Web-Oberfläche zur Interaktion mit LLMs:

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

Auf die Web-Oberfläche zugreifen unter http://localhost:5000.

Beispiel 4: Whisper für Spracherkennung bereitstellen

bash
# OpenAI Whisper für Sprache-zu-Text bereitstellen
reComputer run whisper

Praktisches Beispiel: Chatbot erstellen

Lassen Sie uns alles zusammenfügen, um einen einfachen Chatbot mit jetson-examples zu erstellen:

Schritt 1: Ollama bereitstellen

bash
reComputer run ollama

Schritt 2: Modell herunterladen

bash
# Laufende Container prüfen
docker ps

# In den Ollama-Container eintreten
docker exec -it ollama ollama pull llama3.2:3b

Schritt 3: Über API testen

bash
# Die 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
}'

Schritt 4: Python-Integration

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"]

# Interaktiver 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")

Container verwalten

Häufige Docker-Befehle

bash
# Laufende Container auflisten
docker ps

# Alle Container auflisten (einschließlich gestoppter)
docker ps -a

# Container-Logs anzeigen
docker logs <container-name>

# Container stoppen
docker stop <container-name>

# Container neu starten
docker restart <container-name>

# Container entfernen
docker rm <container-name>

# In laufenden Container eintreten
docker exec -it <container-name> bash

Ressourcenüberwachung

bash
# Container-Ressourcennutzung überwachen
docker stats

# Festplattennutzung prüfen
docker system df

Bereitstellungen anpassen

Umgebungsvariablen

Viele Beispiele unterstützen Konfiguration über Umgebungsvariablen:

bash
# Beispiel: Modellparameter für Ollama setzen
docker run -d \
  --name ollama \
  --gpus all \
  -e OLLAMA_HOST=0.0.0.0:11434 \
  -p 11434:11434 \
  ollama/ollama:latest

Volume-Mounts

Daten zwischen Container-Neustarts persistieren:

bash
# Lokales Verzeichnis für Modellspeicherung mounten
docker run -d \
  --name ollama \
  --gpus all \
  -v /path/to/models:/root/.ollama \
  -p 11434:11434 \
  ollama/ollama:latest

Netzwerkkonfiguration

Von anderen Geräten in Ihrem Netzwerk auf Dienste zugreifen:

bash
# An alle Interfaces binden (nicht nur localhost)
docker run -d \
  --name ollama \
  --gpus all \
  -p 0.0.0.0:11434:11434 \
  ollama/ollama:latest

Leistungstipps

1. GPU-Passthrough verwenden

Stellen Sie immer sicher, dass Docker GPU-Zugriff hat:

bash
# GPU-Zugriff im Container überprüfen
docker exec -it <container-name> nvidia-smi

2. Angemessenen Speicher zuweisen

bash
# Container-Speicher begrenzen (optional, für Multi-Container-Setups)
docker run -d \
  --name ollama \
  --gpus all \
  --memory=12g \
  --memory-swap=16g \
  ollama/ollama:latest

3. SSD-Speicher verwenden

Modelle laden schneller von SSD als von SD-Karte oder eMMC.

Häufige Probleme und Lösungen

Problem 1: Docker-Berechtigung verweigert

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

Lösung:

bash
# Benutzer zur docker-Gruppe hinzufügen
sudo usermod -aG docker $USER

# Abmelden und wieder anmelden, damit Änderungen wirksam werden
# Oder in aktueller Sitzung ausführen:
newgrp docker

Problem 2: Container startet nicht

Problem: Container beendet sich sofort nach dem Start

Lösung:

bash
# Container-Logs auf Fehler prüfen
docker logs <container-name>

# Verfügbare Ressourcen prüfen
free -h
df -h
nvidia-smi

Beispiel-Repositories und Projekte

Erkunden Sie diese Beispiele aus dem jetson-examples Repository:

llama-factory

LLMs auf Ihrem Jetson-Gerät feintunen:

bash
reComputer run llama-factory

Modell/Datengröße: 13.5GB

live-vlm-webui

Echtzeit-Vision-Language-Modell-Interface:

bash
reComputer run live-vlm-webui

Funktionen: Live-Kamerafeed-Verarbeitung mit KI-Verständnis

deep-live-cam

Echtzeit-Gesichtsaustausch und -verarbeitung:

bash
reComputer run deep-live-cam

Übungsaufgaben

  1. jetson-examples Tool installieren
  2. Ollama bereitstellen und llama3.2:3b ausführen
  3. LLaVA bereitstellen für Bildverständnis
  4. Ein Python-Skript erstellen, das mit dem bereitgestellten Modell interagiert
  5. Open WebUI einrichten für eine grafische Oberfläche
  6. Andere Beispiele im Repository erkunden

Referenzen


Weiter: Fahren Sie mit Modul 5.6: ASR + LLM + TTS Pipeline erstellen fort, um einen vollständigen Sprachassistenten zu erstellen!