Enhancements
Azure remote support
Guild now provides remote support for Azure! Many thanks to @adam-cattermole for the contribution!
Documentation for Azure VM remote support:
Support for SimpleNamespace
flags interface
It’s arguably more elegant in Python to use attribute access for script parameters, rather than a list of global variables or a global dict
. Guild now supports using types.SimpleNamespace
objects using a namespace:NAME
flags-dest
spec.
For more information, refer to flags-dest docs. For examples, see the flags project.
Enhancement to ops filtering
Guild now supports more flexible operation filtering as described in issue 121.
The gist:
- A filter value consists or one, two, or three parts: package, model, and operation
-
/
delimits package and model -
:
delimits model and operation - Without any delimiter, part is assumed to be the operation
- Always match against the full part value
- Support a single wildcard char
*
that matches any repeating sequence within a part
In the end foo
will match these:
pkg/a:foo
a:foo
foo
It will not match:
pkg/foo:a
foo:a
foo-bar
To match foo:a
you could use -o a
or -o foo:a
or foo:*
.
Sub-commands in Python CLIs
CLIs that use sub-commands are now supported using additional arguments to the main
operation attribute. Guild uses the sub-command when importing flags to ensure that only command-specific flags are imported.
For example, if module logreg
supports sub-commands train
and test
, define a train
operation this way:
train:
main: logreg train
flags-import: all
In this case, Guild imports flags from the logreg
module using the train
sub-command.
For more information, see Using additional arguments for sub-commands.
Test support dropped for Python 2 and Python 3.5
While Guild still supports Python 2 and Python 3.5, we’ve dropped test support in our CI process. This is to speed up builds and avoid the increasing number of conflicts with upstream packages and repositories.
Guild will officially drop support for Python 2 in 2022.
Use natural sort when listing files
Rather than sorting files in lexicographic order, Guild now uses the Python package natsort to order files. This results in a more sensible ordering files that have numeric content.
For example, Guild now sorts the following files in this order:
- img0
- img1
- img2
- img10
- img20
ipy
interface supports accessing archived runs
Many thanks to @dekeul for this contribution!
Use argparse
action type information when importing flags
Guild now uses the argparse
action type value to infer the flag type on import.
Fixes
Guild view command crashes after a few seconds #205
stop not working with PyTorch data loader #281
requirements.txt not copied to or installed on remote #291
Many thanks to @adam-cattermole for this contribution!
Sync random starts used with ipy
modules with CLI behavior
Guild was not using the configured random start count when running batch operations via guild.ipy
.