Subprocess

The subprocess_example.py script demonstrates multiple subprocesses interacting and reporting to a main Task. Each Task in a subprocess references the main Task by calling Task.current_task, 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.

When the script runs, it creates an experiment named Popen example which is associated with the examples project.

Hyperparameters

Trains automatically logs the command line options, because the example code uses argparse. A parameter dictionary is logged by connecting it to the Task using a call to the Task.connect method.

additional_parameters = {'stuff_' + str(randint(0, 100)): 'some stuff ' + str(randint(0, 100))}
Task.current_task().connect(additional_parameters)

Command line options appear in CONFIGURATIONS > HYPER PARAMETERS > Args.

image

Parameter dictionaries appear in General.

image

Log

Output to the console, including the text messages from the Task in each subprocess, appear in RESULTS > LOG.

image