问题标签 [pathos]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
148 浏览

python - Python pathos 错误“错误:根:"

我正在使用 Pathos 进行并行处理:https ://pypi.org/project/pathos/ 一切都很好,除了在实例化池时我收到一些烦人的错误消息。

似乎一切正常。这四个错误只是有点烦人,但不会干扰其他任何事情。

无论如何,我可以将这些错误消息从打印到控制台中静音吗?

0 投票
0 回答
427 浏览

python-2.7 - 类内的 ctypes 共享库函数的多处理失败

我认为我的问题以前不是很清楚。我正在尝试创建一个包含函数的类模块,该函数对 ctpyes 函数进行多处理。

我正在重新发布一个有效的小代码。我要做的就是删除下面的代码并直接从我的类中调用该函数。但这似乎很难,因为 ctypes 对象不可腌制。有没有办法解决这个问题?即使是一个小提示也将不胜感激!我是否必须改用 cython 而不是 ctypes?那会有帮助吗?

下面是工作代码。

下面是我想做的。

0 投票
1 回答
204 浏览

python - 在池进程之间共享队列对象

我使用该类来调度跨多个内核pathos ProcessingPool的函数的并发执行。run_regex()该函数将正则表达式作为参数并计算匹配的列表条目。如果找到匹配项,它将匹配值放入result_queue.

result_queue据我了解,目前每个工作进程都会在其虚拟地址空间中创建一个本地副本。但是,我想将此 Queue 对象用作共享内存机制,以便从主进程访问所有匹配项。

问题:

  1. 有没有办法将 Queue 对象传递给 Pool 初始化程序,以便队列充当共享内存部分?
  2. 队列对象是否需要同步?
  3. 有没有更好的方法来解决这个问题?

代码片段

0 投票
0 回答
107 浏览

python-3.x - Pathos 排队任务然后得到结果

我有一个计算任务,它有效地针对大量数据集运行相同的代码。我想利用大型多核系统(例如 72 核)。

我在 2 核系统上测试它

“individual_config”是我的工作函数。

我编写此代码的基本原理是加载数据以创建所有任务(2820 个任务),将队列对象放入列表中,然后轮询此列表以获取已完成的任务并将结果放入数组中。进度条监​​控任务的进展情况。

每个单独运行的 individual_config 任务需要 0.3-0.5 秒,但其中有 2820 个,因此在我的系统上大约需要 20 多分钟。

在这个新的 pathos 多处理处理池配置中运行时,它每 10-15 秒完成一两个。该任务预计需要 20 小时。我预计多处理会产生一些开销,因此不会获得双核处理的双倍速度,但这似乎是错误的。建议?

0 投票
1 回答
630 浏览

python - 如何让我的远程服务器上产生进程?

我有 2 台计算机,它们都有 pathos Python 模块。我有一个 Pathos 多处理池,并且一直在尝试让 pathos 使用以下代码在两个 CPU 之间平均分配进程数:

但是,不是在我的本地 CPU 上运行 4 个进程,在 Amazon EC2 实例上运行 4 个进程,而是在我的本地处理器上运行所有 8 个进程。如何设置 pathos 以便它在我的 CPU 上生成 4 个进程,在 Amazon 实例上生成另外 4 个进程?

0 投票
0 回答
273 浏览

python - Python:pathos 和 selenium 的酸洗问题

如果我的问题的答案很明显,我很抱歉,因为我是多处理的新手。

我正在尝试用 pathos 编写一个多处理的网络抓取脚本。我之所以选择 pathos,是因为据我了解,与 Python 的传统多处理模块不同,它不会受到酸洗问题的影响,并且不需要每个函数或类都位于顶级模块中。

一般来说,我正在尝试做的伪代码如下所示:

尽管如此,尽管我正确安装了 dill 并且 _multiprocessing 导入没有任何问题,但我在运行代码时总是收到以下错误:

并且:

这可能是 Windows 特定的问题吗?不幸的是,虽然我个人更喜欢 Linux,但这个脚本需要在 Windows 10 64 位机器上运行。我在两台 Windows 10 机器上尝试了 Python 3.6(Anaconda 64 位)和 Python 3.7 32 位,并得到了同样的错误。

提前感谢您的任何想法、帮助和建议。

0 投票
1 回答
535 浏览

python - 悲情:泡菜失败

使用 Pathos 并行化以下代码,我得到一个错误。这是我使用的代码:

错误:

0 投票
0 回答
1505 浏览

python - 多处理中的“无法加载字形”

我在使用运行图形保存功能的 pathos 多处理时遇到了问题。

抛出

我目前的理解是,这是因为字形被多个进程同时调用。仅当并行执行的数量> 3时才会发生异常,这与该想法一致。我看到一个人的工作只是重复调用 savefig 直到命令通过,但是并行化函数包含大量图,我宁愿不需要将每个图都包装在 try 语句中。有没有人知道在并行绘制图形时如何避免这种异常?谢谢!!

编辑 每个评论请求的最小示例。

有趣的是,如果我用 替换 dataset_serial 循环,pathosdataset_serial = map(model_handler, range(20))并行池执行没有问题,但如果我将串行映射对象转换为列表 ( print(list(dataset_serial))),并行池中的字形异常又回来了。

0 投票
1 回答
316 浏览

python - 使用 pathos ModuleNotFoundError 进行多处理:没有名为 pathos.helpers.mp 的模块

我想要一个多处理的替代方案,并且发现pathos我挖掘了更多并得到了一个答案,即作者向用户提供了代码multiprocess.Process。但是,我收到以下错误:

ModuleNotFoundError:没有名为“pathos.helpers.mp”的模块

对于代码:

另外,当我使用

from multiprocess.process import BaseProcess

我收到以下错误p.start()

self._popen = self._Popen(self)

TypeError: _Popen() 接受 1 个位置参数,但给出了 2 个

我曾尝试使用 setup.py 文件从 pip 和 git 安装,这两种方式都出现此错误。我本可以只在那个问题线程中评论我的问题,但我没有 50 个声誉。

0 投票
1 回答
1541 浏览

python-3.x - TypeError:无法腌制 CompiledFFI 对象

我正在尝试从 Telnet 和 SSH 主机获取某些命令的输出并将它们存储在架子中。由于有很多命令,我正在使用多处理。我有以下重要方法:

  1. connectToHost:使用方法建立连接(SSH/ Telnet)。
  2. ExecuteCommand:执行命令并获取输出。
  3. main:我在其中迭代所有命令并使用multiprocessing. 这个方法调用另一个方法来合并来自其他进程的输出。

对于 Telnet,一切正常,但是当它是 SSH 连接时,我的代码失败了process.start(),我收到了以下错误。

TypeError:无法腌制 CompiledFFI 对象

为什么即使我调用相同的方法它也不适用于 SSH?如何解决这个问题?