Skip to main content

A collection of simple utilities for machine learning workflows.

Project description

icflow is a Python package with some prototype workflow tools for use at the Irish Centre for High End Computing (ICHEC).

It is intended to help standardize some of our workflows in areas like Machine Learning by using common utilities, data-formats and data-structures.

See the project documentation on ReadTheDocs.

Features

Parameter Sweep

You can define a parameter sweep in a yaml file as follows:

title: "my_parameter_sweep"
program: "launch_program"  

parameters:
    param_0 : 1
    param_1 : "my_value"
    param_2 : [1, 2]
    param_3 : ["a", "b"]

Running:

icflow sweep --config my_config.yaml

with this fill will launch the program or script defined by program, which should be in the system PATH.

The listed parameters are passed as command line arguments to the program in the form --key value. Parameter value lists are expanded such that there is a program launch for each combination of values in the list. In the above example this will result in the following program launches:

launch_program --param_0 1 --param_1 my_value --param_2 1 --param_3 a
launch_program --param_0 1 --param_1 my_value --param_2 2 --param_3 a
launch_program --param_0 1 --param_1 my_value --param_2 1 --param_3 b
launch_program --param_0 1 --param_1 my_value --param_2 2 --param_3 b

Program launching is handled internally by ICHEC's ictasks library, with each of these program launches handled as a 'task'.

Running sweeps in parallel

You can also specify details about the number of gpu/cpu s available for running tasks by including the config and inner task_distribution sections in the sweep config This can allow for tasks to be run in parallel, see a description in ictasks covering this task_distribution and using gpus in your tasks.

title: ...
program: ... 

parameters:
    ...

config:
    task_distribution:
        ...

Installation

It is available on PyPI:

pip install icflow

Copyright

This software is Copyright of the Irish Centre for High End Computing 2024. You can use it under the terms of the GPLv3+. See the included LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

icflow-0.2.4.tar.gz (33.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

icflow-0.2.4-py3-none-any.whl (37.0 kB view details)

Uploaded Python 3

File details

Details for the file icflow-0.2.4.tar.gz.

File metadata

  • Download URL: icflow-0.2.4.tar.gz
  • Upload date:
  • Size: 33.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for icflow-0.2.4.tar.gz
Algorithm Hash digest
SHA256 29383ffbf9f2414680f23b4bc62a28d7e588ba34ec0487f8b18ba7501daf3c53
MD5 732a06366011e2ae062d07b0bf233fc8
BLAKE2b-256 5e1c5e14a12aa5f1272b14b540efdd7e316d4c92a543f5c22e81aa73e3209d3d

See more details on using hashes here.

File details

Details for the file icflow-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: icflow-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 37.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for icflow-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 193128ea11982ff087d2cff1ae9161f2c43c56e6c25e478a3bc2475d3fd8d629
MD5 8df356d8517c99b54bf874c3d128464e
BLAKE2b-256 740b453e1fb71c3ff8450fa63b29a0f089654cd4e2a4b5f0e06e434a24378988

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page