CompI Project Structure
This document outlines the organized structure of the CompI (Compositional Intelligence) project.
π Directory Structure
Project CompI/
βββ π src/ # Source code (organized modules)
β βββ π generators/ # Image generation modules
β β βββ __init__.py # Module initialization
β β βββ compi_phase1_text2image.py # Basic text-to-image
β β βββ compi_phase1_advanced.py # Advanced generation
β β βββ compi_phase1b_styled_generation.py # Style conditioning
β β βββ compi_phase1b_advanced_styling.py # Advanced styling
β β βββ compi_phase1d_evaluate_quality.py # Quality evaluation (Streamlit)
β β βββ compi_phase1d_cli_evaluation.py # Quality evaluation (CLI)
β β βββ compi_phase1e_dataset_prep.py # LoRA dataset preparation
β β βββ compi_phase1e_lora_training.py # LoRA fine-tuning
β β βββ compi_phase1e_style_generation.py # Personal style generation
β β βββ compi_phase1e_style_manager.py # LoRA style management
β βββ π models/ # Model implementations (future)
β βββ π utils/ # Utility functions
β β βββ __init__.py
β β βββ logging_utils.py
β β βββ file_utils.py
β βββ π data/ # Data processing modules (future)
β βββ π ui/ # User interface components (future)
β βββ config.py # Project configuration
β βββ setup_env.py # Environment setup script
β βββ test_setup.py # Environment testing
βββ π notebooks/ # Jupyter notebooks
β βββ 01_getting_started.ipynb # Tutorial notebook
βββ π data/ # Dataset storage
βββ π outputs/ # Generated content
β βββ images/ # Generated images
β βββ metadata/ # Generation metadata
βββ π tests/ # Unit tests (future)
βββ π run_basic_generation.py # Convenience: Basic generation
βββ π run_advanced_generation.py # Convenience: Advanced generation
βββ π run_styled_generation.py # Convenience: Style conditioning
βββ π run_advanced_styling.py # Convenience: Advanced styling
βββ π run_evaluation.py # Convenience: Quality evaluation
βββ π run_lora_training.py # Convenience: LoRA training
βββ π run_style_generation.py # Convenience: Personal style generation
βββ π requirements.txt # Python dependencies
βββ π development.md # Development roadmap
βββ π PHASE1_USAGE.md # Phase 1 usage guide
βββ π PROJECT_STRUCTURE.md # This file
βββ π .gitignore # Git ignore rules
βββ π README.md # Project overview
π Usage Patterns
Convenience Scripts (Recommended)
Run from project root for easy access:
# Basic text-to-image generation
python run_basic_generation.py "prompt here"
# Advanced generation with options
python run_advanced_generation.py "prompt" --negative "unwanted" --steps 50
# Interactive style selection
python run_styled_generation.py
# Advanced style conditioning
python run_advanced_styling.py "prompt" --style "oil painting" --mood "dramatic"
# Quality evaluation interface
python run_evaluation.py
# LoRA personal style training
python run_lora_training.py --dataset-dir datasets/my_style
# Generate with personal style
python run_style_generation.py --lora-path lora_models/my_style/checkpoint-1000 "prompt"
# LoRA personal style training
python run_lora_training.py --dataset-dir datasets/my_style
# Generate with personal style
python run_style_generation.py --lora-path lora_models/my_style/checkpoint-1000 "prompt"
Direct Module Access
Run generators directly from their organized location:
# Direct access to generators
python src/generators/compi_phase1_text2image.py "prompt"
python src/generators/compi_phase1b_advanced_styling.py --list-styles
# Environment setup and testing
python src/setup_env.py
python src/test_setup.py
π― Benefits of This Organization
1. Clean Separation of Concerns
src/generators/
- All image generation logicsrc/utils/
- Reusable utility functionssrc/
- Core project modules and configuration- Root level - Convenience scripts and documentation
2. Professional Python Structure
- Proper module organization with
__init__.py
files - Clear import paths and dependencies
- Scalable architecture for future expansion
3. Easy Access
- Convenience scripts provide simple access from project root
- Direct module access for advanced users
- Maintains backward compatibility
4. Future-Ready
- Organized structure ready for Phase 2+ implementations
- Clear places for audio processing, UI components, etc.
- Modular design supports easy testing and maintenance
π§ Development Guidelines
Adding New Generators
- Create new generator in
src/generators/
- Add imports to
src/generators/__init__.py
- Create convenience script in project root if needed
- Update documentation
Adding New Utilities
- Add utility functions to appropriate module in
src/utils/
- Update
src/utils/__init__.py
imports - Import in generators as needed
Testing
- Add tests to
tests/
directory - Use
src/test_setup.py
for environment verification - Test both convenience scripts and direct module access
π Documentation
- README.md - Project overview and quick start
- development.md - Comprehensive development roadmap
- PHASE1_USAGE.md - Detailed Phase 1 usage guide
- PROJECT_STRUCTURE.md - This organizational guide
This structure provides a solid foundation for the CompI project's continued development through all planned phases.