Uni-Mol Tools - Prédiction de Propriétés Moléculaires en CLI
Package : cli-anything-unimol-tools
Commande : python3 -m cli_anything.unimol_tools
Description
CLI interactive pour l'entraînement et l'inférence de modèles de prédiction de propriétés moléculaires à l'aide d'Uni-Mol Tools. Prend en charge 5 types de tâches : classification binaire, régression, multiclasse, classification multi-étiquettes et régression multi-étiquettes.
Fonctionnalités clés
- Gestion de projets : Organisez les expériences avec des projets nommés
- 5 types de tâches : Classification, régression, multiclasse, variantes multi-étiquettes
- Suivi des modèles : Historique automatique des performances et classements
- Stockage intelligent : Analysez l'utilisation et nettoyez les moins performants
- API JSON : Prise en charge complète de l'automatisation avec le drapeau
--json
Commandes courantes
Gestion de projets
# Créer un nouveau projet
project create --name drug_discovery
# Lister tous les projets
project list
# Basculer vers un projet
project switch --name drug_discovery
Entraînement
# Entraîner un modèle de classification
train --data-path train.csv --target-col active --task-type classification --epochs 10
# Entraîner un modèle de régression
train --data-path train.csv --target-col affinity --task-type regression --epochs 10
Gestion des modèles
# Lister tous les modèles entraînés
models list
# Afficher les détails et les performances d'un modèle
models show --model-id <id>
# Classer les modèles par performance
models rank
Stockage et nettoyage
# Analyser l'utilisation du stockage
storage analyze
# Nettoyage automatique des mauvais performeurs
cleanup auto
# Nettoyage manuel avec critères
cleanup manual --max-models 10 --min-score 0.7
Prédiction
# Faire des prédictions avec un modèle entraîné
predict --model-id <id> --data-path test.csv
Format des données
Les fichiers CSV doivent contenir :
- Colonne
SMILES: Structures moléculaires au format SMILES - Colonne(s) cible(s) : Valeurs à prédire (nom spécifié via
--target-col)
Exemple :
SMILES,target
CCO,1
CCCO,0
CC(C)O,1
Types de tâches
- classification : Classification binaire (0/1)
- regression : Prédiction de valeurs continues
- multiclass : Classification multi-classes
- multilabel_classification : Étiquettes binaires multiples
- multilabel_regression : Valeurs continues multiples
Mode JSON
Ajoutez le drapeau --json à n'importe quelle commande pour une sortie lisible par machine :
python3 -m cli_anything.unimol_tools --json models list
Format de sortie :
{
"status": "success",
"data": [...],
"message": "..."
}
Mode interactif
Lancez sans commandes pour un REPL interactif :
python3 -m cli_anything.unimol_tools
Fonctionnalités :
- Complétion par tabulation
- Historique des commandes
- Aide contextuelle
- Persistance de l'état du projet
Données de test
Des jeux de données d'exemple sont disponibles à l'adresse : https://github.com/545487677/CLI-Anything-unimol-tools/tree/main/unimol_tools/examples
Inclut des données pour les 5 types de tâches.
Prérequis
- Python 3.8+
- PyTorch 1.12+
- Backend Uni-Mol Tools
- 4 Go de RAM minimum (8 Go recommandé pour l'entraînement)
Installation
cd unimol_tools/agent-harness
pip install -e .
Documentation
- SOP : UNIMOL_TOOLS.md
- Démarrage rapide : docs/guides/02-QUICK-START.md
- Documentation complète : docs/README.md
Tests
cd docs/test
bash run_tests.sh --unit -v # Tests unitaires (67 tests)
bash run_tests.sh --full -v # Suite de tests complète
Conseils de performances
- Commencez avec 10 époques pour les expériences initiales
- Utilisez des tailles de lot plus petites si la mémoire est limitée
- Surveillez le stockage avec
storage analyze - Utilisez
models rankpour identifier les meilleurs performeurs - Nettoyez régulièrement avec
cleanup auto
Dépannage
- Erreurs CUDA : Réduisez la taille du lot ou utilisez le mode CPU
- CSV non reconnu : Vérifiez que la colonne SMILES existe
- Faible précision : Essayez plus d'époques ou ajustez le taux d'apprentissage
- Stockage plein : Exécutez
cleanup autopour libérer de l'espace
Liens connexes
- Uni-Mol Tools : https://github.com/dptech-corp/Uni-Mol/tree/main/unimol_tools
- Article Uni-Mol : https://arxiv.org/abs/2209.11126
- CLI-Anything : https://github.com/HKUDS/CLI-Anything