Breaking Changes
- New
PipelineController
v2 (note: new constructor is not backwards compatible) - Disable default demo server (available by setting the CLEARML_NO_DEFAULT_SERVER=0 environment variable)
- Deprecate
Task.completed()
(useTask.mark_completed()
instead)
Features
- Add Task Trigger Scheduler
- Add Task Cron Scheduler
- Add PipelineController from function
- Add PipelineDecorator (
PipelineDecorator.pipeline
andPipelineDecorator.component
decorators for full custom pipeline logic) - Add xgboost auto metric logging #381
- Add
sdk.storage.log.report_upload_chunk_size_mb
andsdk.storage.log.report_download_chunk_size_mb
configuration options to control upload/download log reporting #424 - Add new optional
auto_connect_frameworks
argument value toTask.init()
(e.g.auto_connect_frameworks={'tfdefines':False}
) to allow disabling TF defines #408 - Add support for
CLEARNL_CONFIG_VERBOSE
environment variable to allow external control over verbosity of the configuration loading process - Add support for uploading artifacts with a list of files using
Task.upload_artifcats(name, [Path(), Path()])
- Add missing clearml-task parameters
--docker_args
,--docker_bash_setup_script
and--output-uri
- Change
CreateAndPopulate
will auto list packages imported but not installed locally - Add
clearml.task.populate.create_task_from_function()
to create a Task from a function, wrapping function input arguments into hyper-parameter section as kwargs and storing function results as named artifacts - Add support for Task serialization (e.g. for pickle)
- Add
Task.get_configuration_object_as_dict()
- Add
docker_image
argument toTask.set_base_docker()
(deprecatedocker_cmd
) - Add
auto_version_bump
argument toPipelineController
- Add
sdk.development.detailed_import_report
configuration option to provide a detailed report of all python package imports - Set current Task as Dataset parent when creating dataset
- Add support for deferred configuration
- Examples
- Add Pipeline v2 examples
- Add
TaskScheduler
andTriggerScheduler
examples - Add pipeline controller callback example
- Improve existing examples and docstrings
Bug Fixes
- Fix poltly plots converting
NaN
tonan
instead ofnull
#373 - Fix deprecation warning #376
- Fix plotly multi-index without index names #399
- Fix click support #437
- Fix docstring #438
- Fix passing
task-type
to clearml-task #422 - Fix
clearml-task --version
throws an error #422 - Fix clearml-task ssh repository links are not detected as remote repositories #423
- Fix
getattr
throws an exception #426 - Fix encoding while saving notebook preview #443
- Fix poetry toml file without requirements.txt #444
- Fix
PY3.x
fails callingSemLock._after_fork
with forkserver context, forking while lock is acquired allegroai/clearml-agent#73 - Fix wrong download path in
StorageManager.download_folder()
- Fix jupyter notebook
display(...)
convert toprint(...)
- Fix Tensorflow
add_image()
withdescription='text'
- Fix
Task.close()
should removecurrent_task()
reference - Fix
TaskScheduler
weekdays, change defaultexecute_immediately
toFalse
- Fix Python2 compatibility
- Fix clearml-task exit with error when failing to verify
output_uri
(output warning instead) - Fix unsafe Google Storage delete object
- Fix multi-process spawning wait-for-uploads can create a deadlock in very rare cases
- Fix
task.set_parent()
fails when passing Task object - Fix
PipelineController
skipping queued Tasks - Remove
humanfriendly
dependency (unused)