你的实验会让人高兴吗?

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 Android HttpClient cookies   如何使用Java在远程系统上运行SSH命令?   java从字符串数组中的字符串末尾删除“,”   在One plus 3t手机上,当应用程序被终止或从最近的应用程序中刷出时,java Android FCM推送通知不起作用   java如何使垂直滚动条始终位于jtable的末尾   在java中解析迄今为止“未知”的字符串   javascript在Java中获取Nashorn JsonObject   java windows 10和ubuntu可以使用相同的JDK吗?   java在不同的文件中记录不同的日志。但所有日志都放在同一个文件中   具有特定jdk的java Gradle构建项目   xml Java web服务生成错误响应   javascript Jaggery文件更改不显示   java输出二进制搜索树数组   将BufferedReader解析为JSON对象时,java在位置处意外标记文件结尾