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 in 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.

Installation

It is available on PyPI:

pip install icflow

Features

icflow is mostly intended to be used as a library for building workflow tooling - however it has a few CLI applications.

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'.

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.1.1.tar.gz (25.1 kB view details)

Uploaded Source

Built Distribution

icflow-0.1.1-py3-none-any.whl (26.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: icflow-0.1.1.tar.gz
  • Upload date:
  • Size: 25.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for icflow-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2690331fb23d05017e2c02562323d626f5e2e1b022bc51b56942a0fa640a1e45
MD5 bf60a274c70a757dd5eb5139d0bfaa85
BLAKE2b-256 9567224f2a2db567f3561b37d90b13ffbb5b047ddcb7a95ed6dd0908df18e5d2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: icflow-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 26.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.13.0

File hashes

Hashes for icflow-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bf1bbab4900ee15b05e8cfe167616d997a295d382bd819d145852d159d77a8a7
MD5 5f3218da655ba7a40f3ceb34dee754f0
BLAKE2b-256 dafa7bb3058db8aba9f870c680f49fd2c1feb2ea6236e3c048bb4d4032456b28

See more details on using hashes here.

Supported by

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