基于芹菜的分布式计算包waldorf

waldorf的Python项目详细描述


Waldorf

waldorf是一个用python编写的高效并行任务执行框架。 它是为研究reinforcement learning而开发的 中国北京our startup company的算法。

华尔道夫是基于Celery distributed task queue, 它的名字来自Waldorf salad, 也有芹菜作为原料。

它可以通过 在多个 机器和自动收集输出。也可以使用waldorf 实现MapReduce样式的工作流。

尽管waldorf可以部署在云服务器上,但我们目前的重点是 正在使用商用PC群集的备用CPU容量(例如 办公室工作站)。对gpu的支持可能会包含在将来的版本中。

功能

  1. waldorf使用主节点在客户机和 从节点。

  2. 客户机可以在其本地计算机上创建任务作为python函数。 waldorf使用 芹菜任务队列。当芹菜单独使用时,任务通常必须是 预先定义,但waldorf允许动态定义任务 不需要任何从机重启。

  3. 多个客户机可以同时运行其任务而不发生冲突。

  4. 客户机可以调整从机上使用的CPU核心数 进行计算。这可以从waldorf动态完成 管理网页。

Screenshot of Waldorf admin webpage

基本用法

您可以在任何需要并行计算的任务上使用waldorf。

它的众多用途之一是计算MCTS模拟中的卷展栏(对于 例如,在玩游戏的ais)。

下面是一个简单的示例:

defrollout(args):# Do one rollout...defbackup(result):# Backup and handle result...defmcts_search():for_inrange(iter):# Select actionaction=select()...# Submit rollout job to waldorf clientclient.submit(rollout,args,callback=backup)...# More code...

对于更复杂的示例,请查看the gym demo

快速启动

使用the installation guide和 签出the gym demo

免责声明

waldorf仍然是研究代码,因此在 文件和支持。欢迎任何反馈。

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

推荐PyPI第三方库


热门话题
导入javalibGDX项目后发生eclipse错误   如何将简单java游戏放入窗口(小程序)   jakarta ee Java从字节数组读取数据结构   使用工厂方法的Java抽象工厂与原型   java分配给字符串变量的内存和时间代价是多少?   onStart()中的java无止境循环   java如何从命令行运行Altium designer录制的宏?   使用向量、距离和图形   java局部旋转在openGL和LWJGL中的具体实现   测试从java运行Vasco OTP exe,并获取我的应用程序中使用的生成OTP   java从数据库查询中重新格式化json   java我需要用过滤的数组项检索MongoDB的对象   流简单Java服务器/客户端不工作?   Java从字符串的int-like子字符串中获取数字?   线程“AWTEventQueue0”java中的Swing异常中的VLCJ。lang.AbstractMethodError   jframe将素因子代码合并到JPanel Java中   Java中定义字符串常量的编程实践   java如何将安卓 ImageView捕捉到屏幕上的某个位置?   使用SeleniumWebDriver和Java测试开关选项卡