clearml-docs/docs/release_notes/ver_0_15.md
2023-01-23 15:04:24 +02:00

199 lines
13 KiB
Markdown

---
title: Version 0.15
---
:::important
**Trains** is now **ClearML**.
:::
## Version 0.15.1
### Trains
**Features**
* Add direct plotly figure reporting ([GitHub Issue #136](https://github.com/allegroai/trains/issues/136)).
* Improve matplotlib integration ([GitHub Issue #140](https://github.com/allegroai/trains/issues/140)).
* Add `Task.set_parent` ([GitHub Issue #144](https://github.com/allegroai/trains/issues/144)).
* Add `Task.wait_for_status` ([GitHub Issue #145](https://github.com/allegroai/trains/issues/145)).
* Enhance framework `save` / `load` binding callbacks ([pytorch/ignite Issue #1056](https://github.com/pytorch/ignite/issues/1056)).
* Add `TrainsJob.is_failed`.
* Add APIClient support using `trains.backend_api.session.APIClient`.
* Add URL tracking when using `StorageManager.get_local_copy` (log remote URL instead of local file copy).
* Improve and expand examples.
**Bug Fixes**
* Fix `pytorch_tensorboard.py` example ([GitHub Issue #148](https://github.com/allegroai/trains/issues/148)).
* Fix `ssh://user@domain@server.com/` in Git repository ([GitHub Issue #149](https://github.com/allegroai/trains/issues/149)).
* Fix do not call `make_deterministic` on import.
* Fix initialization wizard (allow at most two verification retries, then print error) ([GitHub trains-agent Issue #16](https://github.com/allegroai/trains-agent/issues/16)).
* Fix Google CoLab code / package detection.
* Improve pytorch-ignite integration.
* Fix TensorFlow version 2 and later histogram binding.
* Fix `Logger.tensorboard_single_series_per_graph`.
* Fix anonymous named models.
* Fix incorrect entry point detection when called from Trains wrapper (e.g. `TrainsLogger` in PyTorch Ignite / Lightning).
### Trains Server
**Bug Fixes**
* Fix experiment clone dialog resets while typing ([GitHub trains-server Issue 44](https://github.com/allegroai/trains-server/issues/44)).
* Fix image-only plots are not displayed ([GitHub Issue #140](https://github.com/allegroai/trains/issues/140)).
* Fix last item in plots list is hidden.
* Fix input model edit view contains a redundant save button.
* Fix credentials popup shows incorrect URL for fileserver.
* Fix experiment description does not allow multiple lines.
* Fix tags filter ("No tags" selection, display only tags available for the project).
* Fix cannot save empty model configuration.
* Fix add tag dialog does not close after adding a tag.
* Show active column filters for values even when values are unavailable in current project.
* Fix project selection resets when cloning an experiment.
* Fix several broken icons.
* Fix cannot add tags in Results view.
* Add warning when deleting a model/experiment tag.
* New icons for experiment/task types.
### Trains Agent
**Features**
* Add Trains Agent Daemon and Services docker files.
**Bug Fixes**
* Fix initialization wizard (allow at most two verification retries, then print error).
* Add warning on `--gpus` with no detected CUDA version ([GitHub trains-agent Issue 24](https://github.com/allegroai/trains-agent/issues/24)).
* Add `agent.force_git_ssh_protocol` configuration option to force all Git links to `ssh://` ([GitHub trains-agent Issue 16](https://github.com/allegroai/trains-agent/issues/16)).
* Add Git user / pass permission into pip package installation from Git repository ([GitHub trains-agent Issue 22](https://github.com/allegroai/trains-agent/issues/22)).
## Version 0.15.0
### Trains
**Features**
* Add automation support including hyperparameter optimization (see example [here](https://github.com/allegroai/clearml/blob/master/examples/optimization/hyper-parameter-optimization/hyper_parameter_optimizer.py))
* `Task.init` `auto_connect_arg_parser` argument can accept a dictionary disabling specific keys from the argparser (Trains Slack channel [thread](https://clearml.slack.com/archives/CTK20V944/p1589355878206700))
* Allow `worker_id` override using `TRAINS_WORKER_NAME` environment variable (Trains Slack channel [thread](https://clearml.slack.com/archives/CTK20V944/p1589920581251600?thread_ts=1589920220.250100&cid=CTK20V944))
* Support layout configuration for plotly objects using `extra_layout` argument in all `Logger` reporting methods ([GitHub Issue #136](https://github.com/allegroai/trains/issues/136)).
* Add `Task.execute_remotely` to allow cloning and enqueuing a locally executed task (or stopping and re-enqueuing a remotely executed task) ([GitHub Issue #128](https://github.com/allegroai/trains/issues/128)).
* Add Parquet framework and model type.
* Support recursive model folder packaging.
* Add `Task.get_reported_console_output` and `Task.get_reported_scalars` to allow retrieval of reported output and scalar metrics.
* Add `Task.add_requirements` to force requirement package into "installed packages."
* Improve task reuse responsiveness.
* Add `raise_on_error` (default False) argument to `Model.get_local_copy` and `Artifact.get_local_copy` ([GitHub trains-agent Issue #17](https://github.com/allegroai/trains-agent/issues/17)).
* Support `Task.get_task` without project name (i.e. all projects)
* Support using the file calling `Task.init` as the task's script in case sys.argv doesn't point to a git repository
* Support detecting and remotely executing code running from a module (i.e. `-m module`)
* Add callback for framework `save` / `load` binding for better integration with pytorch / ignite ([GitHub pytorch/ignite Issue #1056](https://github.com/pytorch/ignite/issues/1056))
* Support new task types provided in Trains Server v0.15.0
* Add automation and distributed examples
* Upgrade default pip version to `<20.2`
**Bug Fixes**
* Fix `exact_match_regex` in case of empty pattern ([GitHub Issue #138](https://github.com/allegroai/trains/issues/138)).
* Address deprecation warning and newer `attrs` versions in MetricsEventAdapter ([GitHub Issue #134](https://github.com/allegroai/trains/issues/134)).
* Fix issues with plotly support (Trains Slack channel [thread](https://clearml.slack.com/archives/CTK20V944/p1589871253243600) and [thread](https://clearml.slack.com/archives/CTK20V944/p1589279340195000)).
* Fix default argument behavior to match argparse behavior.
* Fix `OutputModel` with `task=None` should use current task, if exists.
* Fix `Task.get_task()` to raise proper error on incorrect `task_id`.
* Fix `Task.enqueue()` to use an exact queue name match.
* Fix `NaN`, `Inf` and `-Inf` values display in reported table (not supported by JSON).
* Limit max requirement size to 0.5 MB.
* Fix issues with repository analysis.
* Fix `StorageManager` so it should only try to extract .zip files, `Model` should not auto extract package ([GitHub trains-agent Issue #17](https://github.com/allegroai/trains-agent/issues/17)).
### Trains Server
**Features**
* Add support for debug media (images, audio, video) ([GitHub Issue #120](https://github.com/allegroai/trains/issues/120)).
* Add support for previewing HTML debug samples.
* Add experiment and model tag management ([GitHub Issue #46](https://github.com/allegroai/trains/issues/46)).
* Add support for more task types (see Trains v0.15.0 and Trains Agent v0.15.0 for related support and services mode).
* Experiment comparison:
* Add Last / Max (maximal) / Min (minimal) scalar values to parallel coordinates in experiment comparison ([GitHub Issue #131](https://github.com/allegroai/trains/issues/131)).
* Add deep comparison support to experiment comparison, including uncommitted changes by file with line diff and search of all text.
* Enhance table columns:
* Add dynamic column ordering to the experiments and models tables.
* Add the User column to the experiments table.
* Add the Description to experiments and models tables.
* Add double click to table column resizers for column width reset.
* Add column customization to the models table.
* Add support for saving and sharing customized model table URLs by embedding table customizations in the URL.
* Add a popup text editor for all text areas.
* Move resource monitoring plots after the metrics plots in the experiment results SCALARS tab.
* Add support for the clear_all parameter in tasks.reset to improve Trains SDK Task reuse.
* Unify experiments table and comparison auto-refresh (switching between table and comparison auto refresh setting did not change).
* Add a cancel button to all text searches.
* Improve the experiment / info panel split to 75% / 25%.
* Improve infrastructure:
* Update pymongo and mongoengine to their latest versions.
* Improve mongo performance by eliminating non-indexed queries.
* Upgrade WebApp to Angular 9.
* Use native javascript instead of date-fns.
* Add survey invitation popup.
**Bug Fixes**
* Fix init wizard, correctly display the input servers ([GitHub Issue #19](https://github.com/allegroai/trains-agent/issues/19)).
* Improve docker host-mount support, use `TRAINS_AGENT_DOCKER_HOST_MOUNT` environment variable.
* Support pip v20.1 local / http package reference in pip freeze.
* Fix detached mode to correctly use cache folder slots.
* Fix `CUDA_VISIBLE_DEVICES` should never be set to "all".
* Do not monitor GPU when running with `--cpu-only`
* Fix experiment comparison issues:
* Scalar comparison type does not reflect displayed comparison ([GitHub Issue #40](https://github.com/allegroai/trains/issues/40)).
* Comparison animations overlapping other fields.
* Cannot choose a metric after clearing it in experiment comparison parallel coordinates.
* Adding a dimension without a value removes all lines in experiment comparison parallel coordinates.
* Fix experiment view issues:
* Custom URL gets erased when clicking on any tab on experiment.
* All experiments re-fetched when navigating through tabs of an experiment.
* Input and output models configuration box sizes differs in the experiments **ARTIFACTS** tab.
* Changing experiment table / info panel split redraws scalars and plots.
* Wrong download URL shown for S3 artifact links with special characters.
* Fix experiment results view issues:
* Browser zoom breaks labels (Ctrl + / Ctrl - / mouse wheel) in experiment results **SCALARS** tab ([GitHub Issue #127](https://github.com/allegroai/trains/issues/127)).
* Debug image name not shown if file cannot be loaded.
* minio images with spaces in the path not displaying correctly
* Plots should use the full panel space.
* Plot relative time displaying incorrectly in experiment results **SCALARS** tab.
* Wall time display in local time in experiment results **SCALARS** tab.
* Fix experiment table issues:
* Hyperparameters sorted as strings, not as numbers ([GitHub Issue #124](https://github.com/allegroai/trains/issues/124)).
* Prevent auto refresh reordering when the info panel is open.
* Table resizing made the preferences wheel to jump over titles.
* Fix experiment reset when both the input and output model are the same causes model deletion.
* Fix experiment clone not working if the input model was deleted.
* Fix missing trash icon (delete) if a custom column title is too long.
* Fix display of aborted tasks in the recent experiments on the Homepage.
### Trains Agent
**Features**
* Add daemon Services Mode (`daemon --services-mode`), where the daemon spins a task in its own Docker container, and verifies start-up and shut-down. This allows multiple tasks to be launched simultaneously on the same machine (currently in CPU mode only), where each task service will register itself as a worker for the lifetime of the task.
* Enhance `build --docker` mode:
* Add `--install-globally` option to install required packages in the Docker's system Python.
* Add `--entry-point option` to allow automatic task cloning when running the Docker container.
* Support PyTorch Nightly builds using the `agent.torch_nightly` configuration flag. If true, the agent looks for a nightly build when a stable torch wheel is not found.
* Add environment variables support for git user / password:
* Using `TRAINS_AGENT_GIT_USER` / `TRAINS_AGENT_GIT_PASS`.
* Pass git credentials to dockerized experiment execution.
* Support running code from module (i.e. -m in execution entry point).
* Add `daemon --create-queue` to automatically create a queue and use it, if the queue name doesn't exist in the server.
* Move `--gpus` and `--cpu-only` to worker args (used by `daemon`, `execute` and `build`).
**Bug Fixes**
* Fix init wizard, correctly display the input servers ([GitHub Issue #19](https://github.com/allegroai/trains-agent/issues/19)).
* Improve docker host-mount support, use `TRAINS_AGENT_DOCKER_HOST_MOUNT` environment variable.
* Support pip v20.1 local/http package reference in pip freeze.
* Fix detached mode to correctly use cache folder slots.
* Fix `CUDA_VISIBLE_DEVICES` should never be set to "all".
* Do not monitor GPU when running with `--cpu-only`