简单的参数空间评估和连续耕作。

psyrun的Python项目详细描述


psyrun

https://travis-ci.org/jgosmann/psyrun.svg?branch=masterhttps://coveralls.io/repos/github/jgosmann/psyrun/badge.svg?branch=master

psyrun是定义参数空间的Python工具 并为每个参数赋值执行一个求值函数。此外 psyrun使串行农业更容易使用,即评估多个参数 并行分配,在多核计算机和高性能集群上。

概述

定义参数空间并计算它们:

frompsyrunimportmap_pspace,Paramdefobjective(a,b,c):returna*b+cpspace=(Param(a=np.arange(1,5))*Param(b=np.linspace(0,1,10))*Param(c=[1.,1.5,10.,10.5]))results=map_pspace(objective,pspace)

或者并行进行:

frompsyrunimportmap_pspace_parallelresults=map_pspace_parallel(objective,pspace)

通过将task_<name>.py文件放在psy tasks`目录中来定义任务:

frompsyrunimportParampspace=(Param(a=np.arange(1,5))*Param(b=np.linspace(0,1,10))*Param(c=[1.,1.5,10.,10.5]))defexecute(a,b,c):return{'result':a*b+c}

并通过键入psy run来运行它们,同时支持在高 性能集群。

安装

pip install psyrun

能够使用NPZ商店:

pip install numpy
pip install 'psyrun[npz]'

要使用HDF5存储:

pip install numpy
pip install 'psyrun[h5]'

要求

可选要求

激活faulthandler用于 在python 2.7中用psy run提交的作业:

Python 3.4+已经包含了faulthandler模块

使用map_pspace_parallel

要使用NPZ文件作为存储:

使用HDF5文件作为存储:

运行单元测试:

要生成文档:

变化

0.8.0(2018年6月26日)

新功能
  • 添加了在任务文件中指定setup函数的可能性 将在每个工作进程开始时执行一次,并可以使用 获取资源并将其传递给个人的处理功能 参数集。

0.7.1(2018年4月19日)

文档改进

  • 添加了pool_sizetask属性的文档并将其包含在 任务模板

错误修复

  • 允许在结果丢失时继续执行任务,即使结果文件是 比任务文件新。

0.7.0(2018年2月18日)

新功能
  • 增加了对slurm工作负载管理器的支持。

0.6.0

新功能
  • 添加psy new-taskpsy kill命令。
  • 添加了AutodetectStore,用于从 文件扩展名
  • 添加了允许psy merge自定义存储的可能性(如果提供为 psyrun.stores入口点。
  • 添加了基于作业名称设置计划程序参数的功能

0.5.4

错误修复
  • 修复psy runcontinue功能

0.5.3

错误修复
  • 修复psy statuspsyrun.backend.distribute.DistributeBackend.get_missing试图读取 输出目录中的数据文件不兼容
  • 修复psy statuspsyrun.backend.distribute.DistributeBackend.get_missing容易击中 python的递归深度限制。
  • 通过将npz文件转换为 可以使用np.nan的浮点值。

0.5.2

错误修复
  • 修复不正确的psy status
  • 修复psy run <task1> <task2> ...未运行所有任务并在中运行它们 命令。

0.5.1

错误修复

  • 修正psy merge总是假设PickleStore

文档改进

  • 添加用于将数据转换为pandas数据帧的配方。

0.5

  • 初始发布

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

推荐PyPI第三方库


热门话题
javascript问题:通过URL用网站数据填充Textview   java TabLayout Android,如何用几个标签填充整个屏幕宽度,并用大量标签滚动?   Eclipse Java运行的文件不再存在于我的工作区中   安装两个Java版本时,使用Java的windows链接不起作用   java将多个图形添加到单个JPanel   java Kafka ConsumerFactory,带有两个Desiarizer   使用反射更改java类超类   当一致性测试失败时,java有没有办法让堆栈跟踪显示在控制台中   java映射到基元类型的HashMap的快速替代方案是什么?   java关闭一个jframe所有剩余的打开jframe都将关闭。   java为什么不推荐“使用getString()获取设备标识符”?   java值比较和值赋值之间有什么性能差异吗?   Java实体数组到JavaScript数组   java使用流将一个列表转换为另一个列表   在JTree中保存对象,但更改显示的名称(java swing)?   java“Hello world”Android应用程序,文件尽可能少,没有IDE,只有文本编辑器   java在方法之间传递值   java如何为项目数组创建ParseQuery?