- N/A
- Fix incorrect retrieval of latest
Dataset
due to invalid search criteria ofFINISHED
status. Both lower and upper naming variants will be employed for backward compatibility of existingDataset
entries.
- Provide
crop_mode
parameter toBatchCreation
process that specifies whether to generateextend
(pad crops to have squares),raw
(original minimal rectangle) orreduce
(clip bbox to make a square). Whencrop_fixed_size
is not provided (has priority),crop_mode
indicates how to generate the patches. Default isextend
(most typical use case: square bbox of various sizes to be handled by preprocessing transforms). Previously, the minimal rectangle bounding box fitted to contain the annotated feature were directly used to generate non-squared patch crops. The dimensions are now adjusted to specification [GEOIM-238]. - All
Dataset
now only contain one type of patch crop (fixed
,extend
,fixed
,reduce
) according to the parameters provided duringBatchCreation
request. Patches offixed
size are no longer added on top of theraw
crops in the sameDataset
. - Loads all
crops
of eachpatch
within theDataset
as individualsample
for the data loader. Crops where previously assumed to always be a list of a single item. They will support multiple if more are provided. - Provide map of masked image labels to samples generated by the test data loader for
Segmentation
task. - Add summary result reporting function extended by specialized ones for
Classification
andSegmentation
tasks. - Forward
dontcare
configuration parameters to the data loader for proper sample generation. - Add more validation of input model task to have expected class IDs format matching taxonomy classes to map against.
- Add support of model upload using Google Drive shared file link.
- Enforce
geoimagenet_ml.ml.data_trainer_device
configuration to use the explicit device available. Don't rely on possibly unavailable/invalid device inferred from model checkpoint uploaded by external user. - Update requirements to crim-ca/gin-model-repo (1.0.1) and thelper (v0.6.2) to employ latest updates at this time.
- Fix creation of crop masks as UINT8 black/white PNG images [GEOIM-337].
- Fix test runner for
Classification
task with adjustments to job update and other parameters incorrectly passed down during sample generation by the data loader. - Revert erroneously removed implementation of data loader for
Classification
(was overridden bySegmentation
implementation in2.0.0
). - Pin
celery<5
that breaks imports.
- add crim-ca/gin-model-repo (1.0.0) to dependencies to facilitate import of corresponding utilities and model implementations
- add
scripts/update_model_classes.py
to update taxonomy class indices of model task in checkpoint (CLI script callable after install withgin_ml_update_model_classes
) - add
scripts/run_model_tester.py
to executeProcessRunnerModelTester
process offline (CLI script callable after install withgin_ml_run_model_tester
) - add
memory
implementations of database stores for testing and scripts - add support of
Segmentation
networks inference with corresponding dataset loader, metrics and tasks - update
thelper>=0.5.0
requirement for latest changes and features
- fix validation of model task if already parsed as instance of
thelper.tasks.Task
- fix incorrect
crop_fixed_size
input description ofProcessRunnerBatchCreator
- fix
Classification
task execution ofProcessRunnerModelTester
with updatedthelper
definitions - fix saved image crop mask of annotated features in dataset
- add support of
MultiPolygon
feature if it is defined as a single set ofPolygon
duringbatch-creation
- drop Sentry events in case of HTTP Client errors (4xx) to avoid over reporting expected responses by API
- filter directory walker file types to
tif
only for retrieval of rasters withinbatch-creation
process runner
- remove git clone of
thelper
inJenkinsfile
as it is installed with requirements pinned version from PyPI
- fix incorrect descriptions returned for
GET
requests of job logs and exceptions - fix key error when parsing model task defined as literal string [GEOIM-245, GEOIM-247]
- pin
gdal==2.4.2
asgdal==3.0.1
fails on import (OSGeo/gdal#1759)
- add error logging in case of request generating an exception (voluntary or by execution problem)
- change
gdal
requirements and imports to avoidosgeo
variant breaking too easily - support older
thelper
model checkpoint definitions using string parameters instead of JSON [GEOIM-241] - update to
thelper>=0.3.7
, help better support old format for model task definitions [GEOIM-247] - disable Jenkins online tests execution (download/upload model) as they now require login [GEOIM-180]
- avoid key error of WPS-like process properties cleanup during initialization [GEOIM-225]
- better filter and group common job error message to Sentry [GEOIM-227]
- update test model checkpoint for unittest execution with more relevant
thelper
configuration [GEOIM-180]
- add additional metrics (Top-1, Top-5) in process model-tester execution results (GEOIM-163)
- add fetching of taxonomy definition during batch-creation process execution from input URL (GEOIM-161)
- save retrieved taxonomy definition to generated dataset batch (GEOIM-162)
- enforce
thelper>=0.3.1
to use new operation modes and back compatibility import methods - add model checkpoint validation checks and raise
ModelValidationError
(HTTP Forbidden [403]
) if invalid - disallow loading a model task defined as literal string, must be a JSON definition of parameters
- disallow loading a model task not matched within existing job mapping (processing steps must be fully defined)
- disallow loading a model task without minimal configuration parameters required during model-tester execution
- add model checkpoint validation checks and raise
- add named key variables to help understand corresponding items across dictionary definitions and generated results
- add more detail to produced results of model-tester process (GEOIM-163)
- fix incorrectly returned message from
POST /processes/{id}/jobs
requests in case of error
- add
BatchTestPatchesDatasetLoader
implementation that loads a generated dataset of test patches from process batch-creation execution to evaluate them against a registered model using process model-tester. - add
geoimagenet_ml.ml.jobs_path
configuration setting to indicate where process job logging should be stored. (mostly during process model-tester execution) - adjust model and dataset definitions to employ the same task until resolved (GEOIM-153)
- fix bug generated during model-tester process execution attempting to update
Dataset
parameters (GEOIM-149)
- add variable
GEOIMAGENET_ML_SENTRY_SERVER_NAME
to allow overridingserver_name
value reported by sentry. - fix bug caused by invalid sub-item type checker of job exception field (GEOIM-146).
- fix bug caused by invalid list/tuple concatenation in job exception field (GEOIM-145).
- fetching
latest
job for processes wherelimit_single_job=False
will not raise500
if job count>1
- fetching
current
job for processes wherelimit_single_job=False
will raise403
because of multiple matches - fetching
current
job for processes wherelimit_single_job=True
raises404
with more appropriate message - change job
mark_started
andmark_finished
methods toupdate_started_datetime
andupdate_finished_datetime
respectively to be more specific since they do not actually set thestatus
field - use enum for
current
andlatest
keywords - add additional input format validation during job submission
- add filtering of job search with multiple
STATUS
and/orCATEGORY
simultaneously - add tests for
current
andlatest
jobs use cases - add tests for job submission input type validation
- update bump version
Makefile
targets and config - enforce typing of enum string sub-type and unique constraint
- fix process
limit_single_job
field incorrectly set in database - fix process
reference
field incorrectly set in database - fix double dot (
. .
) string ending not correctly cleaned up for response, notably process abstract field (requires process recreation or update if already inserted in the database) - fix typing of
ExtendedEnumMeta.get()
method return value for expected corresponding enums
- add visibility update
PUT
requests forJob
andModel
(GEOIM-137) - add strong and enforced input validation of datatype parameters
- upgrade db to version
"4"
, loading previous objects could cause errors (input validation failures) - add more unittests for input validation
- add test for new visibility routes (GEOIM-137)
- add test for job submission
- add sentry-sdk integration (GEOIM-118)
- fix returned body response from job submission to match rest of API format
- fix multiple API schema definitions
- add request to store corresponding user-id to db if specified with
MAGPIE_USER_URL
- add statistics and action tracking of API requests
- add user creating a new dataset, model, job, process
- add started timestamp for jobs not immediately running (accepted but pending), duration based on it
- restructure enum components used across the project
- fix rare race condition of job update caused by updated job details not retrieved from db
- fix incorrectly saved datetime as string in db
- fix API schemas and drop unused items
- add pip check on install to ensure all package requirements/dependencies are met recursively
- fix supervisor path reference to source
- fix db invalid index reference
- rebase source directory from
src
togeoimagenet_ml
to solve installation/debug issues - add more validation of job inputs
- add and fix utility make targets
- fix gdal package and unresolved symbol error
- fix typing and general code formatting
- fix and complete batch-creation job execution
- Redefine most of the process creation procedure.
- Batch of patches creation process
- Model testing process
- Automatically create default processes on start if not available in db.
- Add dataset download route.
- Fix typing and validations.
- More refactoring and fixes for functional ML on server.
- Full refactoring of project directories and imports.
- Setup databases, datasets, models, processes and other interfaces with REST API.
- Setup API schemas for documentation.
- Switch between mongodb/postgres databases (postgres schemas not all supported)
- Initial release.