Skip to main content

Storing Task Data Offline

If your computer is offline, or you do not want a Task's data and logs stored in the ClearML Server, use the Offline Mode option. In this mode, all the data and logs that the Task captures from the code are stored in a local folder, which can be later uploaded to the ClearML Server.

Setting Task to Offline Mode#

Before initializing a Task, use the Task.set_offline class method and set the offline_mode argument to True.

from clearml import Task
# Use the set_offline class method before initializing a Task
# Initialize a Task
task = Task.init(project_name="examples", task_name="my_task")
# Rest of code is executed. All data is logged locally and not onto the server

The method returns the Task ID and a path to the local session folder:

ClearML Task: created new task id=offline-372657bb04444c25a31bc6af86552cc9
ClearML Task: Offline session stored in /home/user/.clearml/cache/offline/

All the information captured by the Task is saved locally. Once the task script finishes execution, it's zipped. The session's zip folder's location is ~/.clearml/cache/offline/<task_id>.zip.

Uploading Local Session#

In order to upload to the ClearML Server the local execution data that the Task captured offline, use the Task.import_offline_session method. This method will upload the Task's full execution details and outputs.

from clearml import Task

In the session_folder_zip argument, insert the path to the zip folder containing the session.

This method returns a link to the Task's results page on the ClearML Server:

ClearML: Importing offline session from /home/user/.clearml/cache/offline/
ClearML results page:

The session details can be viewed in the ClearML WebApp, in the "my_task" experiment of the "examples" project, as specified when initializing the Task.