A tool to manage experiment
Project description
Happy Experiments in Python (HEPY)
中文介绍
HE是一个针对命令行实验的管理工具。主要对实验中的三个部分进行管理:
-
实验代码版本管理。对每个实验(Experiment),HE会维护一个代码版本,用户可以随时切换到过去的代码版本进行实验。 对于需要频繁修改代码的实验而言,HE可以节省实验者大量的精力,同时提高了实验的可复现性。
-
实验(超)参数管理。每个实验只有一份代码,但是可能包含多个试验(Trial)。 每个试验的命令行参数不同,命令行参数决定了这次试验的实验参数。HE在每次试验的开始,会记录这次试验的超参数。
-
实验结果的管理。HE可以将实验结果自动保存到对应的实验文件夹下。也支持在实验结果中的评价指标进行正则匹配。
使用教程
注意事项
由于代码版本管理时会复制代码目录下的文件,用户首先需要:
- 创建.heignore文件,这个文件的语法和.gitignore相似。在进行代码版本管理时,会忽略.heignore中匹配的文件。
- 确保所有相对路径的数据文件夹都是软连接。否则复制数据文件夹会消耗大量的资源。
正式的教程
- 进入代码目录下
- 初始化
he init
在代码目录下会出现文件夹he_workspace。
- 运行一个试验
he run --exp ${experiment_name} -- ${script}
${experiment_name}是你给这个实验取的名字, ${script}是运行这个实验的脚本。 比如运行
he run --exp test -- ls -l
会得到下列输出
Create new experiment: test
Running script: ls -l
total 44
....
Finish experiment: test
在he_workspace文件夹下出现了一个新的文件夹test。 test/code中包含了当前时刻的代码。test/0.txt包含了第一次试验的结果。
- 如果不指定实验名称,默认会采用当前的时间作为实验名称。
- 如果指定的实验名称与此前的重复,则会使用过去实验时刻的代码。
如果要运行多个试验,则在${script_file}中的每行写一个试验命令,并运行
he run --exp ${experiment_name} --script ${script_file}
- 展示实验结果
he show ${experiment_names}
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 Distribution
Built Distribution
File details
Details for the file hepy-0.0.1.tar.gz
.
File metadata
- Download URL: hepy-0.0.1.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 225df96de271ce67d269d91d32bf08e795de178718190b1a1fd104b73ccd6bb4 |
|
MD5 | b4aec0fba1efcf28348b7759e2965ece |
|
BLAKE2b-256 | 69ba948e3a430fe9651c7994ce72f3ab90b39b129dcc6d0e557666f123dd8e38 |
File details
Details for the file hepy-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: hepy-0.0.1-py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5886db326b23b412d6063642447b4f483b3b4cb073356f3c61935ac480b47cb |
|
MD5 | 3206c2d38fc8656f1f2ef21797ac6b1a |
|
BLAKE2b-256 | b6c409a2f2b1ea81f86a360fef4cac2c84b352e388a5eb8ca2596b411421c343 |