""" Example usage of the CropIntel ML pipeline. This script demonstrates how to: 1. Train a model 2. Use the trained model for inference """ from pathlib import Path from PIL import Image from ml.inference.tflite_predictor import TFLitePredictor def example_inference(): """Example of using the trained model for inference.""" print("Example: Using TFLite Predictor\n") # Initialize predictor for corn try: predictor = TFLitePredictor(crop="corn") print(f"Loaded model: {predictor.crop} v{predictor.version}") print(f"Classes: {predictor.class_names}\n") # Example: Predict from image path # image_path = Path("path/to/corn_leaf.jpg") # result = predictor.predict_from_path(image_path) # Example: Predict from PIL Image # image = Image.open("path/to/corn_leaf.jpg") # result = predictor.predict(image) # Print results # print(f"Disease: {result['disease']}") # print(f"Confidence: {result['confidence']:.2%}") # print(f"Is Healthy: {result['is_healthy']}") # print(f"Meets Threshold: {result['meets_threshold']}") # print("\nAll predictions:") # for pred in result['all_predictions'][:3]: # print(f" {pred['disease']}: {pred['confidence']:.2%}") print("Note: Uncomment the code above and provide an image path to run inference.") except FileNotFoundError as e: print(f"Error: {e}") print("\nPlease train a model first:") print(" python training/train_crop.py --crop corn") if __name__ == "__main__": example_inference()