""" Example usage of YLFF pipeline. """ import logging from ylff.ba_validator import BAValidator from ylff.data_pipeline import BADataPipeline from ylff.models import load_da3_model logging.basicConfig(level=logging.INFO) def example_validate_sequence(): """Example: Validate a single sequence with BA.""" print("Example 1: Validating a sequence with BA") # Load model load_da3_model("depth-anything/DA3-LARGE") # Create validator validator = BAValidator( # noqa: F841 accept_threshold=2.0, reject_threshold=30.0, ) # Load images (example - replace with your images) # images = load_images_from_directory("path/to/sequence") # Run model # output = model.inference(images) # Validate # result = validator.validate(images, output.extrinsics) # print(f"Status: {result['status']}, Error: {result['error']:.2f}°") print("✓ Validation example complete") def example_build_training_set(): """Example: Build training set from sequences.""" print("Example 2: Building training set") # Load model model = load_da3_model("depth-anything/DA3-LARGE") # Create validator and pipeline validator = BAValidator() BADataPipeline(model, validator) # Find sequences # sequence_paths = [Path("data/raw/seq1"), Path("data/raw/seq2")] # Build training set # training_samples = pipeline.build_training_set( # sequence_paths=sequence_paths, # max_samples=100, # ) # Save # pipeline.save_training_set(training_samples, Path("data/training/training_set.pkl")) print("✓ Training set building example complete") def example_fine_tune(): """Example: Fine-tune model on BA-supervised samples.""" print("Example 3: Fine-tuning model") # Load training set # with open("data/training/training_set.pkl", "rb") as f: # training_samples = pickle.load(f) # Load model # model = load_da3_model("depth-anything/DA3-LARGE") # Fine-tune # fine_tuned_model = fine_tune_da3( # model=model, # training_samples=training_samples, # epochs=5, # lr=1e-5, # ) print("✓ Fine-tuning example complete") if __name__ == "__main__": print("YLFF Example Usage") print("=" * 50) print() example_validate_sequence() print() example_build_training_set() print() example_fine_tune() print() print("All examples complete!")