你的实验会让人高兴吗?

kondo的Python项目详细描述


近藤

Build StatusPyPI versionAlphaPython 3.6

Marie Kondo Spark Joy

这个名字的灵感来自于Marie Kondo的整理冒险。

扔掉那些不能用这个不可知论的小框架激发快乐的实验 模块。

安装

Pypi

pip install kondo

来源

pip install git+https://github.com/activatedgeek/kondo.git@master

注意:与主分支相比,更喜欢固定到引用以进行意外更新。

用法

  • 创建新的Experiment

    fromkondoimportExperiment,RandIntType,ChoiceTypeclassMyExp(Experiment):def__init__(self,foo=100,bar='c',**kwargs):super().__init__(**kwargs)self.foo=fooself.bar=bardefrun(self):print('Running experiment with foo={}, bar="{}".'.format(self.foo,self.bar))@staticmethoddefspec_list():return[('example',3,dict(foo=RandIntType(low=10,high=100),bar=ChoiceType(['a','b','c']),))]

    确保使用**kwargs将所有关键字参数捕获到超级类。 如上所述。

  • 创建Hyperparameter规范

    fromkondoimportHParamshparams=HParams(MyExp)

    HParams类自动识别 将实验指定为具有默认值的构造函数的参数。这个 spec可以是任何键值对(也可以包括将 在所有的试验中都很常见)。

    其他可用类型可以在param_types.py中看到。

  • 每次生成试验并创建新的试验

    fortrial,_inhparams.trials():exp=MyExp(**trial)exp.run()

    这三个试验的样本输出,随机选择foo的值 而bar如下所示。每一行代表发送到 MyExp类的构造函数。

    Running experiment with foo=93, bar="b".
    Running experiment with foo=30, bar="c".
    Running experiment with foo=75, bar="c".
    
  • 我们也可以保存这些配置供以后使用,并加载实验 随需应变。我们通过以下调用来扩展上述示例

    importostrials_dir=os.path.join(os.path.abspath(os.path.dirname(__file__)),'.trials')hparams.save_trials(trials_dir)

    然后,我们从YAML文件中加载所有保存的试验。

    importglobforfnameinglob.glob('{}/**/trial.yaml'.format(trials_dir)):trial,_=MyExp.load(fname,run=False)exp=MyExp(**trial)exp.run()

现在,您可以在超参数搜索和throw期间继续调整规范 把那些不快乐的人赶走!.

完整的示例文件位于basic.py

许可证

阿帕奇2.0

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在依赖项上没有这样的方法异常   java如何将@Value注入setter?   验证输入java的最佳实践   java在使用kotlin的安卓项目中没有此类字段错误   我们可以强制java接口实现超时吗?   java将BasicAuth()与FormLogin()组合用于不同的路径   java无法在更新SDK后更新应用程序(未安装应用程序)   macos Java 8、Swing和OSX:对话框使UI对鼠标无响应   java自定义单元格格式以US格式显示,尽管使用了带UK语言环境的DataFormatter   java按升序排列列表字符串数据   java Hibernate OGM[PersistenceUnit:person]无法构建Hibernate SessionFactory   生命周期配置未涵盖java插件执行:com。乱穿马路。专家插件。安卓generation2:安卓mavenplugin:3.5.0:generatesources   java RecyclerView显示为空   当服务器不返回任何输入时,java InputStream read()会阻塞