| # Migration Guide - Nova Estrutura do Projeto | |
| Este documento mapeia a estrutura antiga para a nova estrutura organizada por fases de pesquisa. | |
| ## Estrutura Antiga → Nova | |
| ### Dados | |
| | Antigo | Novo | | |
| |--------|------| | |
| | `data/benchmarks/nguyen/` | `1_data/benchmarks/nguyen/` | | |
| | `data/processed/` | `1_data/processed/` | | |
| | `data/experiments/` | `1_data/processed/` | | |
| ### Scripts de Treinamento | |
| | Antigo | Novo | | |
| |--------|------| | |
| | `scripts/train.py` | `2_training/supervised/train.py` | | |
| | `scripts/train_with_json.py` | `2_training/supervised/train_with_json.py` | | |
| | `scripts/ppo_symbolic.py` | `2_training/reinforcement/ppo_symbolic.py` | | |
| | `scripts/grpo_symbolic.py` | `2_training/reinforcement/grpo_symbolic.py` | | |
| | `scripts/reinforce_*.py` | `2_training/reinforcement/` | | |
| | `configs/` | `2_training/configs/` | | |
| ### Scripts de Avaliação | |
| | Antigo | Novo | | |
| |--------|------| | |
| | `scripts/evaluate.py` | `3_evaluation/quality/evaluate.py` | | |
| | `scripts/evaluate_quality_simple.py` | `3_evaluation/quality/` | | |
| | `scripts/evaluate_nguyen_benchmarks.py` | `3_evaluation/benchmarks/` | | |
| | `scripts/compare_models.py` | `3_evaluation/comparison/` | | |
| | `scripts/generate.py` | `3_evaluation/generate.py` | | |
| ### Scripts de Análise | |
| | Antigo | Novo | | |
| |--------|------| | |
| | `scripts/analyze_complexity.py` | `4_analysis/complexity/` | | |
| | `scripts/aggregate_nguyen_results.py` | `4_analysis/statistical/` | | |
| | `analyze_nguyen_results.py` | `4_analysis/statistical/` | | |
| | `create_visualizations.py` | `4_analysis/visualization/` | | |
| ### Modelos | |
| | Antigo | Novo | | |
| |--------|------| | |
| | `output/gpt2_base_700K_json/` | `models/gpt2/base_700k_json/` | | |
| | `output/gpt2_medium_700K_json/` | `models/gpt2/medium_700k_json/` | | |
| | `output/gpt2_large_700K_json/` | `models/gpt2/large_700k_json/` | | |
| ### Resultados | |
| | Antigo | Novo | | |
| |--------|------| | |
| | `results_final/quality/` | `results/2025-02_model_scaling/quality/` | | |
| | `results_nguyen_benchmarks/` | `results/2025-02_model_scaling/nguyen_benchmarks/` | | |
| | `visualizations/` | `results/2025-02_model_scaling/analysis/` (cópia) | | |
| ### Documentação | |
| | Antigo | Novo | | |
| |--------|------| | |
| | `SCIENTIFIC_REPORT_MODEL_SCALING.md` | `docs/reports/` | | |
| | `NGUYEN_RESULTS_FINAL.md` | `docs/reports/` | | |
| | `MODEL_CARD_*.md` | `docs/model_cards/` | | |
| | `visualizations/` | `docs/visualizations/` | | |
| | `CLAUDE.md` | `docs/guides/CLAUDE.md` | | |
| ### Código Fonte | |
| | Antigo | Novo | | |
| |--------|------| | |
| | `classes/` | `src/seriguela/utils/` | | |
| | `__init__.py` | `src/seriguela/__init__.py` | | |
| ## Atualizar Imports | |
| ### Antes | |
| ```python | |
| from classes.expression import Expression | |
| from classes.dataset import Dataset | |
| ``` | |
| ### Depois | |
| ```python | |
| from src.seriguela.utils.expression import Expression | |
| from src.seriguela.utils.dataset import Dataset | |
| # Ou (se instalado como package) | |
| from seriguela.utils import Expression, Dataset | |
| ``` | |
| ## Atualizar Caminhos em Scripts | |
| ### Exemplo: Treinamento | |
| **Antes**: | |
| ```bash | |
| cd seriguela | |
| python scripts/train_with_json.py \ | |
| --dataset_path ./data/processed/700K \ | |
| --output_dir ./output/test | |
| ``` | |
| **Depois**: | |
| ```bash | |
| cd seriguela/2_training/supervised | |
| python train_with_json.py \ | |
| --dataset_path ../../1_data/processed/700K \ | |
| --output_dir ../../models/gpt2/test | |
| ``` | |
| ### Exemplo: Avaliação | |
| **Antes**: | |
| ```bash | |
| python scripts/evaluate_nguyen_benchmarks.py \ | |
| --model_path ./output/gpt2_medium_700K_json \ | |
| --benchmark ./data/benchmarks/nguyen/nguyen_5.csv | |
| ``` | |
| **Depois**: | |
| ```bash | |
| cd 3_evaluation/benchmarks | |
| python evaluate_nguyen_benchmarks.py \ | |
| --model_path ../../models/gpt2/medium_700k_json \ | |
| --benchmark ../../1_data/benchmarks/nguyen/nguyen_5.csv | |
| ``` | |
| ## AWS Scripts | |
| A chave SSH correta é `chave-gpu-nova` (não `chave-gpu`): | |
| ```bash | |
| # Atualizar scripts AWS | |
| sed -i 's/chave-gpu/chave-gpu-nova/g' scripts/aws/*.sh | |
| ``` | |
| ## Verificação de Migração | |
| ```bash | |
| # Verificar se novos diretórios foram criados | |
| ls -d 1_data 2_training 3_evaluation 4_analysis models results docs src | |
| # Verificar se modelos foram movidos | |
| ls models/gpt2/ | |
| # Verificar se READMEs existem | |
| find . -name "README.md" -type f | head -10 | |
| # Verificar se resultados foram copiados | |
| ls results/2025-02_model_scaling/ | |
| ``` | |
| ## Retrocompatibilidade | |
| Os diretórios antigos (`scripts/`, `output/`, `data/`) ainda existem por enquanto para retrocompatibilidade. Recomendamos: | |
| 1. Atualizar scripts para usar nova estrutura | |
| 2. Testar workflows completos | |
| 3. Depois de validar, remover diretórios antigos: | |
| ```bash | |
| # APENAS após validar nova estrutura | |
| rm -rf output/ # (modelos já copiados para models/) | |
| rm -rf data/ # (dados já copiados para 1_data/) | |
| rm -rf results_final/ results_nguyen_benchmarks/ # (já em results/) | |
| ``` | |
| ## Benefícios da Nova Estrutura | |
| 1. **Clareza**: Fases numeradas (1→2→3→4) guiam o workflow | |
| 2. **Escalabilidade**: Fácil adicionar novos modelos/benchmarks | |
| 3. **Documentação**: README em cada diretório | |
| 4. **Organização**: Resultados separados por experimento | |
| 5. **Manutenibilidade**: Código fonte isolado em `src/` | |
| ## Suporte | |
| Para dúvidas sobre a migração, consulte: | |
| - README.md de cada diretório | |
| - docs/guides/CLAUDE.md (guia completo) | |
| - Issues no GitHub | |