Was macht Uni-Mol Tools – CLI zur Moleküleigenschaftsvorhersage?
Paket: cli-anything-unimol-tools
Befehl: python3 -m cli_anything.unimol_tools
Beschreibung
Interaktive CLI zum Trainieren und zur Inferenz von Modellen zur Vorhersage molekularer Eigenschaften unter Verwendung von Uni-Mol Tools. Unterstützt fünf Aufgabentypen: binäre Klassifikation, Regression, Multiklassenklassifikation, Multi-Label-Klassifikation und Multi-Label-Regression.
Hauptfunktionen
- Projektverwaltung: Organisieren Sie Experimente mit benannten Projekten
- 5 Aufgabentypen: Klassifikation, Regression, Multiklassen-, Multi-Label-Varianten
- Modellverfolgung: Automatische Leistungshistorie und Rangfolgen
- Intelligente Speicherung: Nutzung analysieren und leistungsschwache Modelle bereinigen
- JSON-API: Vollständige Automatisierungsunterstützung mit
--json-Flag
Häufige Befehle
Projektverwaltung
# Neues Projekt erstellen
project create --name drug_discovery
# Alle Projekte auflisten
project list
# Zu einem Projekt wechseln
project switch --name drug_discovery
Training
# Ein Klassifikationsmodell trainieren
train --data-path train.csv --target-col active --task-type classification --epochs 10
# Ein Regressionsmodell trainieren
train --data-path train.csv --target-col affinity --task-type regression --epochs 10
Modellverwaltung
# Alle trainierten Modelle auflisten
models list
# Modelldetails und Leistung anzeigen
models show --model-id <id>
# Modelle nach Leistung ordnen
models rank
Speicher & Bereinigung
# Speichernutzung analysieren
storage analyze
# Automatische Bereinigung leistungsschwacher Modelle
cleanup auto
# Manuelle Bereinigung mit Kriterien
cleanup manual --max-models 10 --min-score 0.7
Vorhersage
# Vorhersagen mit einem trainierten Modell treffen
predict --model-id <id> --data-path test.csv
Datenformat
CSV-Dateien müssen enthalten:
- Spalte
SMILES: Molekülstrukturen im SMILES-Format - Zielspalte(n): Vorherzusagende Werte (Name über
--target-col)
Beispiel:
SMILES,target
CCO,1
CCCO,0
CC(C)O,1
Aufgabentypen
- classification: Binäre Klassifikation (0/1)
- regression: Vorhersage kontinuierlicher Werte
- multiclass: Mehrklassen-Klassifikation
- multilabel_classification: Mehrere binäre Labels
- multilabel_regression: Mehrere kontinuierliche Werte
JSON-Modus
Fügen Sie --json zu jedem Befehl hinzu, um eine maschinenlesbare Ausgabe zu erhalten:
python3 -m cli_anything.unimol_tools --json models list
Ausgabeformat:
{
"status": "success",
"data": [...],
"message": "..."
}
Interaktiver Modus
Starten Sie ohne Befehle für eine interaktive REPL-Umgebung:
python3 -m cli_anything.unimol_tools
Funktionen:
- Tab-Vervollständigung
- Befehlshistorie
- Kontextbezogene Hilfe
- Projekstatus-Persistenz
Testdaten
Beispieldatensätze verfügbar unter: https://github.com/545487677/CLI-Anything-unimol-tools/tree/main/unimol_tools/examples
Enthält Daten für alle fünf Aufgabentypen.
Anforderungen
- Python 3.8+
- PyTorch 1.12+
- Uni-Mol Tools Backend
- 4 GB+ RAM (8 GB+ empfohlen für Training)
Installation
cd unimol_tools/agent-harness
pip install -e .
Dokumentation
- SOP: UNIMOL_TOOLS.md
- Schnellstart: docs/guides/02-QUICK-START.md
- Vollständige Dokumentation: docs/README.md
Testen
cd docs/test
bash run_tests.sh --unit -v # Unit-Tests (67 Tests)
bash run_tests.sh --full -v # Vollständige Testsuite
Leistungstipps
- Beginnen Sie mit 10 Epochen für erste Experimente
- Verwenden Sie kleinere Batch-Größen bei begrenztem Arbeitsspeicher
- Überwachen Sie den Speicher mit
storage analyze - Nutzen Sie
models rankzur Identifikation der besten Modelle - Bereinigen Sie regelmäßig mit
cleanup auto
Fehlerbehebung
- CUDA-Fehler: Batch-Größe reduzieren oder CPU-Modus verwenden
- CSV nicht erkannt: Überprüfen, ob die SMILES-Spalte existiert
- Niedrige Genauigkeit: Mehr Epochen versuchen oder Lernrate anpassen
- Speicher voll:
cleanup autoausführen, um Speicher freizugeben
Verwandtes
- Uni-Mol Tools: https://github.com/dptech-corp/Uni-Mol/tree/main/unimol_tools
- Uni-Mol Paper: https://arxiv.org/abs/2209.11126
- CLI-Anything: https://github.com/HKUDS/CLI-Anything