DeepForest Changelog#
Version 1.5.2 (Date: Feb 7, 2025)#
The major innovations are:
Improve Tests on edge cases
Additional features and enhancements include:
Documentation: Improved documentation workflow and version available
Version 1.5.0 (Date: Jan 15, 2024)#
The major innovations are:
Restructured package layout by moving code into src/ directory for better organization
Added batch prediction capabilities for improved processing of multiple images
Implemented support for image dataframes to allow more flexible input formats
Created plot_annotations method for better visualization of predictions
Added out-of-memory dataset sample for handling large datasets efficiently
Additional features and enhancements include:
Enhancement: Reorganized package structure to follow modern Python packaging standards
Enhancement: Enhanced test coverage for new features
Enhancement: Improved code organization and maintainability
Documentation: Added docformatter for consistent docstring formatting
Documentation: Improved documentation clarity and organization
Documentation: Added new contributor: Dingyi Fang
Version 1.4.1 (Date: Oct 26, 2024)#
Enhancement: Use GitHub Actions to publish the package.
Version 1.4.0 (Date: Oct 9, 2024)#
The major innovations are
New model loading framework using HuggingFace. DeepForest models are now available on https://huggingface.co/weecology. The models can be loaded using load_model() and used for inference.
An all purpose read_file method is introduced to read annotations from various formats including CSV, JSON, and Pascal VOC.
The CropModel class is introduced to classify detected objects using a trained classification model. Use when a multi-class DeepForest model is not sufficiently flexible, such as when new data sources are used for fine-grained classification and class imbalance.
deepforest.visualize.plot_results is now the primary method for visualizing predictions. The function is more flexible and allows for customizing the plot using supervision package.
Additional features and enhancements include:
New Feature: A crop_raster function is introduced to crop a raster image using a bounding box.
New Feature: Added beta support for multiple annotation types including point, box, and polygon.
New Feature: Added support for learning rates scheduling using the
torch.optim.lr_schedulermodule. The learning rate scheduler can be specified in the configuration file.New Utility: Created
utilities.download_ArcGIS_RESTfunction to download tiles from the ArcGIS REST API (e.g., NAIP imagery).Enhancement: The training module better matches torchvision negative anchors format for empty frames.
Deprecation:
shapefile_to_annotationsindeepforest/utilities.pyis deprecated in favor of the more generalread_filemethod.Deprecation:
predictindeepforest/main.py. Thereturn_plotargument is deprecated and will be removed in version 2.0. Usevisualize.plot_resultsinstead.Deprecation:
predict_tileindeepforest/main.py. Deprecated argumentsreturn_plot,color, andthicknesswill be removed in version 2.0.Deprecation:
crop_functionindeepforest/preprocess.py. Thebase_dirargument is deprecated and will be removed in version 2.0. Usesave_dirinstead.Deprecation: The deepforest.visualize.
IoU_Callbackfor better alignment with the PyTorch Lightning API (see issue).Deprecation:
deepforest.main.use_releaseanddeepforest.main.use_bird_releaseare deprecated in favor of the new model loading framework, for example using deepforest.main.load_model(“weecology/deepforest-bird”).
Version 1.3.3 (Date: Mar 12, 2024)#
Enhancement:
split_rasternow allowsannotations_fileto beNone, enabling flexibility during data preprocessing.
Version 1.3.0 (Date: Dec 3, 2023)#
Deprecation: Removed
IoU_Callbackfor better alignment with the PyTorch Lightning API (see issue).Refactor: Evaluation code now leverages the PyTorch Lightning evaluation loop for result calculation during training.
Refactor: Simplified
image_callbacksby using predictions directly. No need to specify the root directory or CSV file, as the evaluation file is assumed.
Version 1.1.3 (Date: Nov 9, 2021)#
Enhancement: Added box coordinates to the evaluation results frame for better result tracking.
Version 1.1.2 (Date: Sep 30, 2021)#
Bug Fix: Fixed incorrect precision calculation in
class_recall.csvwhen multiple classes were present.
Version 1.1.1 (Date: Sep 14, 2021)#
Update:
project_boxesnow includes output options for bothpredict_tileandpredict_image.New Feature: Introduced
annotations_to_shapefile, which reversesshapefile_to_annotationsfunctionality. Thanks to @sdtaylor for this contribution.
Version 1.1.0 (Date: Aug 5, 2021)#
Enhancement: Empty frames are now allowed by passing annotations with 0’s for all coordinates. Example format:
image_path, 0, 0, 0, 0, "Tree"
New Feature: Introduced
check_releaseto reduce GitHub rate limit issues. When usinguse_release(), the local model will be used ifcheck_release = False.
Version 1.0.9 (Date: Jul 14, 2021)#
Enhancement: Improved default dtype for Windows users, thanks to @ElliotSalisbury for the contribution.
Version 1.0.0 (Date: Jun 7, 2021)#
Major Update: Transitioned from TensorFlow to a PyTorch backend, enhancing performance and flexibility.
Version 0.1.34 (Date: )#
Optimization: Profiled dataset and evaluation code, significantly improving evaluation performance.
Version 0.1.30 (Date: )#
Bug Fix: Resolved issues to allow learning rate monitoring and decay based on
val_classification_loss.