From 6038d65e3f1e82903bffb6eeaac6d0edbeea2a88 Mon Sep 17 00:00:00 2001 From: Adeel Hassan Date: Wed, 23 Aug 2023 10:00:00 -0400 Subject: [PATCH 1/3] update changelog --- docs/changelog.rst | 106 ++++++++++++++++++++++++++++++++++++++------- 1 file changed, 91 insertions(+), 15 deletions(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index 59182de5c..88eb6b315 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -1,6 +1,65 @@ CHANGELOG ========= +Raster Vision 0.21 +------------------ + +This release brings some exciting new functionality to Raster Vision. + +Highlights: + +- Raster Vision can now consume imagery from STAC APIs via the newly-added :class:`.XarraySource` (see tutorial: :doc:`usage/tutorials/stac_plus_osm`). +- Raster Vision can now consume temporal data i.e. time series of images via :class:`.TemporalMultiRasterSource` and :class:`.XarraySource` (see tutorial: :doc:`usage/tutorials/temporal`). +- The model-bundles produced by now additionally include the model exported in the ONNX format and Raster Vision will use an ONNX runtime to make predictions if ``RASTERVISION_USE_ONNX=1`` is set. + +API changes: + +- To crop the extent of a :class:`.RasterSource` (or :class:`.LabelSource`), you now have to specify ``bbox`` instead of ``extent``. The term "extent", as used in the codebase, has also been redefined to always be the box ``Box(0, 0, height, width)``, where ``height`` and ``width`` are the height and width of the ``bbox``. +- :class:`.GeoJSONVectorSource` can now take a list of URIs, allowing geometries to be read from multiple files. +- :class:`.VectorOutputConfig` (and subclasses) no longer require ``uri`` to be specified. + +Features +~~~~~~~~ + +- Add ``XarraySource`` to make it easier to consume imagery fetched from a STAC API (`#1764 `__) +- Add experimental ONNX support (`#1792 `__) +- Add support for temporal data (`#1803 `__, `#1815 `__) + + +Fixes/minor improvements/refactoring +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- Improve efficiency of positive-window sampling in ``ObjectDetectionRandomWindowGeoDataset`` by filtering labels by AOI (`#1705 `__) +- Misc object detection fixes and improvements (`#1711 `__) +- Allow ``GeoJSONVectorSource`` to accept multiple URIs (`#1712 `__) +- Allow specifying extra args for default model in ``ModelConfig`` (`#1713 `__) +- Ensure ``RasterSource`` and ``LabelSource`` extents match up in ``Scene`` (`#1740 `__) +- Allow all constituent object detection losses to be logged (`#1716 `__) +- Remove the ``uri`` field from ``VectorOutputConfig`` (`#1762 `__) +- Fix bugs related to extent-cropping (`#1774 `__, `#1786 `__, `#1793 `__) +- Fix legend placement in ``SemanticSegmentationVisualizer`` plots (`#1783 `__) +- Misc. refactoring and fixes (`#1838 `__) +- Update tutorial notebooks + misc. minor changes (`#1839 `__) +- Improve geometry-related validation in ``Scene`` and ``GeoJSONVectorSource`` and fix a bug in ``AoiSampler`` (`#1856 `__) + +Development/maintenance +~~~~~~~~~~~~~~~~~~~~~~~ + +- Disable PDF build of docs (`#1714 `__) +- Improve Codecov exclusion settings, add some more unit tests, and add a unit test README (`#1717 `__) +- Fix CI errors (`#1763 `__) +- Factor out numpy-like array indexing implementation and add unit tests (`#1765 `__) +- Remove deprecated ``codecov`` dependency (`#1775 `__) +- Add ``CITATION.cff`` (`#1789 `__, `#1790 `__) +- Minor refactoring of ``learner.py`` for readability (`#1791 `__) +- Conform to new torchvision API for specifying pretrained weights (`#1794 `__) +- Use more concise cross-referencing syntax in docs (`#1809 `__) +- Misc. documentation improvements (`#1840 `__) +- Update dependencies (`#1749 `__, `#1756 `__, `#1760 `__, `#1761 `__, `#1797 `__, `#1798 `__, `#1799 `__, `#1805 `__, `#1811 `__) +- Pre-release fixes and improvements (`#1857 `__) + +---- + Raster Vision 0.20.2 -------------------- @@ -10,6 +69,8 @@ Raster Vision 0.20.2 * Only set default stride if stride value is missing in ``GeoDataWindowConfig`` (`#1674 `__) * Minor doc and type-hint fixes and refactoring for OD (`#1675 `__, `#1676 `__) +---- + Raster Vision 0.20.1 -------------------- @@ -30,6 +91,8 @@ Fixes * fix broken links (`#1608 `__) * make CV-tasks image slightly smaller (`#1624 `__) +---- + Raster Vision 0.20 ------------------ @@ -113,6 +176,8 @@ Development/maintenance - Make ``docker/run`` automatically find a free port for Jupyter server if the default port is already taken (`#1558 `__) - Set tutorial-notebooks path as the default jupyter path in ``docker/run`` (`#1595 `__) +---- + Raster Vision 0.13.1 -------------------- @@ -211,8 +276,10 @@ Bug Fixes * Fix: Ensure Integer class_id `#990 `__ * Use ``--ipc=host`` by default when running the docker container `#1077 `__ +---- + Raster Vision 0.12 -------------------- +------------------ This release presents a major refactoring of Raster Vision intended to simplify the codebase, and make it more flexible and customizable. @@ -221,32 +288,32 @@ To learn about how to upgrade existing experiment configurations, perhaps the be Since the changes in this release are sweeping, it is difficult to enumerate a list of all changes and associated PRs. Therefore, this change log describes the changes at a high level, along with some justifications and pointers to further documentation. Simplified Configuration Schema -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ We are still using a modular, programmatic approach to configuration, but have switched to using a ``Config`` base class which uses the `Pydantic `__ library. This allows us to define configuration schemas in a declarative fashion, and let the underlying library handle serialization, deserialization, and validation. In addition, this has allowed us to `DRY `__ up the configuration code, eliminate the use of Protobufs, and represent configuration from plugins in the same fashion as built-in functionality. To see the difference, compare the configuration code for ``ChipClassificationLabelSource`` in 0.11 (`label_source.proto `__ and `chip_classification_label_source_config.py `__), and in 0.12 (`chip_classification_label_source_config.py `__). Abstracted out Pipelines -~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~ Raster Vision includes functionality for running computational pipelines in local and remote environments, but previously, this functionality was tightly coupled with the "domain logic" of machine learning on geospatial data in the ``Experiment`` abstraction. This made it more difficult to add and modify commands, as well as use this functionality in other projects. In this release, we factored out the experiment running code into a separate :ref:`rastervision.pipeline ` package, which can be used for defining, configuring, customizing, and running arbitrary computational pipelines. Reorganization into Plugins -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~ The rest of Raster Vision is now written as a set of optional plugins that have ``Pipelines`` which implement the "domain logic" of machine learning on geospatial data. Implementing everything as optional (``pip`` installable) plugins makes it easier to install subsets of Raster Vision functionality, eliminates separate code paths for built-in and plugin functionality, and provides (de facto) examples of how to write plugins. See :ref:`codebase overview` for more details. More Flexible PyTorch Backends -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The 0.10 release added PyTorch backends for chip classification, semantic segmentation, and object detection. In this release, we abstracted out the common code for training models into a flexible ``Learner`` base class with subclasses for each of the computer vision tasks. This code is in the ``rastervision.pytorch_learner`` plugin, and is used by the ``Backends`` in ``rastervision.pytorch_backend``. By decoupling ``Backends`` and ``Learners``, it is now easier to write arbitrary ``Pipelines`` and new ``Backends`` that reuse the core model training code, which can be customized by overriding methods such as ``build_model``. See :ref:`customizing rv`. Removed Tensorflow Backends -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~ The Tensorflow backends and associated Docker images have been removed. It is too difficult to maintain backends for multiple deep learning frameworks, and PyTorch has worked well for us. Of course, it's still possible to write ``Backend`` plugins using any framework. Other Changes -~~~~~~~~~~~~~~ +~~~~~~~~~~~~~ * For simplicity, we moved the contents of the `raster-vision-examples `__ and `raster-vision-aws `__ repos into the main repo. See :ref:`rv examples` and :ref:`cloudformation setup`. * To help people bootstrap new projects using RV, we added :ref:`bootstrap`. @@ -260,41 +327,47 @@ Other Changes * The ``aws_batch`` runner was renamed ``batch`` due to a naming conflict, and the names of the configuration variables for Batch changed. See :ref:`aws batch setup`. Future Work -~~~~~~~~~~~~ +~~~~~~~~~~~ The next big features we plan on developing are: * the ability to read and write data in `STAC `__ format using the `label extension `__. This will facilitate integration with other tools such as `GroundWork `__. +---- + Raster Vision 0.11 -------------------- +------------------ Features -~~~~~~~~~~ +~~~~~~~~ - Added the possibility for chip classification to use data augmentors from the albumentations libary to enhance the training data. `#859 `__ - Updated the Quickstart doc with pytorch docker image and model `#863 `__ - Added the possibility to deal with class imbalances through oversampling. `#868 `__ +---- + Raster Vision 0.11.0 -~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~ Bug Fixes -^^^^^^^^^^ +^^^^^^^^^ - Ensure randint args are ints `#849 `__ - The augmentors were not serialized properly for the chip command `#857 `__ - Fix problems with pretrained flag `#860 `__ - Correctly get_local_path for some zxy tile URIS `#865 `__ +---- + Raster Vision 0.10 ------------------ Raster Vision 0.10.0 -~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~ Notes on switching to PyTorch-based backends -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The current backends based on Tensorflow have several problems: @@ -311,7 +384,7 @@ Therefore, we are in the process of sunsetting the Tensorflow backends (which wi * The way to use the ``ConfigBuilders`` for the new backends can be seen in the `examples repo `__ and the :ref:`backend` reference Features -^^^^^^^^^^^^ +^^^^^^^^ - Add confusion matrix as metric for semantic segmentation `#788 `__ - Add predict_chip_size as option for semantic segmentation `#786 `__ @@ -328,6 +401,8 @@ Bug Fixes - Fixed issue with configuration not being able to read lists `#784 `__ - Fixed ConfigBuilders not supporting type annotations in __init__ `#800 `__ +---- + Raster Vision 0.9 ----------------- @@ -379,6 +454,7 @@ Bug Fixes - Fixed issue with experiment configs not setting key names correctly `#576 `__ - Fixed issue with Raster Sources that have channel order `#576 `__ +---- Raster Vision 0.8 ----------------- From 557a644472d96046254590c6ade255d6685a47c6 Mon Sep 17 00:00:00 2001 From: Adeel Hassan Date: Wed, 23 Aug 2023 14:02:27 -0400 Subject: [PATCH 2/3] replace exotic whitespace character with a normal space --- docs/framework/quickstart.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/framework/quickstart.rst b/docs/framework/quickstart.rst index cd54776b0..1905a8cf6 100644 --- a/docs/framework/quickstart.rst +++ b/docs/framework/quickstart.rst @@ -76,7 +76,7 @@ If you go to ``${RV_QUICKSTART_OUT_DIR}`` you should see a directory structure l > tree -L 3 ├── Makefile ├── bundle - │  └── model-bundle.zip + │ └── model-bundle.zip ├── eval │ └── validation_scenes │ └── eval.json From e3867f2ef458f7273c02cdcf6b7259d3710bc1da Mon Sep 17 00:00:00 2001 From: Adeel Hassan Date: Wed, 23 Aug 2023 14:11:11 -0400 Subject: [PATCH 3/3] update version to 0.21 --- cookiecutter_template/cookiecutter.json | 4 ++-- .../requirements.txt | 2 +- docs/conf.py | 4 ++-- docs/framework/examples.rst | 2 +- docs/usage/tutorials/lightning_workflow.ipynb | 2 +- docs/usage/tutorials/pred_and_eval_ss.ipynb | 2 +- rastervision_aws_batch/requirements.txt | 2 +- rastervision_aws_batch/setup.py | 2 +- rastervision_aws_s3/requirements.txt | 2 +- rastervision_aws_s3/setup.py | 2 +- rastervision_core/requirements.txt | 2 +- rastervision_core/setup.py | 2 +- rastervision_gdal_vsi/requirements.txt | 2 +- rastervision_gdal_vsi/setup.py | 2 +- .../rastervision/pipeline/version.py | 2 +- rastervision_pipeline/setup.py | 2 +- rastervision_pytorch_backend/requirements.txt | 8 ++++---- rastervision_pytorch_backend/setup.py | 2 +- rastervision_pytorch_learner/requirements.txt | 4 ++-- rastervision_pytorch_learner/setup.py | 2 +- requirements.txt | 12 ++++++------ setup.py | 2 +- 22 files changed, 33 insertions(+), 33 deletions(-) diff --git a/cookiecutter_template/cookiecutter.json b/cookiecutter_template/cookiecutter.json index 779052a37..2b1294521 100644 --- a/cookiecutter_template/cookiecutter.json +++ b/cookiecutter_template/cookiecutter.json @@ -2,8 +2,8 @@ "caps_project_name": "MY_PROJECT", "project_name": "my_project", "docker_image": "my_project", - "parent_docker_image": "quay.io/azavea/raster-vision:pytorch-0.20.3-dev", - "version": "0.20.3-dev", + "parent_docker_image": "quay.io/azavea/raster-vision:pytorch-0.21", + "version": "0.21", "description": "A Raster Vision plugin", "url": "https://github.com/azavea/raster-vision", "author": "Azavea", diff --git a/cookiecutter_template/{{cookiecutter.project_name}}/rastervision_{{cookiecutter.project_name}}/requirements.txt b/cookiecutter_template/{{cookiecutter.project_name}}/rastervision_{{cookiecutter.project_name}}/requirements.txt index 79d2e678b..2b19c2a57 100644 --- a/cookiecutter_template/{{cookiecutter.project_name}}/rastervision_{{cookiecutter.project_name}}/requirements.txt +++ b/cookiecutter_template/{{cookiecutter.project_name}}/rastervision_{{cookiecutter.project_name}}/requirements.txt @@ -1 +1 @@ -rastervision==0.20.3-dev +rastervision==0.21 diff --git a/docs/conf.py b/docs/conf.py index 8c9bb5097..5c47a83f5 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -72,9 +72,9 @@ def setup(app: 'Sphinx') -> None: # built documents. # # The short X.Y version. -version = u'0.20' +version = u'0.21' # The full version, including alpha/beta/rc tags -release = u'0.20.3-dev' +release = u'0.21' # -- Extension configuration -------------------------------------------------- diff --git a/docs/framework/examples.rst b/docs/framework/examples.rst index b16710a0c..5a435cb2c 100644 --- a/docs/framework/examples.rst +++ b/docs/framework/examples.rst @@ -274,7 +274,7 @@ Note that the input file is assumed to have the same channel order and statistic When unzipped, the model bundle contains a ``model.pth`` file which can be used for fine-tuning. -.. note:: The model bundles linked below are only compatible with Raster Vision version ``0.20`` or greater. +.. note:: The model bundles linked below are only compatible with Raster Vision version ``0.21`` or greater. .. list-table:: Model Zoo :header-rows: 1 diff --git a/docs/usage/tutorials/lightning_workflow.ipynb b/docs/usage/tutorials/lightning_workflow.ipynb index 307b430f1..bb3192476 100644 --- a/docs/usage/tutorials/lightning_workflow.ipynb +++ b/docs/usage/tutorials/lightning_workflow.ipynb @@ -415,7 +415,7 @@ } ], "source": [ - "weights_uri = 'https://s3.amazonaws.com/azavea-research-public-data/raster-vision/examples/model-zoo-0.20/spacenet-vegas-buildings-ss/model.pth'\n", + "weights_uri = 'https://s3.amazonaws.com/azavea-research-public-data/raster-vision/examples/model-zoo-0.21/spacenet-vegas-buildings-ss/model.pth'\n", "deeplab.load_state_dict(torch.hub.load_state_dict_from_url(weights_uri, map_location=torch.device('cpu')))" ] }, diff --git a/docs/usage/tutorials/pred_and_eval_ss.ipynb b/docs/usage/tutorials/pred_and_eval_ss.ipynb index add1810a9..26b8d1476 100644 --- a/docs/usage/tutorials/pred_and_eval_ss.ipynb +++ b/docs/usage/tutorials/pred_and_eval_ss.ipynb @@ -65,7 +65,7 @@ "metadata": {}, "outputs": [], "source": [ - "bundle_uri = 's3://azavea-research-public-data/raster-vision/examples/model-zoo-0.20/spacenet-vegas-buildings-ss/train/model-bundle.zip'" + "bundle_uri = 's3://azavea-research-public-data/raster-vision/examples/model-zoo-0.21/spacenet-vegas-buildings-ss/train/model-bundle.zip'" ] }, { diff --git a/rastervision_aws_batch/requirements.txt b/rastervision_aws_batch/requirements.txt index 3489c4bee..ca5c10052 100644 --- a/rastervision_aws_batch/requirements.txt +++ b/rastervision_aws_batch/requirements.txt @@ -1,3 +1,3 @@ -rastervision_pipeline==0.20.3-dev +rastervision_pipeline==0.21 boto3==1.28.8 awscli==1.29.8 diff --git a/rastervision_aws_batch/setup.py b/rastervision_aws_batch/setup.py index c0bc31960..0088e9809 100644 --- a/rastervision_aws_batch/setup.py +++ b/rastervision_aws_batch/setup.py @@ -10,7 +10,7 @@ install_requires = [x.strip() for x in all_reqs if 'git+' not in x] name = 'rastervision_aws_batch' -version = '0.20.3-dev' +version = '0.21' description = 'A rastervision plugin that adds an AWS Batch pipeline runner' setup( diff --git a/rastervision_aws_s3/requirements.txt b/rastervision_aws_s3/requirements.txt index 0b9dffb8a..81d3068c4 100644 --- a/rastervision_aws_s3/requirements.txt +++ b/rastervision_aws_s3/requirements.txt @@ -1,4 +1,4 @@ -rastervision_pipeline==0.20.3-dev +rastervision_pipeline==0.21 boto3==1.28.8 awscli==1.29.8 tqdm==4.65.0 diff --git a/rastervision_aws_s3/setup.py b/rastervision_aws_s3/setup.py index af7ed474e..d271c33e6 100644 --- a/rastervision_aws_s3/setup.py +++ b/rastervision_aws_s3/setup.py @@ -10,7 +10,7 @@ install_requires = [x.strip() for x in all_reqs if 'git+' not in x] name = 'rastervision_aws_s3' -version = '0.20.3-dev' +version = '0.21' description = 'A rastervision plugin that adds an AWS S3 file system' setup( diff --git a/rastervision_core/requirements.txt b/rastervision_core/requirements.txt index b4cc09456..3e43437e9 100644 --- a/rastervision_core/requirements.txt +++ b/rastervision_core/requirements.txt @@ -1,4 +1,4 @@ -rastervision_pipeline==0.20.3-dev +rastervision_pipeline==0.21 shapely==2.0.1 geopandas==0.13.2 diff --git a/rastervision_core/setup.py b/rastervision_core/setup.py index 9c2af171f..c4fa21732 100644 --- a/rastervision_core/setup.py +++ b/rastervision_core/setup.py @@ -10,7 +10,7 @@ install_requires = [x.strip() for x in all_reqs if 'git+' not in x] name = 'rastervision_core' -version = '0.20.3-dev' +version = '0.21' description = 'A rastervision plugin that adds geospatial machine learning pipelines' setup( diff --git a/rastervision_gdal_vsi/requirements.txt b/rastervision_gdal_vsi/requirements.txt index b97e9d851..04b6d6905 100644 --- a/rastervision_gdal_vsi/requirements.txt +++ b/rastervision_gdal_vsi/requirements.txt @@ -1,2 +1,2 @@ -rastervision_pipeline==0.20.3-dev +rastervision_pipeline==0.21 gdal==3.6.3 diff --git a/rastervision_gdal_vsi/setup.py b/rastervision_gdal_vsi/setup.py index 3de6d2724..aad784604 100644 --- a/rastervision_gdal_vsi/setup.py +++ b/rastervision_gdal_vsi/setup.py @@ -10,7 +10,7 @@ install_requires = [x.strip() for x in all_reqs if 'git+' not in x] name = 'rastervision_gdal_vsi' -version = '0.20.3-dev' +version = '0.21' description = 'A rastervision plugin that adds a GDAL VSI file system' setup( diff --git a/rastervision_pipeline/rastervision/pipeline/version.py b/rastervision_pipeline/rastervision/pipeline/version.py index cf9e40273..ed6f09f33 100644 --- a/rastervision_pipeline/rastervision/pipeline/version.py +++ b/rastervision_pipeline/rastervision/pipeline/version.py @@ -1,2 +1,2 @@ """Library verison""" -__version__ = '0.20.3-dev' +__version__ = '0.21' diff --git a/rastervision_pipeline/setup.py b/rastervision_pipeline/setup.py index 42ba00451..7dd07142d 100644 --- a/rastervision_pipeline/setup.py +++ b/rastervision_pipeline/setup.py @@ -10,7 +10,7 @@ install_requires = [x.strip() for x in all_reqs if 'git+' not in x] name = 'rastervision_pipeline' -version = '0.20.3-dev' +version = '0.21' description = 'The main rastervision package for configuring, defining, and running pipelines' setup( diff --git a/rastervision_pytorch_backend/requirements.txt b/rastervision_pytorch_backend/requirements.txt index 4cf07f3ab..d143c8810 100644 --- a/rastervision_pytorch_backend/requirements.txt +++ b/rastervision_pytorch_backend/requirements.txt @@ -1,4 +1,4 @@ -rastervision_pipeline==0.20.3-dev -rastervision_core==0.20.3-dev -rastervision_pytorch_learner==0.20.3-dev -rastervision_aws_s3==0.20.3-dev +rastervision_pipeline==0.21 +rastervision_core==0.21 +rastervision_pytorch_learner==0.21 +rastervision_aws_s3==0.21 diff --git a/rastervision_pytorch_backend/setup.py b/rastervision_pytorch_backend/setup.py index 8609e6f94..ba93bbc69 100644 --- a/rastervision_pytorch_backend/setup.py +++ b/rastervision_pytorch_backend/setup.py @@ -10,7 +10,7 @@ install_requires = [x.strip() for x in all_reqs if 'git+' not in x] name = 'rastervision_pytorch_backend' -version = '0.20.3-dev' +version = '0.21' description = 'A rastervision plugin that adds PyTorch backends for rastervision.core pipelines' setup( diff --git a/rastervision_pytorch_learner/requirements.txt b/rastervision_pytorch_learner/requirements.txt index 9f448fa20..fbc2ab504 100644 --- a/rastervision_pytorch_learner/requirements.txt +++ b/rastervision_pytorch_learner/requirements.txt @@ -1,5 +1,5 @@ -rastervision_pipeline==0.20.3-dev -rastervision_core==0.20.3-dev +rastervision_pipeline==0.21 +rastervision_core==0.21 numpy==1.25.0 pillow==9.3.0 torch==2.0.1 diff --git a/rastervision_pytorch_learner/setup.py b/rastervision_pytorch_learner/setup.py index 0ce9ff23f..7d31c4618 100644 --- a/rastervision_pytorch_learner/setup.py +++ b/rastervision_pytorch_learner/setup.py @@ -10,7 +10,7 @@ install_requires = [x.strip() for x in all_reqs if 'git+' not in x] name = 'rastervision_pytorch_learner' -version = '0.20.3-dev' +version = '0.21' description = 'A rastervision plugin that adds PyTorch training pipelines' setup( diff --git a/requirements.txt b/requirements.txt index 053458ae7..f8e19171c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ -rastervision_pipeline==0.20.3-dev -rastervision_aws_s3==0.20.3-dev -rastervision_aws_batch==0.20.3-dev -rastervision_core==0.20.3-dev -rastervision_pytorch_learner==0.20.3-dev -rastervision_pytorch_backend==0.20.3-dev +rastervision_pipeline==0.21 +rastervision_aws_s3==0.21 +rastervision_aws_batch==0.21 +rastervision_core==0.21 +rastervision_pytorch_learner==0.21 +rastervision_pytorch_backend==0.21 diff --git a/setup.py b/setup.py index 242296418..23af09f37 100644 --- a/setup.py +++ b/setup.py @@ -9,7 +9,7 @@ from imp import load_source here = op.abspath(op.dirname(__file__)) -__version__ = '0.20.3-dev' +__version__ = '0.21' # get the dependencies and installs with io.open(op.join(here, 'requirements.txt'), encoding='utf-8') as f: