作业处理

alchem的Python项目详细描述


炼金术是一种简化诸如科学实验之类的工作的工具,这些工作在结构上差别极小。功能包括:

-支持多处理器,
-很好地处理标准输出和作业的标准错误,
-很好地处理目录结构,这样您就不必在作业函数中处理这些问题。

炼金术需要两件事才能开始。首先,您需要定义一个函数
,它实际上可以满足您的需要。然后,您需要一个配置文件(我们使用yaml来实现这一点),您可以在其中放置实验的参数化。然后,您可以使用


$python alchemy.py-c config.yaml启动您的实验

例如,您可能希望在月球上以1.63的引力值运行模拟,在地球上以9.81的引力值运行模拟。


你想做两个实验,一个从地球开始,另一个从月球开始。你的火箭名为“rockstar”,你希望它正好有3米长。然后定义以下yaml
文档。

--
函数:machines.vehicles.rocket
名称:rockstar
长度:3.0
?:[{gravity:9.81}.
{gravity:1.63}]


问号符号告诉alchemy
要为列表的每个值运行一个实验。因此,它将产生以下词典。


“name”:“rockstar”,
“length”:3.0,
“gravity”:1.63}


炼金术将生成所有不同值的叉积。如果你有
倍数?在您的yaml文件中,所有可能的值是多少?s将被
组合起来。

但是您的函数究竟是如何调用的?炼金术检索
字段“函数”的值,并在pythonpath上查找该对象。它删除
函数字段,并将结果字典作为关键字参数
馈送到函数中。代码大致如下:

请访问http://pyyaml.org/




experiment s的输出
——


alchemy使用python自己的“uuid”模块为您的实验生成一个唯一的标识符。然后,它将为该标识符创建一个目录,并为实验的每个作业创建一个
(如果没有不同的值,则为1)
生成一个单独的子目录,子目录的数目将不断增加。

启动炼金术时将打印出ID。

因此,如果在函数中使用相对路径,则可以确保
所有输出文件都位于该目录中。

此外,将创建一个文件“stdout”和一个文件“stderr”,将相应流重定向到其中。此外,使用的实际配置
将保存到“config.yaml”中以供将来参考。




可以指定与“-p”选项一起使用的进程数。它默认为o主机处理器。



限制
——

-不支持群集
-使用不同值的组合,而不是交叉积

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

推荐PyPI第三方库


热门话题
java gradle无法解析配置的任何依赖项:类路径   来自远程服务的java错误字符串解析   java如何在Tomcat之外运行TomcatSpring/Struts 2Quartz任务?   将Java字节转换为Perl   Java选项:返回值或执行某些操作并继续循环   java如何从对象中获取变量?   postgresql自动部署web服务java和glassfish服务器4.1.1?   使用泛型的java Resteasy重写方法   在另一个用户登录后显示上一个用户的java数据   JSP(Java):编码字节数组并在JavaScript中使用,与C中相同#   Java:如何知道jar在Linux中的位置   java模拟已标记为可访问的私有方法的返回值   java无法理解滚动窗格   java Spring Boot Starter Web依赖项提供缺少工件的错误   java从SQL表创建json文件,然后能够查询该文件   java线程时钟对象   Java实践编程问题   多线程Java GUI未更改   GL30库中不存在intellij idea GLGEnVertexArray()。(JAVA LWJGL)   二进制文件在java中编辑二进制文件