Open Experiment Format
Project description
open-experiment-format
Open Experiment Format is a collection of protobufs that allows you to serialize an Experiment.
Documentation
See https://deepomatic.github.io/open-experiment-format/
Building and testing
Requirements:
protoc
: See http://google.github.io/proto-lens/installing-protoc.htmlpytest
: runpip3 install pytest
to install it.
Those requirements are already installed if you develop via dmake shell oef
.
Then, simply run make test
to launch tests.
Structure
The code is divided into multiple subsections:
- API: contains abstract classes for DL architectures interfacing OEF with Thoth, as well as the
launch_experiment
function definition for launching a new training on Deepomatic Studio - Configuration: contains all the default configuration for all available DL architectures
- Platform: interface between OEF and Deepomatic Studio
- Protos: contains all the protobuf files
- Utils: contains the
ExperimentBuilder
class and other utility functions
How to deploy
This should be done after your pull request has been merged to master.
Bump the version in deepomatic/oef/__init__.py
If you break the protobuf format since the last release, you need to:
- provide a migration file
- bump and commit the major version number and reset other numbers to 0.
- commit your changes
Tag the commit
Once the pull request is merged, tag the (last) corresponding commit by doing:
git checkout commit_id
version=0.1.2
git tag -m "Release open-experiment-format v${version}" v${version}
git push origin v${version}
Create a github release
- Start by doing
git fetch --tags --quiet --force
as a workaround for a bug indmake release
. - Run
dmake release open-experiment-format
and select the tag you just released - Dmake displays the URL of you release: you can edit the description to hide unnecessary commits
Release the packages for this version on pypi
Open dmake shell oef
, and simply run make publish
. You will need to be admin on PyPi for it to work. If on MacOS, you should be
inside the ubuntu docker container to make sure you build a linux package (maybe not necessary, this has not been verified).
You can check the release here: https://pypi.org/project/deepomatic-oef/#files
Create a maintenance branch after release of a minor version
After a release of a minor version, create a new maintenance branch with name maintenance-0.2.x
, where 0.2
should be replaced with the current major and minor version. This is the default branch from where patches should be released. All hotfixes on the master branch should also be merged on the maintenance branch.
Bump the version in deepomatic/oef/__init__.py
You now bump the minor / patch version number to prepare for the next release:
- if you a on the master branch, modify the minor version number
- if you are on a maintenance branch, change the patch version.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for deepomatic_oef-0.10.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58217cf24c906d460c0a2c9f1416cca0a7a0175851c2cd443569913a183f6e79 |
|
MD5 | d534d800d7df4a95aff5a033a9b6182f |
|
BLAKE2b-256 | afc906fb2b6d126ced58b8ed5635abe70a6f8e096d057ad41bc4b562605b259c |