Skip to main content

A tool to manage experiment

Project description

Happy Experiments in Python (HEPY)

中文介绍

HE是一个针对命令行实验的管理工具。主要对实验中的三个部分进行管理:

  1. 实验代码版本管理。对每个实验(Experiment),HE会维护一个代码版本,用户可以随时切换到过去的代码版本进行实验。 对于需要频繁修改代码的实验而言,HE可以节省实验者大量的精力,同时提高了实验的可复现性。

  2. 实验(超)参数管理。每个实验只有一份代码,但是可能包含多个试验(Trial)。 每个试验的命令行参数不同,命令行参数决定了这次试验的实验参数。HE在每次试验的开始,会记录这次试验的超参数。

  3. 实验结果的管理。HE可以将实验结果自动保存到对应的实验文件夹下。也支持在实验结果中的评价指标进行正则匹配。

安装方式

pip install hepy

或者

pip install git+https://github.com/JunguangJiang/Happy-Experiments.git@master

使用教程

注意事项

由于代码版本管理时会复制代码目录下的文件,用户首先需要:

  1. 创建.heignore文件,这个文件的语法和.gitignore相似。在进行代码版本管理时,会忽略.heignore中匹配的文件。
  2. 确保所有相对路径的数据文件夹都是软连接。否则复制数据文件夹会消耗大量的资源。
正式的教程
  1. 进入代码目录下

  2. 初始化

    he init
    

    在代码目录下会出现文件夹he_workspace。

  3. 运行一个试验

    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包含了第一次试验的结果。

    • 如果不指定实验名称,默认会采用当前的时间作为实验名称。
    • 如果指定的实验名称与此前的重复,则会使用过去实验时刻的代码
  4. 展示实验结果

he show ${experiment_names}

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

hepy-0.0.2.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

hepy-0.0.2-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file hepy-0.0.2.tar.gz.

File metadata

  • Download URL: hepy-0.0.2.tar.gz
  • Upload date:
  • Size: 7.4 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

Hashes for hepy-0.0.2.tar.gz
Algorithm Hash digest
SHA256 167d63867a83c50cb359b93cadbb66b341eee3984a6c202b1ade1af4ca9f6ffd
MD5 149668ad6c8386e2ccb516206ec60cc8
BLAKE2b-256 069890596807451bc3a367aa7e870f978aaf2267c769c979b19dd972510024cd

See more details on using hashes here.

File details

Details for the file hepy-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: hepy-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 9.1 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

Hashes for hepy-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 709eb1af829e3a0a04d683a9deaa0dec6c1649d9cd7d67792259936b9c077cb9
MD5 5557807d5e283b583e1e132523085a4f
BLAKE2b-256 b028525b974cf541c241cf33cf56e26ad7f0ed0e15b058c16003d9565de1095a

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