forked from remicres/otbtf
-
Notifications
You must be signed in to change notification settings - Fork 0
/
RELEASE_NOTES.txt
194 lines (168 loc) · 11 KB
/
RELEASE_NOTES.txt
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
Version 4.3.1 (02 jan 2024)
----------------------------------------------------------------
* Fix a bug with PROJ due to OTB 9 packaging
* More tests for OTB
Version 4.3.0 (02 jan 2024)
----------------------------------------------------------------
* Add compute capability 8.0 and 9.0
* Remove OTB GUI dependencies
* Move OTB to version 9.0.0
* Move TensorFlow to version 2.14
Version 4.2.2 (19 oct 2023)
----------------------------------------------------------------
* Add a test to ensure that planetary computer works in the OTBTF docker image
* Move to OTB version d74ab47d4308591db4ed5a5ea3b820cef73a39fe since 8.2.1 looks not up-to-date
Version 4.2.1 (5 oct 2023)
----------------------------------------------------------------
* Fix a bug occuring when input images origins were not sharing the same pixel grid
* CI to push "latest-gpu" tag on dockerhub
* Move to OTB 8.2.1
Version 4.2.0 (12 sep 2023)
----------------------------------------------------------------
* Add new python modules: `otbtf.layers` (with new classes `DilatedMask`, `ApplyMask`, `ScalarsTile`, `ArgMax`, `Max`) and `otbtf.ops` (`one_hot()`)
* Fix an error in the documentation
* Update the otbtf-keras tutorial
* Add decloud testing in CI
* Fix protobuf version in dockerfile (see https://github.com/tensorflow/tensorflow/issues/61551)
Version 4.1.0 (23 may 2023)
----------------------------------------------------------------
* Add no-data values support for inference in TensorflowModelServe application
* Fix CuDNN version detection in `build-env-tf.sh`
* Dockerfile args to build otbtf with TensorRT (experimental)
Version 4.0.0 (5 apr 2023)
----------------------------------------------------------------
* Big improvement of the documentation:
- Re-structure the entire doc, remove deprecated stuff, etc.
- Add a nice mkdocs template
- Docs are now hosted at otbtf.readthedocs.io
- Add a new section on the python API (end-to-end tutorial)
- A lot of new sections: distributed training, etc...
* Refactoring all the python classes to enforce pep8
* Base images: ubuntu:22.04 (cpu), nvidia/cuda:12.0.1-cudnn8-devel-ubuntu22.04 (gpu)
* Tensorflow version: 2.12.0
* Fixed Tensorflow error "Cannot register 2 metrics with the same name" + new test
* Faster CI build thanks to bazel remote cache
* /home/otbuser/.local/bin added to user path
Version 3.4.0 (22 mar 2023)
----------------------------------------------------------------
* Update OTB version to 5086d7601d80f2427f4d4d7f2398ec46e7efa300 (version 8.1.1 with bugfixes on in-memory connection with python bindings)
Version 3.3.3 (3 nov 2022)
----------------------------------------------------------------
* Update OTB version to c8cde1f4b35c00613b1cff38ae64bdc02f82542c (version 8.1.0 with extended filename bugfix)
* CI is able to pick up a sha commit rather than a specific branch for OTB
Version 3.3.2 (22 sep 2022)
----------------------------------------------------------------
* `otbtf.TFRecords` can be used in environments where only TensorFlow is present, without GDAL or OTB (e.g. HPC centers).
* Simplify the `plot()` method in the `otbtf.ModelBase` class
* Upgrade OTB to version 8.1.0
* Build GDAL with GEOS support
* Add a warning message in `TFRecords` when output_shape or output_type is missing
* Upgrade pip in the docker images
Version 3.3.0 (27 jul 2022)
----------------------------------------------------------------
* Improves the `dataset` classes (`DatasetFromPatchesImages`, `TFRecords`) to use them easily in keras
* Add the `ModelBase` class, which eases considerably the creation of deep nets for Keras/TF/TensorflowModelServe
* Add an example explaining how to use python classes to build and train models with Keras, and use models in OTB.
* Document the python API (`otbtf.dataset`, `otbtf.tfrecords`, `otbtf.ModelBase`)
* Test the python API in the CI, using the (XS, labels) patches of the Amsterdam dataset from CRC book
* Upgrade OTB to version 8.0.1
* Upgrade GDAL to version 3.4.2
Version 3.2.1 (1 jun 2022)
----------------------------------------------------------------
* Changing docker images naming convention (cpu/gpu-basic* --> cpu/gpu*, cpu/gpu* --> cpu/gpu-opt*) + only images without optimizations are pushed on dockerhub
* Enhance CI with automatic builds of docker images
* Fix a bug in dataset.py (output type was always Float32)
* Fix a bug in `otbTensorflowSampler.hxx` (see https://github.com/remicres/otbtf/issues/81)
* Change the behavior of `_read_extract_as_np_arr` method: now returns 3D arrays even for singleband
Version 3.1 (5 apr 2022)
----------------------------------------------------------------
* Add the "split" strategy in the `PatchesSelection` application. Now the application can select points for 3 independent data splits (train, valid, test).
* `PatchesExtraction` and `PatchesSelection` don't use the `usenodata` option anymore. Now to use nodata, one simply has to set a parameter value for the nodata (no more default value).
* New python examples in `python/examples/tensorflow_v2x` to illustrate how deterministic models can be quickly built using TensorFlow 2, exporte as SavedModel, and used with OTBTF.
* Change "import gdal" --> "from osgeo import gdal" in otbtf.py
Version 3.0.0-beta (20 nov 2021)
----------------------------------------------------------------
* Use Tensorflow 2 API everywhere. Everything is backward compatible (old models can still be used).
* Support models with no-named inputs and outputs. OTBTF now can resolve the names! :) Just in the same order as they are defined in the computational graph.
* Support user placeholders of type vector (int, float or bool)
* More unit tests, spell check, better static analysis of C++ and python code
* Improve the handling of 3-dimensional output tensors, + more explanation in error messages about output tensors dimensions.
* Improve `PatchesSelection` to locate patches centers with corners or pixels centers depending if the patch size is odd or even.
Version 2.5 (20 oct 2021)
----------------------------------------------------------------
* Fix a bug in otbtf.py. The `PatchesImagesReader` wasn't working properly when the streaming was disabled.
* Improve the documentation on docker build and docker use (Thanks to Vincent@LaTelescop and Doctor-Who).
Version 2.4 (11 apr 2021)
----------------------------------------------------------------
* Fix a bug: The output image origin was sometimes shifted from a fraction of pixel. This issue happened only with multi-inputs models that have inputs of different spacing.
* Improvement: The output image largest possible region is now computed on the maximum possible area within the expression field. Before that, the largest possible region was too much cropped when an expression field > 1 was used. Now output images are a bit larger when a non unitary expression field is used.
Version 2.3 (30 mar 2021)
----------------------------------------------------------------
* More supported numeric types for tensors:
* `tensorflow::DT_FLOAT`
* `tensorflow::DT_DOUBLE`
* `tensorflow::DT_UINT64`
* `tensorflow::DT_INT64`
* `tensorflow::DT_UINT32`
* `tensorflow::DT_INT32`
* `tensorflow::DT_UINT16`
* `tensorflow::DT_INT16`
* `tensorflow::DT_UINT8`
* Update instructions to use docker
Version 2.2 (29 jan 2021)
----------------------------------------------------------------
* Huge enhancement of the docker image build (from Vincent@LaTeleScop)
Version 2.1 (17 nov 2020)
----------------------------------------------------------------
* New OTBTF python classes to train the models:
* `PatchesReaderBase`: base abstract class for patches readers. Users/developers can implement their own from it!
* `PatchesImagesReader`: a class implementing `PatchesReaderBase` to access the patches images, as they are produced by the OTBTF PatchesExtraction application.
* `IteratorBase`: base class to iterate on `PatchesReaderBase`-derived readers.
* `RandomIterator`: an iterator implementing `IteratorBase` designed to randomly access elements.
* `Dataset`: generic class to build datasets, consisting essentially of the assembly of a `PatchesReaderBase`-derived reader, and a `IteratorBase`-derived iterator. The `Dataset` handles the gathering of the data using a thread. It can be used as a `tf.dataset` to feed computational graphs.
* `DatasetFromPatchesImages`: a `Dataset` that uses a `PatchesImagesReader` to allow users/developers to stream their patches generated using the OTBTF PatchesExtraction through a `tf.dataset` which implements a streaming mechanism, enabling low memory footprint and high performance I/O thank to a threaded reading mechanism.
* Fix in dockerfile (from Pratyush Das) to work with WSL2
Version 2.0 (29 may 2020)
----------------------------------------------------------------
* Now using TensorFlow 2.0! Some minor migration of python models, because we stick with `tf.compat.v1`.
* Python functions to read patches now use GDAL
* Lighter docker images (thanks to Vincent@LaTeleScop)
Version 1.8.0 (14 jan 2020)
----------------------------------------------------------------
* PatchesExtraction supports no-data (a different value for each source can be set)
* New sampling strategy available in PatchesSelection (balanced strategy)
Version 1.7.0 (15 oct 2019)
----------------------------------------------------------------
* Add a new application for patches selection (experimental)
* New docker images that are GPU-enabled using NVIDIA runtime
Version 1.6.0 (18 jul 2019)
----------------------------------------------------------------
* Fix a bug related to coordinates tolerance (TensorflowModelTrain can now use patches that do not occupy physically the same space)
* Fix dockerfile (add important environment variables, add a non-root user, add an example how to run the docker image)
* Document the provided Gaetano et al. two-branch CNN
Version 1.5.1 (18 jun 2019)
----------------------------------------------------------------
* Ubuntu bionic dockerfile + instructions
* Doc tags for QGIS3 integration
* Add cmake tests (3 models are tested in various configuration on Pan/XS images)
* PatchesExtraction writes patches images with physical spacing
Version 1.3.0 (18 nov 2018)
----------------------------------------------------------------
* Add 3 models that can be directly trained with TensorflowModelTrain (one CNN net, one FCN net, one 2-branch CNN net performing separately on PAN and XS images)
* Fix a bug occurring when using a scale factor <> 1 with a non-unit expression field
* Fix incorrect batch size in learning filters when batch size was not a multiple of number of batches
* Add some documentation
Version 1.2.0 (29 sep 2018)
----------------------------------------------------------------
* Fix typos in documentation
* Add a new application for dense polygon classes statistics
* Fix a bug in validation step
* Add streaming option of training/validation
* Document filters classes
* Change applications parameters names and roles
* Add a python application that converts a graph into a savedmodel
* Adjust tiling to expression field
* Update license
Version 1.0.0 (16 may 2018)
----------------------------------------------------------------
* First release of OTBTF!