File size: 4,437 Bytes
5b6f681 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | #!/bin/bash
# Quick start script for the Transformer Sentiment Analysis project
# This script demonstrates all major functionalities
echo "π Transformer Sentiment Analysis - Quick Start Demo"
echo "=================================================="
# Colors for output
GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
NC='\033[0m'
# Helper function
run_command() {
echo -e "${BLUE}Running:${NC} $1"
echo -e "${YELLOW}$2${NC}"
echo "---"
}
echo -e "${GREEN}1. Basic Inference (using pre-trained model)${NC}"
run_command "Basic sentiment analysis" \
"python -m src.main --text 'I love this new transformer project!' --model distilbert-base-uncased-finetuned-sst-2-english"
echo -e "${GREEN}2. Advanced Inference with Probabilities${NC}"
run_command "Advanced inference with full probability distribution" \
"python -m src.inference --model distilbert-base-uncased-finetuned-sst-2-english --text 'This movie is fantastic!' --probabilities"
echo -e "${GREEN}3. Batch Inference${NC}"
run_command "Batch processing multiple texts" \
"python -m src.inference --model distilbert-base-uncased-finetuned-sst-2-english --texts 'Great movie' 'Terrible film' 'Okay show' --benchmark"
echo -e "${GREEN}4. Model Training (Fine-tuning)${NC}"
run_command "Train a custom model on IMDB dataset" \
"python -m src.train --config config.json --output_dir ./my_model"
echo -e "${GREEN}5. Model Interpretability${NC}"
run_command "Analyze model attention and generate explanations" \
"python -m src.interpretability --model distilbert-base-uncased-finetuned-sst-2-english --text 'This is an amazing project!' --output ./analysis"
echo -e "${GREEN}6. FastAPI Server${NC}"
run_command "Start production API server" \
"python -m src.api --model distilbert-base-uncased-finetuned-sst-2-english --host 0.0.0.0 --port 8000"
echo -e "${GREEN}7. Docker Deployment${NC}"
run_command "Deploy with Docker" \
"./deploy.sh deploy production"
echo -e "${GREEN}8. Run Tests${NC}"
run_command "Execute test suite" \
"pytest tests/ -v"
echo ""
echo -e "${GREEN}π API Usage Examples:${NC}"
echo "Once the API is running, you can test it with:"
echo ""
echo "# Health check"
echo "curl http://localhost:8000/health"
echo ""
echo "# Single prediction"
echo "curl -X POST http://localhost:8000/predict \\"
echo " -H 'Content-Type: application/json' \\"
echo " -d '{\"text\": \"I love this API!\"}'"
echo ""
echo "# Batch prediction"
echo "curl -X POST http://localhost:8000/predict/batch \\"
echo " -H 'Content-Type: application/json' \\"
echo " -d '{\"texts\": [\"Great!\", \"Terrible!\", \"Okay.\"]}'"
echo ""
echo "# Probability distribution"
echo "curl -X POST http://localhost:8000/predict/probabilities \\"
echo " -H 'Content-Type: application/json' \\"
echo " -d '{\"text\": \"This is amazing!\"}'"
echo ""
echo -e "${GREEN}π§ Development Commands:${NC}"
echo ""
echo "# Install dependencies"
echo "pip install -r requirements.txt"
echo ""
echo "# Run training with GPU (if available)"
echo "python -m src.train --config config.json --gpu --output_dir ./gpu_model"
echo ""
echo "# Monitor training with custom config"
echo "python -m src.train --config my_config.json --output_dir ./custom_model"
echo ""
echo "# Run interpretability analysis"
echo "python -m src.interpretability --model ./my_model --text 'Analyze this text' --output ./my_analysis"
echo ""
echo -e "${GREEN}ποΈ Project Structure:${NC}"
echo "src/"
echo "βββ main.py # Basic inference CLI"
echo "βββ train.py # Training pipeline"
echo "βββ inference.py # Advanced inference with batching"
echo "βββ api.py # FastAPI production server"
echo "βββ interpretability.py # Attention visualization & SHAP"
echo "βββ data_utils.py # Dataset utilities"
echo "βββ model_utils.py # Model helpers and metrics"
echo ""
echo "tests/"
echo "βββ test_main.py # Basic tests"
echo "βββ test_advanced.py # Comprehensive test suite"
echo ""
echo "Configuration:"
echo "βββ config.json # Model and training configuration"
echo "βββ requirements.txt # Python dependencies"
echo "βββ Dockerfile # Container configuration"
echo "βββ docker-compose.yml # Multi-service deployment"
echo "βββ deploy.sh # Production deployment script"
echo ""
echo -e "${GREEN}β¨ Ready to explore transformer-based sentiment analysis!${NC}" |