From 3e1916c620313e9eb1608489b045e3f5a2585ed0 Mon Sep 17 00:00:00 2001 From: allegroai Date: Wed, 19 May 2021 01:31:01 +0300 Subject: [PATCH] Update documentation --- docs/apps/clearml_session.md | 11 ++- docs/apps/remote pycharm.md | 3 - docs/clearml_agent.md | 10 ++ docs/clearml_data.md | 21 ++--- docs/faq.md | 6 +- .../distributed_pytorch_example.md | 4 +- docs/guides/distributed/subprocess_example.md | 6 +- .../autokeras/autokeras_imdb_example.md | 4 +- .../fastai/fastai_with_tensorboard.md | 2 +- .../keras/allegro_clearml_keras_tb_example.md | 2 +- docs/guides/frameworks/keras/jupyter.md | 4 +- .../frameworks/keras/keras_tensorboard.md | 4 +- .../frameworks/keras/manual_model_upload.md | 66 -------------- .../frameworks/pytorch/manual_model_upload.md | 79 ---------------- .../audio_classification_UrbanSound8K.md | 4 +- .../notebooks/image/hyperparameter_search.md | 4 +- .../image/image_classification_CIFAR10.md | 4 +- .../table/download_and_preprocessing.md | 4 +- .../text/text_classification_AG_NEWS.md | 4 +- .../pytorch/pytorch_distributed_example.md | 2 +- .../frameworks/pytorch/pytorch_mnist.md | 4 +- .../frameworks/pytorch/pytorch_tensorboard.md | 4 +- .../pytorch/pytorch_tensorboardx.md | 2 +- .../frameworks/tensorboardx/tensorboardx.md | 4 +- .../tensorflow/manual_model_upload.md | 86 ------------------ .../tensorflow/tensorboard_pr_curve.md | 4 +- .../frameworks/tensorflow/tensorflow_mnist.md | 4 +- .../frameworks/xgboost/xgboost_sample.md | 4 +- docs/guides/ide/integration_pycharm.md | 2 +- docs/guides/reporting/explicit_reporting.md | 2 +- .../execute_jupyter_notebook_server.md | 2 +- docs/img/fundamentals_hpo_summary.png | Bin 0 -> 103319 bytes docs/integrations/storage.md | 38 ++------ docs/references/api/definitions.md | 5 + docs/references/api/endpoints.md | 5 + ...utomation_controller_pipelinecontroller.md | 5 + .../sdk/automation_job_clearmljob.md | 5 + docs/references/sdk/dataset.md | 5 + .../hpo_hpbandster_bandster_optimizerbohb.md | 5 + .../sdk/hpo_optimization_gridsearch.md | 5 + ...po_optimization_hyperparameteroptimizer.md | 5 + .../sdk/hpo_optimization_randomsearch.md | 5 + .../sdk/hpo_optuna_optuna_optimizeroptuna.md | 5 + .../hpo_parameters_discreteparameterrange.md | 5 + .../sdk/hpo_parameters_parameterset.md | 5 + ...parameters_uniformintegerparameterrange.md | 5 + .../hpo_parameters_uniformparameterrange.md | 5 + docs/references/sdk/logger.md | 5 + docs/references/sdk/model_inputmodel.md | 5 + docs/references/sdk/model_model.md | 5 + docs/references/sdk/model_outputmodel.md | 5 + .../services_aws_auto_scaler_awsautoscaler.md | 5 + docs/references/sdk/services_monitor.md | 5 + docs/references/sdk/storage.md | 5 + docs/references/sdk/task.md | 5 + docs/webapp/webapp_exp_track_visual.md | 6 +- docusaurus.config.js | 6 +- sidebars.js | 9 +- src/css/custom.css | 86 +++++------------- .../ClearML_Supported_Storage--on-dark.png | Bin 0 -> 28233 bytes .../ClearML_Supported_Storage--on-light.png | Bin 0 -> 27358 bytes 61 files changed, 220 insertions(+), 397 deletions(-) delete mode 100644 docs/apps/remote pycharm.md delete mode 100644 docs/guides/frameworks/keras/manual_model_upload.md delete mode 100644 docs/guides/frameworks/pytorch/manual_model_upload.md delete mode 100644 docs/guides/frameworks/tensorflow/manual_model_upload.md create mode 100644 docs/img/fundamentals_hpo_summary.png create mode 100644 docs/references/api/definitions.md create mode 100644 docs/references/api/endpoints.md create mode 100644 docs/references/sdk/automation_controller_pipelinecontroller.md create mode 100644 docs/references/sdk/automation_job_clearmljob.md create mode 100644 docs/references/sdk/dataset.md create mode 100644 docs/references/sdk/hpo_hpbandster_bandster_optimizerbohb.md create mode 100644 docs/references/sdk/hpo_optimization_gridsearch.md create mode 100644 docs/references/sdk/hpo_optimization_hyperparameteroptimizer.md create mode 100644 docs/references/sdk/hpo_optimization_randomsearch.md create mode 100644 docs/references/sdk/hpo_optuna_optuna_optimizeroptuna.md create mode 100644 docs/references/sdk/hpo_parameters_discreteparameterrange.md create mode 100644 docs/references/sdk/hpo_parameters_parameterset.md create mode 100644 docs/references/sdk/hpo_parameters_uniformintegerparameterrange.md create mode 100644 docs/references/sdk/hpo_parameters_uniformparameterrange.md create mode 100644 docs/references/sdk/logger.md create mode 100644 docs/references/sdk/model_inputmodel.md create mode 100644 docs/references/sdk/model_model.md create mode 100644 docs/references/sdk/model_outputmodel.md create mode 100644 docs/references/sdk/services_aws_auto_scaler_awsautoscaler.md create mode 100644 docs/references/sdk/services_monitor.md create mode 100644 docs/references/sdk/storage.md create mode 100644 docs/references/sdk/task.md create mode 100644 static/icons/ClearML_Supported_Storage--on-dark.png create mode 100644 static/icons/ClearML_Supported_Storage--on-light.png diff --git a/docs/apps/clearml_session.md b/docs/apps/clearml_session.md index da90f9e9..527362d3 100644 --- a/docs/apps/clearml_session.md +++ b/docs/apps/clearml_session.md @@ -53,14 +53,15 @@ To run a session inside a Docker container, use the `--docker` flag and enter th session. ### Passing requirements -`clearml-session` can download required Python packages. If the code you are going to execute in the remote session, has -required packages, they can be specified. If there is a `requirement.txt` file, the file can be attached to the -command using `--requirements `. Alternatively, packages can be manually entered, using `--packages ""` -(for example `--packages "keras" "clearml"`). +`clearml-session` can download required Python packages. +A `requirement.txt` file can be attached to the command using `--requirements `. +Alternatively, packages can be manually specified, using `--packages ""` +(for example `--packages "keras" "clearml"`) and they'll be automatically installed. ### Passing Git credentials To send local .git-credentials file to the interactive session, add a `--git-credentials` flag and set it to `True`. -This way, git references can be tracked, including untracked changes. +This is helpful if working on private git repositories and allows for seemless cloning and tracking of git references, +including untracked changes. ### Re-launching and shutting down sessions If a `clearml-session` was launched locally and is still running on a remote machine, users can easily reconnect to it. diff --git a/docs/apps/remote pycharm.md b/docs/apps/remote pycharm.md deleted file mode 100644 index 11bea46b..00000000 --- a/docs/apps/remote pycharm.md +++ /dev/null @@ -1,3 +0,0 @@ ---- -title: Remote Pycharm Debugging ---- diff --git a/docs/clearml_agent.md b/docs/clearml_agent.md index 24de0964..04228ca9 100644 --- a/docs/clearml_agent.md +++ b/docs/clearml_agent.md @@ -503,4 +503,14 @@ clearml-agent daemon --services-mode --queue services --create-queue --docker +Dataset changes are stored using differentiable storage, meaning a version will store the change-set from its previous dataset parents -`clearml-data` utilizes existing object storage like S3/GS/Azure and even plain file system shares. - -Datasets are stored in a binary differential format, allowing storage optimization and networking. Local copies -of datasets are always cached, so the same data never needs to be downloaded twice. +Local copies of datasets are always cached, so the same data never needs to be downloaded twice. +When a dataset is pulled it will automatically pull all parent datasets and merge them into one output folder for you to work with ClearML-data offers two interfaces: - `clearml-data` - CLI utility for creating, uploading, and managing datasets. @@ -249,10 +247,11 @@ Datasets can be searched by project, name, ID, and tags. ### Python API -All API commands should be imported with
`from clearml import Dataset` +All API commands should be imported with
+`from clearml import Dataset` -#### `Dataset.get(dataset_id='').get_local_copy()` +#### `Dataset.get(dataset_id=DS_ID).get_local_copy()` Returns a path to dataset in cache, and downloads it if it is not already in cache. @@ -265,7 +264,7 @@ Returns a path to dataset in cache, and downloads it if it is not already in cac
-#### `Dataset.get(dataset_id='').get_mutable_local_copy()` +#### `Dataset.get(dataset_id=DS_ID).get_mutable_local_copy()` Downloads the dataset to a specific folder (non-cached). If the folder already has contents, specify whether to overwrite its contents with the dataset contents. diff --git a/docs/faq.md b/docs/faq.md index 0c5ada34..2250d6a8 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -32,7 +32,7 @@ title: FAQ **Graphs and Logs** -* [The first log lines are missing from the experiment log tab. Where did they go?](#first-log-lines-missing) +* [The first log lines are missing from the experiment console tab. Where did they go?](#first-log-lines-missing) * [Can I create a graph comparing hyperparameters vs model accuracy?](#compare-graph-parameters) * [I want to add more graphs, not just with TensorBoard. Is this supported?](#more-graph-types) * [How can I report more than one scatter 2D series on the same plot?](#multiple-scatter2D) @@ -357,12 +357,12 @@ values are `True`, `False`, and a dictionary for fine-grain control. See [Task.i ## Graphs and Logs -**The first log lines are missing from the experiment log tab. Where did they go?** +**The first log lines are missing from the experiment console tab. Where did they go?** Due to speed/optimization issues, we opted to display only the last several hundred log lines. You can always download the full log as a file using the **ClearML Web UI**. In the **ClearML Web UI** **>** experiment -info panel *>* **RESULTS** tab **>** **LOG** sub-tab, use the **Download full log** feature. +info panel *>* **RESULTS** tab **>** **CONSOLE** sub-tab, use the **Download full log** feature.
diff --git a/docs/guides/distributed/distributed_pytorch_example.md b/docs/guides/distributed/distributed_pytorch_example.md index 2bb04697..a2d71026 100644 --- a/docs/guides/distributed/distributed_pytorch_example.md +++ b/docs/guides/distributed/distributed_pytorch_example.md @@ -62,8 +62,8 @@ All the hyperparameters appear in **CONFIGURATIONS** **>** **HYPER PARAMETERS**. ![image](../../img/examples_pytorch_distributed_example_01a.png) -## Log +## Console -Output to the console, including the text messages printed from the main Task object and each subprocess appear in **RESULTS** **>** **LOG**. +Output to the console, including the text messages printed from the main Task object and each subprocess appear in **RESULTS** **>** **CONSOLE**. ![image](../../img/examples_pytorch_distributed_example_06.png) \ No newline at end of file diff --git a/docs/guides/distributed/subprocess_example.md b/docs/guides/distributed/subprocess_example.md index 239d2418..d804a9dd 100644 --- a/docs/guides/distributed/subprocess_example.md +++ b/docs/guides/distributed/subprocess_example.md @@ -9,7 +9,7 @@ script demonstrates multiple subprocesses interacting and reporting to a main Ta which always returns the main Task. * The Task in each subprocess reports the following to the main Task: * Hyperparameters - Additional, different hyperparameters. - * Log - Text logged to the console as the Task in each subprocess executes. + * Console - Text logged to the console as the Task in each subprocess executes. * When the script runs, it creates an experiment named `Popen example` which is associated with the `examples` project. ## Hyperparameters @@ -28,8 +28,8 @@ Parameter dictionaries appear in **General**. ![image](../../img/examples_subprocess_example_01a.png) -## Log +## Console -Output to the console, including the text messages from the Task in each subprocess, appear in **RESULTS** **>** **LOG**. +Output to the console, including the text messages from the Task in each subprocess, appear in **RESULTS** **>** **CONSOLE**. ![image](../../img/examples_subprocess_example_02.png) \ No newline at end of file diff --git a/docs/guides/frameworks/autokeras/autokeras_imdb_example.md b/docs/guides/frameworks/autokeras/autokeras_imdb_example.md index b7dcfa39..769e932b 100644 --- a/docs/guides/frameworks/autokeras/autokeras_imdb_example.md +++ b/docs/guides/frameworks/autokeras/autokeras_imdb_example.md @@ -18,9 +18,9 @@ which are titled **:monitor: machine**. ![image](../../../img/examples_keras_16.png) -## Log +## Console -Text printed to the console for training progress, as well as all other console output, appear in **RESULTS** **>** **LOG**. +Text printed to the console for training progress, as well as all other console output, appear in **RESULTS** **>** **CONSOLE**. ![image](../../../img/examples_keras_15.png) diff --git a/docs/guides/frameworks/fastai/fastai_with_tensorboard.md b/docs/guides/frameworks/fastai/fastai_with_tensorboard.md index 70b9f991..8bda0b0a 100644 --- a/docs/guides/frameworks/fastai/fastai_with_tensorboard.md +++ b/docs/guides/frameworks/fastai/fastai_with_tensorboard.md @@ -23,6 +23,6 @@ Histograms output to TensorBoard. They appear in **RESULTS** **>** **PLOTS**. ## Logs -Text printed to the console for training progress, as well as all other console output, appear in **RESULTS** **>** **LOG**. +Text printed to the console for training progress, as well as all other console output, appear in **RESULTS** **>** **CONSOLE**. ![image](../../../img/examples_reporting_fastai_03.png) diff --git a/docs/guides/frameworks/keras/allegro_clearml_keras_tb_example.md b/docs/guides/frameworks/keras/allegro_clearml_keras_tb_example.md index 834d4279..6eccd517 100644 --- a/docs/guides/frameworks/keras/allegro_clearml_keras_tb_example.md +++ b/docs/guides/frameworks/keras/allegro_clearml_keras_tb_example.md @@ -36,7 +36,7 @@ Histograms for layer density appear in **RESULTS** **>** **PLOTS**. ## Log -Text printed to the console for training progress, as well as all other console output, appear in **RESULTS** **>** **LOG**. +Text printed to the console for training progress, as well as all other console output, appear in **RESULTS** **>** **CONSOLE**. ![image](../../../img/keras_colab_01.png) diff --git a/docs/guides/frameworks/keras/jupyter.md b/docs/guides/frameworks/keras/jupyter.md index 326948cd..88d559b5 100644 --- a/docs/guides/frameworks/keras/jupyter.md +++ b/docs/guides/frameworks/keras/jupyter.md @@ -63,9 +63,9 @@ The TensorFlow Definitions appear in the **TF_DEFINE** subsection. ![image](../../../img/examples_keras_jupyter_21.png) -## Log +## CONSOLE -Text printed to the console for training appears in **RESULTS** **>** **LOG**. +Text printed to the console for training appears in **RESULTS** **>** **CONSOLE**. ![image](../../../img/examples_keras_jupyter_07.png) diff --git a/docs/guides/frameworks/keras/keras_tensorboard.md b/docs/guides/frameworks/keras/keras_tensorboard.md index e7129876..aa896967 100644 --- a/docs/guides/frameworks/keras/keras_tensorboard.md +++ b/docs/guides/frameworks/keras/keras_tensorboard.md @@ -40,9 +40,9 @@ TensorFlow Definitions appear in **TF_DEFINE**. ![image](../../../img/examples_keras_00a.png) -## Log +## Console -Text printed to the console for training progress, as well as all other console output, appear in **RESULTS** **>** **LOG**. +Text printed to the console for training progress, as well as all other console output, appear in **RESULTS** **>** **CONSOLE**. ![image](../../../img/examples_keras_03.png) diff --git a/docs/guides/frameworks/keras/manual_model_upload.md b/docs/guides/frameworks/keras/manual_model_upload.md deleted file mode 100644 index ea045c62..00000000 --- a/docs/guides/frameworks/keras/manual_model_upload.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: Manual Model Upload ---- - -The [manual_model_upload.py](https://github.com/allegroai/clearml/blob/master/examples/frameworks/keras/manual_model_upload.py) -example demonstrates **ClearML**'s tracking of a manually configured model created with Keras, including: -* Model checkpoints (snapshots), -* Hyperparameters -* Console output. - -When the script runs, it creates an experiment named `Model configuration and upload`, which is associated with the `examples` project. - -Configure **ClearML** for model checkpoint (snapshot) storage in any of the following ways ([debug sample](../../../references/sdk/logger.md#set_default_upload_destination) -storage is different): - -* In the configuration file, set [default_output_uri](../../../configs/clearml_conf.md#sdkdevelopment). -* In code, when [initializing a Task](../../../references/sdk/task.md#taskinit), use the `output_uri` parameter. -* In the **ClearML Web UI**, when [modifying an experiment](../../../webapp/webapp_exp_tuning.md#output-destination). - -## Configuration - -This example shows two ways to connect a configuration, using the [Task.connect_configuration](../../../references/sdk/task.md#connect_configuration) -method. - -* Connect a configuration file by providing the file's path. **ClearML Server** stores a copy of the file. - -```python -# Connect a local configuration file -config_file = os.path.join('..', '..', 'reporting', 'data_samples', 'sample.json') -config_file = task.connect_configuration(config_file) -``` - - -* Create a configuration dictionary and provide the dictionary. - -```python -model_config_dict = { - 'value': 13.37, - 'dict': {'sub_value': 'string', 'sub_integer': 11}, - 'list_of_ints': [1, 2, 3, 4], -} -model_config_dict = task.connect_configuration(model_config_dict) -``` - -If the configuration changes, **ClearML** tracks it. - -```python -model_config_dict['new value'] = 10 -model_config_dict['value'] *= model_config_dict['new value'] -``` - -The configuration appears in **CONFIGURATIONS** **>** **CONFIGURATION OBJECTS**. - -![image](../../../img/examples_manual_model_upload_01.png) - -## Artifacts - -Model artifacts associated with the experiment appear in the experiment info panel (in the **EXPERIMENTS** tab), and in the model info panel (in the **MODELS** tab). - -The experiment info panel shows model tracking, including the model name and design: - -![image](../../../img/examples_manual_model_upload_02.png) - -The model info panel contains the model details, including the model URL, framework, and snapshot locations. - -![image](../../../img/examples_manual_model_upload_03.png) \ No newline at end of file diff --git a/docs/guides/frameworks/pytorch/manual_model_upload.md b/docs/guides/frameworks/pytorch/manual_model_upload.md deleted file mode 100644 index f0f897bc..00000000 --- a/docs/guides/frameworks/pytorch/manual_model_upload.md +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: Manual Model Upload ---- - -The [manual_model_upload.py](https://github.com/allegroai/clearml/blob/master/examples/frameworks/pytorch/manual_model_upload.py) -example demonstrates **ClearML**'s tracking of a manually configured model created with PyTorch, including model checkpoints -(snapshots), and output to the console. When the script runs, it creates an experiment named `Model configuration and upload`, -which is associated with the `examples` project. - -Configure **ClearML** for model checkpoint (snapshot) storage in any of the following ways ([debug sample](../../../references/sdk/logger.md#set_default_upload_destination) storage is different): - -* In the configuration file, set [default_output_uri](../../../configs/clearml_conf.md#sdkdevelopment). -* In code, when [initializing a Task](../../../references/sdk/task.md#taskinit), use the `output_uri` parameter. -* In the **ClearML Web UI**, when [modifying an experiment](../../../webapp/webapp_exp_tuning.md#output-destination). - -## Configuration - -This example shows two ways to connect a configuration, using the [Task.connect_configuration](../../../references/sdk/task.md#connect_configuration) -method. - -* Connect a configuration file by providing the file's path. **ClearML Server** stores a copy of the file. - -```python -# Connect a local configuration file -config_file = os.path.join('..', '..', 'reporting', 'data_samples', 'sample.json') -config_file = task.connect_configuration(config_file) -``` - - -* Create a configuration dictionary and plug it into the method. - -```python -model_config_dict = { - 'value': 13.37, - 'dict': {'sub_value': 'string', 'sub_integer': 11}, - 'list_of_ints': [1, 2, 3, 4], -} -model_config_dict = task.connect_configuration(model_config_dict) -``` - - -If the configuration changes, **ClearML** tracks it. - -```python -model_config_dict['new value'] = 10 -model_config_dict['value'] *= model_config_dict['new value'] -``` -## Artifacts - -Model artifacts associated with the experiment appear in the info panel of the **EXPERIMENTS** tab and in the info panel -in the **MODELS** tab. - -The model info panel contains model details, including: -* Model design (which is also in the experiment info panel) -* Label enumeration -* Model URL -* Framework -* Snapshot locations. - -### General model information - -![image](../../../img/examples_pytorch_manual_model_upload_03.png) - -### Model design - -![image](../../../img/examples_pytorch_manual_model_upload_04.png) - -### Label enumeration - -Connect a label enumeration dictionary by calling the [Task.connect_label_enumeration](../../../references/sdk/task.md#connect_label_enumeration) -method. - -```python -# store the label enumeration of the training model -labels = {'background': 0, 'cat': 1, 'dog': 2} -task.connect_label_enumeration(labels) -``` - -![image](../../../img/examples_pytorch_manual_model_upload_05.png) \ No newline at end of file diff --git a/docs/guides/frameworks/pytorch/notebooks/audio/audio_classification_UrbanSound8K.md b/docs/guides/frameworks/pytorch/notebooks/audio/audio_classification_UrbanSound8K.md index ec02307f..782019b6 100644 --- a/docs/guides/frameworks/pytorch/notebooks/audio/audio_classification_UrbanSound8K.md +++ b/docs/guides/frameworks/pytorch/notebooks/audio/audio_classification_UrbanSound8K.md @@ -44,8 +44,8 @@ TensorFlow Definitions appear in the **TF_DEFINE** subsection. ![image](../../../../../img/examples_audio_classification_UrbanSound8K_01a.png) -## Log +## Console -Text printed to the console for training progress, as well as all other console output, appear in **RESULTS** **>** **LOG**. +Text printed to the console for training progress, as well as all other console output, appear in **RESULTS** **>** **CONSOLE**. ![image](../../../../../img/examples_audio_classification_UrbanSound8K_02.png) \ No newline at end of file diff --git a/docs/guides/frameworks/pytorch/notebooks/image/hyperparameter_search.md b/docs/guides/frameworks/pytorch/notebooks/image/hyperparameter_search.md index 303809bb..38c08c8b 100644 --- a/docs/guides/frameworks/pytorch/notebooks/image/hyperparameter_search.md +++ b/docs/guides/frameworks/pytorch/notebooks/image/hyperparameter_search.md @@ -71,9 +71,9 @@ These hyperparameters are those in the optimizer Task, where the `HyperParameter ![image](../../../../../img/examples_hyperparameter_search_01.png) -### Log +### Console -All console output from `Hyper-Parameter Optimization` appears in **RESULTS** tab, **LOG** sub-tab. +All console output from `Hyper-Parameter Optimization` appears in **RESULTS** tab, **CONSOLE** sub-tab. ![image](../../../../../img/examples_hyperparameter_search_03.png) diff --git a/docs/guides/frameworks/pytorch/notebooks/image/image_classification_CIFAR10.md b/docs/guides/frameworks/pytorch/notebooks/image/image_classification_CIFAR10.md index b56031ec..3c7a10f1 100644 --- a/docs/guides/frameworks/pytorch/notebooks/image/image_classification_CIFAR10.md +++ b/docs/guides/frameworks/pytorch/notebooks/image/image_classification_CIFAR10.md @@ -43,8 +43,8 @@ TensorFlow Definitions appear in the **TF_DEFINE** subsection. ![image](../../../../../img/examples_image_classification_CIFAR10_01a.png) -## Log +## Console -Text printed to the console for training progress, as well as all other console output, appear in **RESULTS** **>** **LOG**. +Text printed to the console for training progress, as well as all other console output, appear in **RESULTS** **>** **CONSOLE**. ![image](../../../../../img/examples_image_classification_CIFAR10_04.png) \ No newline at end of file diff --git a/docs/guides/frameworks/pytorch/notebooks/table/download_and_preprocessing.md b/docs/guides/frameworks/pytorch/notebooks/table/download_and_preprocessing.md index 38c46413..f2a63023 100644 --- a/docs/guides/frameworks/pytorch/notebooks/table/download_and_preprocessing.md +++ b/docs/guides/frameworks/pytorch/notebooks/table/download_and_preprocessing.md @@ -46,8 +46,8 @@ Parameter dictionaries appear in the **General** subsection. ![image](../../../../../img/download_and_preprocessing_01.png) -## Log +## Console -Output to the console appears in **RESULTS** **>** **LOG**. +Output to the console appears in **RESULTS** **>** **CONSOLE**. ![image](../../../../../img/download_and_preprocessing_06.png) \ No newline at end of file diff --git a/docs/guides/frameworks/pytorch/notebooks/text/text_classification_AG_NEWS.md b/docs/guides/frameworks/pytorch/notebooks/text/text_classification_AG_NEWS.md index cb57049f..bebbb676 100644 --- a/docs/guides/frameworks/pytorch/notebooks/text/text_classification_AG_NEWS.md +++ b/docs/guides/frameworks/pytorch/notebooks/text/text_classification_AG_NEWS.md @@ -29,9 +29,9 @@ Parameter dictionaries appear in the **General** subsection. ![image](../../../../../img/text_classification_AG_NEWS_01a.png) -## Log +## Console -Text printed to the console for training progress, as well as all other console output, appear in **RESULTS** **>** **LOG**. +Text printed to the console for training progress, as well as all other console output, appear in **RESULTS** **>** **CONSOLE**. ![image](../../../../../img/text_classification_AG_NEWS_02.png) diff --git a/docs/guides/frameworks/pytorch/pytorch_distributed_example.md b/docs/guides/frameworks/pytorch/pytorch_distributed_example.md index 521c7528..c52a1720 100644 --- a/docs/guides/frameworks/pytorch/pytorch_distributed_example.md +++ b/docs/guides/frameworks/pytorch/pytorch_distributed_example.md @@ -71,6 +71,6 @@ Task.current_task().connect(param) ## Log -Output to the console, including the text messages printed from the main Task object and each subprocess, appears in **RESULTS** **>** **LOG**. +Output to the console, including the text messages printed from the main Task object and each subprocess, appears in **RESULTS** **>** **CONSOLE**. ![image](../../../img/examples_pytorch_distributed_example_06.png) \ No newline at end of file diff --git a/docs/guides/frameworks/pytorch/pytorch_mnist.md b/docs/guides/frameworks/pytorch/pytorch_mnist.md index 419a6968..c8b75191 100644 --- a/docs/guides/frameworks/pytorch/pytorch_mnist.md +++ b/docs/guides/frameworks/pytorch/pytorch_mnist.md @@ -41,9 +41,9 @@ page **>** **RESULTS** **>** **SCALARS**. ![image](../../../img/examples_pytorch_mnist_01.png) -## Log +## Console -Text printed to the console for training progress, as well as all other console output, appear in **RESULTS** **>** **LOG**. +Text printed to the console for training progress, as well as all other console output, appear in **RESULTS** **>** **CONSOLE**. ![image](../../../img/examples_pytorch_mnist_06.png) diff --git a/docs/guides/frameworks/pytorch/pytorch_tensorboard.md b/docs/guides/frameworks/pytorch/pytorch_tensorboard.md index a54d14d8..6ba5436d 100644 --- a/docs/guides/frameworks/pytorch/pytorch_tensorboard.md +++ b/docs/guides/frameworks/pytorch/pytorch_tensorboard.md @@ -33,9 +33,9 @@ These scalars, along with the resource utilization plots, which are titled **:mo ![image](../../../img/examples_pytorch_tensorboard_01.png) -## Log +## Console -Text printed to the console for training progress, as well as all other console output, appear in **RESULTS** **>** **LOG**. +Text printed to the console for training progress, as well as all other console output, appear in **RESULTS** **>** **CONSOLE**. ![image](../../../img/examples_pytorch_tensorboard_06.png) diff --git a/docs/guides/frameworks/pytorch/pytorch_tensorboardx.md b/docs/guides/frameworks/pytorch/pytorch_tensorboardx.md index e20ce18a..02dfa73d 100644 --- a/docs/guides/frameworks/pytorch/pytorch_tensorboardx.md +++ b/docs/guides/frameworks/pytorch/pytorch_tensorboardx.md @@ -31,7 +31,7 @@ appear in the experiment's page in the **web UI**, under **RESULTS** **>** **SCA ## Log -Text printed to the console for training progress, as well as all other console output, appear in **RESULTS** **>** **LOG**. +Text printed to the console for training progress, as well as all other console output, appear in **RESULTS** **>** **CONSOLE**. ![image](../../../img/examples_pytorch_tensorboardx_02.png) diff --git a/docs/guides/frameworks/tensorboardx/tensorboardx.md b/docs/guides/frameworks/tensorboardx/tensorboardx.md index eb4be5be..679196b4 100644 --- a/docs/guides/frameworks/tensorboardx/tensorboardx.md +++ b/docs/guides/frameworks/tensorboardx/tensorboardx.md @@ -27,9 +27,9 @@ The loss and accuracy metric scalar plots appear in the experiment's page in the ![image](../../../img/examples_pytorch_tensorboardx_01.png) -## Log +## Console -Text printed to the console for training progress, as well as all other console output, appear in **RESULTS** **>** **LOG**. +Text printed to the console for training progress, as well as all other console output, appear in **RESULTS** **>** **CONSOLE**. ![image](../../../img/examples_pytorch_tensorboardx_02.png) diff --git a/docs/guides/frameworks/tensorflow/manual_model_upload.md b/docs/guides/frameworks/tensorflow/manual_model_upload.md deleted file mode 100644 index 7df4cdd8..00000000 --- a/docs/guides/frameworks/tensorflow/manual_model_upload.md +++ /dev/null @@ -1,86 +0,0 @@ ---- -title: Manual Model Upload ---- - -The [manual_model_upload.py](https://github.com/allegroai/clearml/blob/master/examples/frameworks/tensorflow/manual_model_upload.py) -example demonstrates **ClearML**'s tracking of a manually configured model created with TensorFlow, including: -* Model checkpoints (snapshots) -* Hyperparameters -* Output to the console. - -When the script runs, it creates an experiment named `Model configuration and upload`, which is associated with the `examples` project. - -Configure **ClearML** for model checkpoints (model snapshot) storage in any of the following ways ([debug sample](../../../references/sdk/logger.md#set_default_upload_destination) -storage is different): - -* In the configuration file, set [default_output_uri](../../../configs/clearml_conf.md#sdkdevelopment). -* In code, when [initializing a Task](../../../references/sdk/task.md#taskinit), use the `output_uri` parameter. -* In the **ClearML Web UI**, when [modifying an experiment](../../../webapp/webapp_exp_tuning.md#output-destination). - -## Configuration - -This example shows two ways to connect a configuration, using the [Task.connect_configuration](../../../references/sdk/task.md#connect_configuration) method: - -* Connect a configuration file by providing the file's path. **ClearML Server** stores a copy of the file. -```python -# Connect a local configuration file -config_file = os.path.join('..', '..', 'reporting', 'data_samples', 'sample.json') -config_file = task.connect_configuration(config_file) -``` - -* Create a configuration dictionary and provide the dictionary. -```python -model_config_dict = { - 'value': 13.37, - 'dict': {'sub_value': 'string', 'sub_integer': 11}, - 'list_of_ints': [1, 2, 3, 4], -} -model_config_dict = task.connect_configuration(model_config_dict) -``` - -If the configuration changes, **ClearML** track it. - -```python -model_config_dict['new value'] = 10 -model_config_dict['value'] *= model_config_dict['new value'] -``` - - -The configuration appears in the experiment's page in the **ClearML web UI**, under **CONFIGURATIONS** **>** -**CONFIGURATION OBJECTS**. - -![image](../../../img/examples_manual_model_upload_01.png) - -The output model's configuration appears in **ARTIFACTS** **>** **Output Model**. - -## Artifacts - -Model artifacts associated with the experiment appear in the info panel of the **EXPERIMENTS** tab) and in the info panel -of the **MODELS** tab. - -The experiment info panel shows model tracking, including the model name and design (in this case, no design was stored). - -![image](../../../img/examples_manual_model_upload_30.png) - -The model info panel contains the model details, including: -* Model design -* label enumeration -* Model URL -* Framework -* Snapshot locations. - -### General model information - -![image](../../../img/examples_pytorch_manual_model_upload_03.png) - -### Label enumeration - -Connect a label enumeration dictionary by calling the [Task.connect_label_enumeration](../../../references/sdk/task.md#connect_label_enumeration) method. - -```python -# store the label enumeration of the training model -labels = {'background': 0, 'cat': 1, 'dog': 2} -task.connect_label_enumeration(labels) -``` - -![image](../../../img/examples_pytorch_manual_model_upload_05.png) \ No newline at end of file diff --git a/docs/guides/frameworks/tensorflow/tensorboard_pr_curve.md b/docs/guides/frameworks/tensorflow/tensorboard_pr_curve.md index 26b6f32f..3c0d2033 100644 --- a/docs/guides/frameworks/tensorflow/tensorboard_pr_curve.md +++ b/docs/guides/frameworks/tensorflow/tensorboard_pr_curve.md @@ -31,8 +31,8 @@ In the **ClearML Web UI**, the PR Curve summaries appear in the experiment's pag ![image](../../../img/examples_tensorboard_pr_curve_04.png) -## Log +## Console -All other console output appears in **RESULTS** **>** **LOG**. +All other console output appears in **RESULTS** **>** **CONSOLE**. ![image](../../../img/examples_tensorboard_pr_curve_05.png) diff --git a/docs/guides/frameworks/tensorflow/tensorflow_mnist.md b/docs/guides/frameworks/tensorflow/tensorflow_mnist.md index 7b8dd34c..10184f43 100644 --- a/docs/guides/frameworks/tensorflow/tensorflow_mnist.md +++ b/docs/guides/frameworks/tensorflow/tensorflow_mnist.md @@ -29,9 +29,9 @@ The loss and accuracy metric scalar plots appear in the experiment's page in the ![image](../../../img/examples_tensorflow_mnist_01.png) -## Log +## Console -All console output appears in **RESULTS** **>** **LOG**. +All console output appears in **RESULTS** **>** **CONSOLE**. ![image](../../../img/examples_tensorflow_mnist_05.png) diff --git a/docs/guides/frameworks/xgboost/xgboost_sample.md b/docs/guides/frameworks/xgboost/xgboost_sample.md index 41f607ce..05c7684f 100644 --- a/docs/guides/frameworks/xgboost/xgboost_sample.md +++ b/docs/guides/frameworks/xgboost/xgboost_sample.md @@ -31,9 +31,9 @@ The feature importance plot and tree plot appear in the project's page in the ** ![image](../../../img/examples_xgboost_sample_06.png) -## Log +## Console -All other console output appear in **RESULTS** **>** **LOG**. +All other console output appear in **RESULTS** **>** **CONSOLE**. ![image](../../../img/examples_xgboost_sample_05.png) diff --git a/docs/guides/ide/integration_pycharm.md b/docs/guides/ide/integration_pycharm.md index a27b23c8..a706d7d1 100644 --- a/docs/guides/ide/integration_pycharm.md +++ b/docs/guides/ide/integration_pycharm.md @@ -14,7 +14,7 @@ The **ClearML PyCharm plugin** enables syncing a local execution configuration t **To install the ClearML PyCharm plugin, do the following:** -1. Download the latest plugin version from the [Releases page](https://github.com/allegroai/trains-pycharm-plugin/releases). +1. Download the latest plugin version from the [Releases page](https://github.com/allegroai/clearml-pycharm-plugin/releases). 1. Install the plugin in PyCharm from local disk: diff --git a/docs/guides/reporting/explicit_reporting.md b/docs/guides/reporting/explicit_reporting.md index ce9ed8d3..131f8dc1 100644 --- a/docs/guides/reporting/explicit_reporting.md +++ b/docs/guides/reporting/explicit_reporting.md @@ -239,7 +239,7 @@ After extending the Python experiment script, run it and view the results in the including the file path, size, hash, metadata, and a preview. 1. In the **OTHER** section, click **Loss**. The uploaded numpy array appears, including its related information. 1. Click the **RESULTS** tab. -1. Click the **LOG** sub-tab, and see the debugging message showing the Pandas DataFrame sample. +1. Click the **CONSOLE** sub-tab, and see the debugging message showing the Pandas DataFrame sample. 1. Click the **SCALARS** sub-tab, and see the scalar plots for epoch logging loss. 1. Click the **PLOTS** sub-tab, and see the confusion matrix and histogram. diff --git a/docs/guides/services/execute_jupyter_notebook_server.md b/docs/guides/services/execute_jupyter_notebook_server.md index bdbe31fd..39d4345a 100644 --- a/docs/guides/services/execute_jupyter_notebook_server.md +++ b/docs/guides/services/execute_jupyter_notebook_server.md @@ -54,7 +54,7 @@ It shows the server links are: ![image](../../img/examples_execute_jupyter_notebook_server_02.png) -The Jupyter Note Server console output appears in **RESULTS** **>** **LOG**, including log entries for the notebooks run +The Jupyter Note Server console output appears in **RESULTS** **>** **CONSOLE**, including log entries for the notebooks run on the server. To test the Jupyter Notebook, we ran a notebook named audio_preprocessing_example.ipynb. The log shows it was saved: diff --git a/docs/img/fundamentals_hpo_summary.png b/docs/img/fundamentals_hpo_summary.png new file mode 100644 index 0000000000000000000000000000000000000000..a86b4acebe8d24c9edde63498025c9fbac5e6001 GIT binary patch literal 103319 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 Dj3K-* literal 0 HcmV?d00001 diff --git a/docs/integrations/storage.md b/docs/integrations/storage.md index f152a777..a9558968 100644 --- a/docs/integrations/storage.md +++ b/docs/integrations/storage.md @@ -2,43 +2,17 @@ title: Storage --- +import ImageSwitcher from '/ImageSwitcher.js'; + ClearML is able to interface with the most popular storage solutions in the market for storing model checkpoints, artifacts and charts. Supported storage mediums include: -

-
- Storage icon - Local and shared folders -
-
- Storage icon - S3 buckets -
-
- Storage icon - Google Cloud Storage -
-
- Storage icon - Azure Storage -
-
- Storage icon - http(s) -
-
- Storage icon - minio -
-
- Storage icon - ceph -
-
- ---- + :::note Once uploading an object to a storage medium, each machine that uses the object must have access to it. diff --git a/docs/references/api/definitions.md b/docs/references/api/definitions.md new file mode 100644 index 00000000..ba8d1f8a --- /dev/null +++ b/docs/references/api/definitions.md @@ -0,0 +1,5 @@ +--- +title: API Definitions +--- + +**AutoGenerated PlaceHolder** \ No newline at end of file diff --git a/docs/references/api/endpoints.md b/docs/references/api/endpoints.md new file mode 100644 index 00000000..10d5386d --- /dev/null +++ b/docs/references/api/endpoints.md @@ -0,0 +1,5 @@ +--- +title: REST API +--- + +**AutoGenerated PlaceHolder** \ No newline at end of file diff --git a/docs/references/sdk/automation_controller_pipelinecontroller.md b/docs/references/sdk/automation_controller_pipelinecontroller.md new file mode 100644 index 00000000..5cd2ffa8 --- /dev/null +++ b/docs/references/sdk/automation_controller_pipelinecontroller.md @@ -0,0 +1,5 @@ +--- +title: PipelineController +--- + +**AutoGenerated PlaceHolder** \ No newline at end of file diff --git a/docs/references/sdk/automation_job_clearmljob.md b/docs/references/sdk/automation_job_clearmljob.md new file mode 100644 index 00000000..21fea1e1 --- /dev/null +++ b/docs/references/sdk/automation_job_clearmljob.md @@ -0,0 +1,5 @@ +--- +title: ClearmlJob +--- + +**AutoGenerated PlaceHolder** \ No newline at end of file diff --git a/docs/references/sdk/dataset.md b/docs/references/sdk/dataset.md new file mode 100644 index 00000000..f90e0c91 --- /dev/null +++ b/docs/references/sdk/dataset.md @@ -0,0 +1,5 @@ +--- +title: Dataset +--- + +**AutoGenerated PlaceHolder** \ No newline at end of file diff --git a/docs/references/sdk/hpo_hpbandster_bandster_optimizerbohb.md b/docs/references/sdk/hpo_hpbandster_bandster_optimizerbohb.md new file mode 100644 index 00000000..8e88d64d --- /dev/null +++ b/docs/references/sdk/hpo_hpbandster_bandster_optimizerbohb.md @@ -0,0 +1,5 @@ +--- +title: OptimizerBOHB +--- + +**AutoGenerated PlaceHolder** \ No newline at end of file diff --git a/docs/references/sdk/hpo_optimization_gridsearch.md b/docs/references/sdk/hpo_optimization_gridsearch.md new file mode 100644 index 00000000..951a20d2 --- /dev/null +++ b/docs/references/sdk/hpo_optimization_gridsearch.md @@ -0,0 +1,5 @@ +--- +title: GridSearch +--- + +**AutoGenerated PlaceHolder** \ No newline at end of file diff --git a/docs/references/sdk/hpo_optimization_hyperparameteroptimizer.md b/docs/references/sdk/hpo_optimization_hyperparameteroptimizer.md new file mode 100644 index 00000000..1484403b --- /dev/null +++ b/docs/references/sdk/hpo_optimization_hyperparameteroptimizer.md @@ -0,0 +1,5 @@ +--- +title: HyperParameterOptimizer +--- + +**AutoGenerated PlaceHolder** \ No newline at end of file diff --git a/docs/references/sdk/hpo_optimization_randomsearch.md b/docs/references/sdk/hpo_optimization_randomsearch.md new file mode 100644 index 00000000..0e64fee8 --- /dev/null +++ b/docs/references/sdk/hpo_optimization_randomsearch.md @@ -0,0 +1,5 @@ +--- +title: RandomSearch +--- + +**AutoGenerated PlaceHolder** \ No newline at end of file diff --git a/docs/references/sdk/hpo_optuna_optuna_optimizeroptuna.md b/docs/references/sdk/hpo_optuna_optuna_optimizeroptuna.md new file mode 100644 index 00000000..eccddea9 --- /dev/null +++ b/docs/references/sdk/hpo_optuna_optuna_optimizeroptuna.md @@ -0,0 +1,5 @@ +--- +title: OptimizerOptuna +--- + +**AutoGenerated PlaceHolder** \ No newline at end of file diff --git a/docs/references/sdk/hpo_parameters_discreteparameterrange.md b/docs/references/sdk/hpo_parameters_discreteparameterrange.md new file mode 100644 index 00000000..b683e1e1 --- /dev/null +++ b/docs/references/sdk/hpo_parameters_discreteparameterrange.md @@ -0,0 +1,5 @@ +--- +title: DiscreteParameterRange +--- + +**AutoGenerated PlaceHolder** \ No newline at end of file diff --git a/docs/references/sdk/hpo_parameters_parameterset.md b/docs/references/sdk/hpo_parameters_parameterset.md new file mode 100644 index 00000000..bd4209f8 --- /dev/null +++ b/docs/references/sdk/hpo_parameters_parameterset.md @@ -0,0 +1,5 @@ +--- +title: ParameterSet +--- + +**AutoGenerated PlaceHolder** \ No newline at end of file diff --git a/docs/references/sdk/hpo_parameters_uniformintegerparameterrange.md b/docs/references/sdk/hpo_parameters_uniformintegerparameterrange.md new file mode 100644 index 00000000..879c00b1 --- /dev/null +++ b/docs/references/sdk/hpo_parameters_uniformintegerparameterrange.md @@ -0,0 +1,5 @@ +--- +title: UniformIntegerParameterRange +--- + +**AutoGenerated PlaceHolder** \ No newline at end of file diff --git a/docs/references/sdk/hpo_parameters_uniformparameterrange.md b/docs/references/sdk/hpo_parameters_uniformparameterrange.md new file mode 100644 index 00000000..307f60f9 --- /dev/null +++ b/docs/references/sdk/hpo_parameters_uniformparameterrange.md @@ -0,0 +1,5 @@ +--- +title: UniformParameterRange +--- + +**AutoGenerated PlaceHolder** \ No newline at end of file diff --git a/docs/references/sdk/logger.md b/docs/references/sdk/logger.md new file mode 100644 index 00000000..e7b3d6e9 --- /dev/null +++ b/docs/references/sdk/logger.md @@ -0,0 +1,5 @@ +--- +title: Logger +--- + +**AutoGenerated PlaceHolder** \ No newline at end of file diff --git a/docs/references/sdk/model_inputmodel.md b/docs/references/sdk/model_inputmodel.md new file mode 100644 index 00000000..c6b3ddca --- /dev/null +++ b/docs/references/sdk/model_inputmodel.md @@ -0,0 +1,5 @@ +--- +title: InputModel +--- + +**AutoGenerated PlaceHolder** \ No newline at end of file diff --git a/docs/references/sdk/model_model.md b/docs/references/sdk/model_model.md new file mode 100644 index 00000000..55309cfb --- /dev/null +++ b/docs/references/sdk/model_model.md @@ -0,0 +1,5 @@ +--- +title: Model +--- + +**AutoGenerated PlaceHolder** \ No newline at end of file diff --git a/docs/references/sdk/model_outputmodel.md b/docs/references/sdk/model_outputmodel.md new file mode 100644 index 00000000..77b376e7 --- /dev/null +++ b/docs/references/sdk/model_outputmodel.md @@ -0,0 +1,5 @@ +--- +title: OutputModel +--- + +**AutoGenerated PlaceHolder** \ No newline at end of file diff --git a/docs/references/sdk/services_aws_auto_scaler_awsautoscaler.md b/docs/references/sdk/services_aws_auto_scaler_awsautoscaler.md new file mode 100644 index 00000000..f64d67b3 --- /dev/null +++ b/docs/references/sdk/services_aws_auto_scaler_awsautoscaler.md @@ -0,0 +1,5 @@ +--- +title: AwsAutoScaler +--- + +**AutoGenerated PlaceHolder** \ No newline at end of file diff --git a/docs/references/sdk/services_monitor.md b/docs/references/sdk/services_monitor.md new file mode 100644 index 00000000..a3d86b1f --- /dev/null +++ b/docs/references/sdk/services_monitor.md @@ -0,0 +1,5 @@ +--- +title: Monitor +--- + +**AutoGenerated PlaceHolder** \ No newline at end of file diff --git a/docs/references/sdk/storage.md b/docs/references/sdk/storage.md new file mode 100644 index 00000000..99951bb6 --- /dev/null +++ b/docs/references/sdk/storage.md @@ -0,0 +1,5 @@ +--- +title: StorageManager +--- + +**AutoGenerated PlaceHolder** \ No newline at end of file diff --git a/docs/references/sdk/task.md b/docs/references/sdk/task.md new file mode 100644 index 00000000..81a9b604 --- /dev/null +++ b/docs/references/sdk/task.md @@ -0,0 +1,5 @@ +--- +title: Task +--- + +**AutoGenerated PlaceHolder** \ No newline at end of file diff --git a/docs/webapp/webapp_exp_track_visual.md b/docs/webapp/webapp_exp_track_visual.md index a591527d..e51bae70 100644 --- a/docs/webapp/webapp_exp_track_visual.md +++ b/docs/webapp/webapp_exp_track_visual.md @@ -9,7 +9,7 @@ including: * [Configuration](#configuration) - Hyperparameters, user properties, and configuration objects. * [Artifacts](#artifacts) - Input model, output model, model snapshot locations, other artifacts. * [General information](#general-information) - Information about the experiment, for example: the experiment start, create, and last update times and dates, user creating the experiment, and its description. -* [Logs](#log) - stdout, stderr, output to the console from libraries, and **ClearML** explicit reporting. +* [Console](#console) - stdout, stderr, output to the console from libraries, and **ClearML** explicit reporting. * [Scalars](#scalars) - Metric plots. * [Plots](#other-plots) - Other plots and data, for example: Matplotlib, Plotly, and **ClearML** explicit reporting. * [Debug samples](#debug-samples) - Images, audio, video, and HTML. @@ -332,9 +332,9 @@ General experiment details appear in the **INFO** tab. This includes information -### Log +### Console -The complete experiment log containing everything printed to stdout and strerr appears in the **LOG** tab. The full log +The complete experiment log containing everything printed to stdout and strerr appears in the **CONSOLE** tab. The full log is downloadable. To view the end of the log, click **Jump to end**.
diff --git a/docusaurus.config.js b/docusaurus.config.js index d0c73f3c..fe62cbb8 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -186,13 +186,13 @@ module.exports = { sidebarPath: require.resolve('./sidebars.js'), // Please change this to your repo. editUrl: - 'https://github.com/allegroai/clearml_docs/edit/master/website/', + 'https://github.com/allegroai/clearml-docs/edit/main/', }, API: { sidebarPath: require.resolve('./sidebars.js'), // Please change this to your repo. editUrl: - 'https://github.com/allegroai/clearml_docs/edit/master/website/', + 'https://github.com/allegroai/clearml-docs/edit/main/', }, blog: { blogTitle: 'ClearML Tutorials', @@ -202,7 +202,7 @@ module.exports = { showReadingTime: true, // Please change this to your repo. editUrl: - 'https://github.com/allegroai/clearml_docs/edit/master/website/tutorials/', + 'https://github.com/allegroai/clearml-docs/edit/main/tutorials/', }, theme: { customCss: require.resolve('./src/css/custom.css'), diff --git a/sidebars.js b/sidebars.js index 5910648c..b7f40d0d 100644 --- a/sidebars.js +++ b/sidebars.js @@ -63,12 +63,11 @@ module.exports = { {'Autokeras': ['guides/frameworks/autokeras/integration_autokeras', 'guides/frameworks/autokeras/autokeras_imdb_example']}, {'FastAI': ['guides/frameworks/fastai/fastai_with_tensorboard']}, { - 'Keras': ['guides/frameworks/keras/allegro_clearml_keras_tb_example', 'guides/frameworks/keras/jupyter', 'guides/frameworks/keras/keras_tensorboard', - 'guides/frameworks/keras/manual_model_upload'] + 'Keras': ['guides/frameworks/keras/allegro_clearml_keras_tb_example', 'guides/frameworks/keras/jupyter', 'guides/frameworks/keras/keras_tensorboard'] }, {'Matplotlib': ['guides/frameworks/matplotlib/allegro_clearml_matplotlib_example', 'guides/frameworks/matplotlib/matplotlib_example']}, { - 'Pytorch': ['guides/frameworks/pytorch/manual_model_upload', 'guides/frameworks/pytorch/pytorch_distributed_example', 'guides/frameworks/pytorch/pytorch_matplotlib', + 'Pytorch': ['guides/frameworks/pytorch/pytorch_distributed_example', 'guides/frameworks/pytorch/pytorch_matplotlib', 'guides/frameworks/pytorch/pytorch_mnist', 'guides/frameworks/pytorch/pytorch_tensorboard', 'guides/frameworks/pytorch/pytorch_tensorboardx', 'guides/frameworks/pytorch/tensorboard_toy_pytorch'] }, @@ -84,12 +83,12 @@ module.exports = { {'Scikit-Learn': ['guides/frameworks/scikit-learn/sklearn_joblib_example', 'guides/frameworks/scikit-learn/sklearn_matplotlib_example']}, {'TensorboardX': ['guides/frameworks/tensorboardx/tensorboardx']}, { - 'Tensorflow': ['guides/frameworks/tensorflow/manual_model_upload', 'guides/frameworks/tensorflow/tensorboard_pr_curve', 'guides/frameworks/tensorflow/tensorboard_toy', + 'Tensorflow': ['guides/frameworks/tensorflow/tensorboard_pr_curve', 'guides/frameworks/tensorflow/tensorboard_toy', 'guides/frameworks/tensorflow/tensorflow_mnist', 'guides/frameworks/tensorflow/integration_keras_tuner'] }, {'XGboost': ['guides/frameworks/xgboost/xgboost_sample']} ]}, - {'IDEs': ['guides/ide/remote_jupyter_tutorial']}, + {'IDEs': ['guides/ide/remote_jupyter_tutorial', 'guides/ide/integration_pycharm']}, {'Optimization': ['guides/optimization/hyper-parameter-optimization/examples_hyperparam_opt']}, {'Pipelines': ['guides/pipeline/pipeline_controller']}, diff --git a/src/css/custom.css b/src/css/custom.css index 6a1721aa..baa128cf 100644 --- a/src/css/custom.css +++ b/src/css/custom.css @@ -181,17 +181,17 @@ html[data-theme="light"] .hero .button.button--primary{ /* header social icons */ .header-ico--github { - background-image: url(/img/ico-github.svg); + background-image: url(docs/latest/img/ico-github.svg); margin-right: calc(var(--ifm-navbar-item-padding-horizontal) * 2); } .header-ico--twitter { - background-image: url(/img/ico-twitter.svg); + background-image: url(docs/latest/img/ico-twitter.svg); } .header-ico--youtube { - background-image: url(/img/ico-youtube.svg); + background-image: url(docs/latest/img/ico-youtube.svg); } .header-ico--slack { - background-image: url(/img/ico-slack.svg); + background-image: url(docs/latest/img/ico-slack.svg); } .header-ico { width:24px; @@ -255,7 +255,7 @@ html[data-theme="light"] .hero .button.button--primary{ html[data-theme="light"] [class^="sidebarLogo"] { - background: url(/img/logo--on-light.svg) 1rem center no-repeat; + background: url(docs/latest/img/logo--on-light.svg) 1rem center no-repeat; background-size: 6rem; } html[data-theme="light"] [class^="sidebarLogo"] > img { @@ -283,7 +283,7 @@ html[data-theme="dark"] .navbar-sidebar { background-color: #141722; } html[data-theme="light"] .navbar-sidebar .navbar__brand { - background: url(/img/logo--on-light.svg) 0 center no-repeat; + background: url(docs/latest/img/logo--on-light.svg) 0 center no-repeat; background-size: 5.5rem; } html[data-theme="light"] .navbar-sidebar .navbar__logo { @@ -315,16 +315,16 @@ html[data-theme="dark"] .navbar-sidebar .menu__link.header-ico--slack:before { .navbar-sidebar .menu__link.header-ico--slack:hover { - background: url(/img/ico-slack.svg) no-repeat center; + background: url(docs/latest/img/ico-slack.svg) no-repeat center; } .navbar-sidebar .menu__link.header-ico--twitter:hover { - background: url(/img/ico-twitter.svg) no-repeat center; + background: url(docs/latest/img/ico-twitter.svg) no-repeat center; } .navbar-sidebar .menu__link.header-ico--github:hover { - background: url(/img/ico-github.svg) no-repeat center; + background: url(docs/latest/img/ico-github.svg) no-repeat center; } .navbar-sidebar .menu__link.header-ico--youtube:hover { - background: url(/img/ico-youtube.svg) no-repeat center; + background: url(docs/latest/img/ico-youtube.svg) no-repeat center; } .menu__link.header-ico { @@ -414,22 +414,22 @@ html[data-theme="dark"] .footer__copyright { /* social links icons */ .footer__link-item[href*="slack"] { padding-left: 1.4rem; - background: url(/img/ico-slack.svg) no-repeat left center; + background: url(docs/latest/img/ico-slack.svg) no-repeat left center; background-size: 1rem; } .footer__link-item[href*="youtube"] { padding-left: 1.4rem; - background: url(/img/ico-youtube.svg) no-repeat left center; + background: url(docs/latest/img/ico-youtube.svg) no-repeat left center; background-size: 1rem; } .footer__link-item[href*="twitter"] { padding-left: 1.4rem; - background: url(/img/ico-twitter.svg) no-repeat left center; + background: url(docs/latest/img/ico-twitter.svg) no-repeat left center; background-size: 1rem; } .footer__link-item[href*="stackoverflow"] { padding-left: 1.4rem; - background: url(/img/ico-stackoverflow.svg) no-repeat left center; + background: url(docs/latest/img/ico-stackoverflow.svg) no-repeat left center; background-size: 1rem; } @@ -442,8 +442,8 @@ html[data-theme="light"] .footer__link-item[href*="stackoverflow"] { /* ===MARKDOWN=== */ -.markdown img[src*="png"], -.markdown img[src*="gif"] { +.markdown img.medium-zoom-image[src*="png"], +.markdown img.medium-zoom-image[src*="gif"] { border:1px solid #2c3246; } .getting-started-buttons > .col { @@ -582,7 +582,7 @@ html[data-theme="light"] .icon { height: 24px; transform: rotate(0); transition: 0.25s; - background: url(/icons/ico-chevron-down.svg) no-repeat center; + background: url(docs/latest/icons/ico-chevron-down.svg) no-repeat center; } /* expansion content */ @@ -594,23 +594,23 @@ html[data-theme="light"] .icon { /* icon types */ /* -> info */ .cml-expansion-panel.info .cml-expansion-panel-summary:before { - background-image: url(/icons/ico-info-circle.svg); + background-image: url(docs/latest/icons/ico-info-circle.svg); } /* -> tips */ .cml-expansion-panel.tips .cml-expansion-panel-summary:before { - background-image: url(/icons/ico-tips.svg); + background-image: url(docs/latest/icons/ico-tips.svg); } /* -> alert */ .cml-expansion-panel.alert .cml-expansion-panel-summary:before { - background-image: url(/icons/ico-alert.svg); + background-image: url(docs/latest/icons/ico-alert.svg); } /* -> screenshot */ .cml-expansion-panel.screenshot .cml-expansion-panel-summary:before { - background-image: url(/icons/ico-image.svg); + background-image: url(docs/latest/icons/ico-image.svg); } /* -> configuration */ .cml-expansion-panel.configuration .cml-expansion-panel-summary:before { - background-image: url(/icons/ico-config.svg); + background-image: url(docs/latest/icons/ico-config.svg); } /* light mode */ @@ -701,48 +701,12 @@ html[data-theme="dark"] .alert--info { /* show visual identification for external links */ .markdown a[href^="https://"] { - background: url(/icons/ico-open-in-new.svg) center right no-repeat; + background: url(docs/latest/icons/ico-open-in-new.svg) center right no-repeat; background-size: 0.9rem; margin-right: 0.4rem; padding-right: 1rem; } - -/* supported storages */ - -.supported-storages { - margin: 1rem auto; - padding: 0; - display: flex; - flex-wrap: wrap; - justify-content: center; - gap: 0.5rem; +.markdown .img-swt { + margin-bottom: 2.4rem; } -.supported-storages > div { - padding: 1.6rem 1rem 0; - width: 8rem; - min-height: 8rem; - text-align: center; - font-size: 0.875rem; - font-weight: 500; - line-height: 1.2; - display: flex; - flex-direction: column; - align-items: center; - background-color: var(--ifm-toc-background-color); - border-radius: 1rem; -} -html[data-theme="light"] .supported-storages > div { - background-color: var(--ifm-color-secondary); -} -.supported-storages img { - width: 48px; - height: 48px; - margin-bottom: 0.5rem; -} -@media only screen and (min-width: 767px) { - .supported-storages { - width: 80%; - } -} - diff --git a/static/icons/ClearML_Supported_Storage--on-dark.png b/static/icons/ClearML_Supported_Storage--on-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..263a9a442619774e6da4859309e43cca9a1e7b98 GIT binary patch literal 28233 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 E0E;iFuK)l5 literal 0 HcmV?d00001 diff --git a/static/icons/ClearML_Supported_Storage--on-light.png b/static/icons/ClearML_Supported_Storage--on-light.png new file mode 100644 index 0000000000000000000000000000000000000000..17ed70e0a4a09768254e3ef860f584da05db3fd3 GIT binary patch literal 27358 zcmeGE_gfQDyFCsE5ET?q5fKnUqzDm^-ispAMM~&Jq=WQcLI9-*Ql(evC4|s>08#0^ z_ugCR0YczAJm>hF_b+&V`sBK}7$!5b_w3no-|Jp$ZN7bYFGE61O$-8oNaSSSs)9f_ zB|#uOi`zGWJ!I+vj=(P>ds%HK5aFLM zo913z$rpNm_DqdZHh%?aT|~`D-GWAZRemL6bhOXP2EksHUX?y+MY&~*fT-vqz#nI% z@5M@=u;aBvN4{b#_ZjngW75&RtjNuiD0FsJY|X*Tcfh1eJpN?QJ>v1B%Am>-M_pQ&j$R!xp{3VgRE%9%+WLzkX|DTtBl};PC7jFIA+iphL3Jw}E zBW&*tTvK)u#{1tdB*O(=(5>rUH|Twu=6K1pU;hRk+W&kar8XH!fEEg^XI4-OA7_+L z|D6PKRQ%ifeaR^uc|B}D7*V}cg#XSG+FZ}f%uJlLCTv$qQTn$x^0#=Oa1jO22rMPL zHbv#X`0Z(S-Wum+k43G>cPu4PYV+iTvW^EuQQAvUPi$1ZOTExEiZx1@0Aevnw)^XEa zaUGCygW{fKRql|1G%<>uIm0OEiHdv64e6Vt%iAE3Z^bjvYYkcEQwvj;|DOI$JEJX> zvlC^XF>O6+Vp75I?v%T&3Ys@6X>P;$pkT-2ctPKpR;e^-L89U?jNB+OC+gt|LgUwulMSOg&lOKu+B+b zvF?mV=|5M|%AeoJ1B*IjX6EE*mq-D_qj}$#K1*?azdM%Fh3(X0BoUMyOZ0}#wnizf zQ~ZMA`a1TF_T!s73(zAK@Qn_$f#?STy+Se>-^iIFf(+k-K#{zhQh|zAT1^~G3o?aY ztp(Ur>;3){wSAX7#4kQHwmtm;mcoe%cirG^#P0sU7+$IFO*>JDuhaX;;ejMo|2JaW zzlxvZoJ+rY*;kL&0ZTfDSVJ@65U3>JKi6Kzhi|^o(Wi5q z?vL0>&O5+&d$dgi`VEZf!R4t;E&u2Co&Dgq%N|&p+IV)g`4I3!Djw!Lt^js25dl(% zuko;e^wIRErZn9OspFpeZK>l2-qp-^d&bUg#k{J$z5L=(+-0nu#Pc-k9T?IBBJ<6`E??z6;tq%=3owBnhUKoTK*_{kU=CJ@^?YiV4|7)d zfH|}K9LS-|qU5)yh2h0hDY85sR^elMVz$hW@JyO^ANp+fey#dJcXvZV4g0_!MD^($ zx~!DWfytC+h5l+UF$y`^E@;2Rf`OSBa`(xLl@%r*ReE~NWThjg!AlHFx>iOot5Gal z+SR4zSu#JX{Z3`bBg#WCfbAyfuN$t2qqslAaxtFDnxUpLKYG+5R%V_DsxW#JQJ$8+ zLl*J>6kc320rg_V2Sd?gc691w>_&q*4jG5ikF6-af@ zJbqrz_GfdY^rN5X;i`)#ol^e~OsL@td)#qIT)FTg5NP`wFwl|Z-6ol=UL&b9$GiNg z4Tc%acUk8tsoGU@*Mfdvq2org@LrLhTE^H)r%FLzQYSv%7wGt=7_X7SUXo8fjcr(TiGn1j6o z0y)xb_2Yqry7W}0^^y6rGnH2pNn#=dAIX?c*Nfr9C$2LJ4VrkCL(@eKhF5h?3qeze zd2RE8jp`=IUS{av1D|bn?oVI+DGkOClFU<0ccf$zjRlPR6X^j+CrAb$9eS2TIcX

|m~=L`&647X=zZu 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 F{{u*jBVYgk literal 0 HcmV?d00001