简单的参数空间评估和连续耕作。
psyrun的Python项目详细描述
psyrun
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]'
变化
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-task和psy kill命令。
- 添加了AutodetectStore,用于从
文件扩展名
- 添加了允许psy merge自定义存储的可能性(如果提供为
psyrun.stores入口点。
- 添加了基于作业名称设置计划程序参数的功能
0.5.4
错误修复
- 修复psy runcontinue功能
0.5.3
错误修复
- 修复psy status和
psyrun.backend.distribute.DistributeBackend.get_missing试图读取
输出目录中的数据文件不兼容
- 修复psy status和
psyrun.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
- 初始发布