Spaces:
Sleeping
Sleeping
File size: 1,797 Bytes
ba763c8 | 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 | """
Setup script for Hugging Face Spaces deployment
Downloads data and trains model if not present
"""
import os
import sys
def setup():
"""Initialize data and model for the application"""
print("="*80)
print("EXOPLANET HUNTER AI - SETUP")
print("="*80)
# Check if model exists
model_exists = os.path.exists('model/exoplanet_classifier.pkl')
data_exists = os.path.exists('data/kepler_koi.csv')
if not data_exists:
print("\n📥 Downloading NASA datasets...")
print("This may take a few minutes...")
try:
import download_data
download_data.main()
print("✅ Data downloaded successfully!")
except Exception as e:
print(f"❌ Error downloading data: {e}")
sys.exit(1)
else:
print("\n✅ Data already exists, skipping download")
# Always retrain model on first deployment to ensure version compatibility
if not model_exists:
print("\n🤖 Training machine learning model...")
print("This ensures compatibility with the deployment environment...")
print("This may take a few minutes...")
try:
import train_model
train_model.main()
print("✅ Model trained successfully!")
except Exception as e:
print(f"❌ Error training model: {e}")
print(f"Error details: {str(e)}")
import traceback
traceback.print_exc()
sys.exit(1)
else:
print("\n✅ Model already exists, skipping training")
print(" (If you encounter pickle errors, delete model/ and restart)")
print("\n" + "="*80)
print("SETUP COMPLETE! Starting application...")
print("="*80 + "\n")
if __name__ == "__main__":
setup()
|