Uni-Mol Tools - CLI de Previsão de Propriedades Moleculares
Pacote: cli-anything-unimol-tools
Comando: python3 -m cli_anything.unimol_tools
Descrição
CLI interativa para treinamento e inferência de modelos de previsão de propriedades moleculares usando Uni-Mol Tools. Suporta 5 tipos de tarefas: classificação binária, regressão, multiclasse, classificação multirrótulo e regressão multirrótulo.
Principais Funcionalidades
- Gerenciamento de Projetos: Organize experimentos com projetos nomeados
- 5 Tipos de Tarefas: Classificação, regressão, multiclasse, variantes multirrótulo
- Rastreamento de Modelos: Histórico automático de desempenho e ranqueamentos
- Armazenamento Inteligente: Analise o uso e limpe modelos com baixo desempenho
- API JSON: Suporte total à automação com o sinalizador
--json
Comandos Comuns
Gerenciamento de Projetos
# Criar um novo projeto
project create --name drug_discovery
# Listar todos os projetos
project list
# Alternar para um projeto
project switch --name drug_discovery
Treinamento
# Treinar um modelo de classificação
train --data-path train.csv --target-col active --task-type classification --epochs 10
# Treinar um modelo de regressão
train --data-path train.csv --target-col affinity --task-type regression --epochs 10
Gerenciamento de Modelos
# Listar todos os modelos treinados
models list
# Mostrar detalhes e desempenho do modelo
models show --model-id <id>
# Ranquear modelos por desempenho
models rank
Armazenamento e Limpeza
# Analisar o uso de armazenamento
storage analyze
# Limpeza automática de modelos com baixo desempenho
cleanup auto
# Limpeza manual com critérios
cleanup manual --max-models 10 --min-score 0.7
Predição
# Fazer predições com um modelo treinado
predict --model-id <id> --data-path test.csv
Formato dos Dados
Os arquivos CSV devem conter:
- Coluna
SMILES: Estruturas moleculares no formato SMILES - Coluna(s) de destino: Valores a serem previstos (nome especificado via
--target-col)
Exemplo:
SMILES,target
CCO,1
CCCO,0
CC(C)O,1
Tipos de Tarefas
- classification: Classificação binária (0/1)
- regression: Predição de valor contínuo
- multiclass: Classificação multiclasse
- multilabel_classification: Múltiplos rótulos binários
- multilabel_regression: Múltiplos valores contínuos
Modo JSON
Adicione o sinalizador --json a qualquer comando para obter uma saída legível por máquina:
python3 -m cli_anything.unimol_tools --json models list
Formato de saída:
{
"status": "success",
"data": [...],
"message": "..."
}
Modo Interativo
Inicie sem comandos para o REPL interativo:
python3 -m cli_anything.unimol_tools
Funcionalidades:
- Autocompletar com tabulação
- Histórico de comandos
- Ajuda contextual
- Persistência do estado do projeto
Dados de Teste
Conjuntos de dados de exemplo disponíveis em: https://github.com/545487677/CLI-Anything-unimol-tools/tree/main/unimol_tools/examples
Inclui dados para todos os 5 tipos de tarefas.
Requisitos
- Python 3.8+
- PyTorch 1.12+
- Backend Uni-Mol Tools
- 4GB+ de RAM (8GB+ recomendado para treinamento)
Instalação
cd unimol_tools/agent-harness
pip install -e .
Documentação
- SOP: UNIMOL_TOOLS.md
- Guia Rápido: docs/guides/02-QUICK-START.md
- Documentação Completa: docs/README.md
Testes
cd docs/test
bash run_tests.sh --unit -v # Testes unitários (67 testes)
bash run_tests.sh --full -v # Suite completa de testes
Dicas de Desempenho
- Comece com 10 épocas para experimentos iniciais
- Use tamanhos de lote menores se a memória for limitada
- Monitore o armazenamento com
storage analyze - Use
models rankpara identificar os melhores modelos - Limpe regularmente com
cleanup auto
Solução de Problemas
- Erros de CUDA: Reduza o tamanho do lote ou use o modo CPU
- CSV não reconhecido: Verifique se a coluna SMILES existe
- Baixa precisão: Tente mais épocas ou ajuste a taxa de aprendizado
- Armazenamento cheio: Execute
cleanup autopara liberar espaço
Relacionados
- Uni-Mol Tools: https://github.com/dptech-corp/Uni-Mol/tree/main/unimol_tools
- Artigo Uni-Mol: https://arxiv.org/abs/2209.11126
- CLI-Anything: https://github.com/HKUDS/CLI-Anything