multiprocessing 相关问题

多处理是在单个计算机系统中使用两个或更多个中央处理单元(CPU)

Jupyter Notebook 多处理代码不起作用

我是Python新手,我有Anaconda Pyton 3.9 我正在研究多处理。 当我尝试这段代码时 from multiprocessing import Process # gerekli kütüphaneyi çağıracağız。 导入时间 def subf...

回答 2 投票 0

Python 中的并行化以获取多个流

我有闭路电视摄像机流的 URL 列表。我想流式传输它们,读取它们的帧,然后在读取它们时将它们保存在文件夹中。我编写了以下代码,它运行得很好: 我...

回答 1 投票 0

为什么其中一个有效而另一个无效?

我想在作用域线程池上下文中使用scoped_thread_pool跨线程共享(和更改)可变Vec。 让 ids_for_discard: Arc>> = Arc::new(Mutex...

回答 1 投票 0

使用多处理子进程解决Python中的死锁?

大学作业要求我们修改下面的代码以防止死锁,但不改变 main 函数。 现在,它陷入了死锁,因为锁最终等待...

回答 1 投票 0

如何使用并行加速优化

我正在使用scipy中的optimize.minimize进行优化,说目标函数很有趣。 我需要对数据帧的每一行进行优化,目前我正在使用 joblib 中的 Parallel:

回答 1 投票 0

在Python多重处理中使用自定义数据类型实现微秒级数据检索

问题描述: 我目前正在开发一个Python项目,该项目涉及多处理并需要高效的数据通信。我正在处理的数据存储在一个列表中,每个元素......

回答 1 投票 0

如何使用Python的多处理和共享内存以及Array('c',fixed_length)在进程之间传递字符串数据

我查看了过去有关使用多处理和共享内存共享Python字符串数据的问题,但似乎尚未解决。 我知道我可以使用代码在进程之间共享数字和数组...

回答 1 投票 0

如何快速并行执行for循环(Python)

我正在使用Python构建一个股票市场交易工具。经纪商公司目前发布了一个 python sdk,我们可以使用它来开发软件。 当我向...发送请求时,问题就出现了

回答 1 投票 0

为什么稳定基线 3 中的多处理速度较慢?

我采用了 Stable Baselines 3 的多处理示例,一切都很好。 https://colab.research.google.com/github/Stable-Baselines-Team/rl-colab-notebooks/blob/sb3/multiprocessing_rl.ipynb#sc...

回答 1 投票 0

多处理中的多变量与一个公共

我有一个Python脚本和一个需要使用多处理执行的函数,但是,该函数的参数之一(df)对于每次调用都是相同的。让我用代码来解释一下: 定义

回答 1 投票 0

为什么这个process.join()不让这个程序等待所有进程完成?

我正在尝试编写一个程序(在Python中),该程序将与图像中的关键颜色相似的所有点隔离开来,当我尝试使用多处理来优化它时遇到了问题。过程...

回答 1 投票 0

如何维护进程池

我有一个项目,其中运行多个进程来执行多个作业,这些作业通过队列分发。 队列 = multiprocessing.Queue() 进程 = multiprocessing.spawn( 运行算法, 参数=...

回答 1 投票 0

Seurat FindClusters() 似乎在一次迭代后冻结了

我尝试在 RedHat Linux HPC 上使用以下命令在大约 20G、300K 单元的数据集上运行 FindClusters(): df <- FindClusters(df, resolution=seq(0.01,1,by=0.1), verbose = TRUE,

回答 1 投票 0

Python 多重处理 - 获取免费 GPU

我并行运行一个函数,每个工作线程都可以访问一个 ID 为 0 或 1 的 GPU。 def f(GPU_id, arg): # 选择要使用的 GPU。 os.environ["CUDA_VISIBLE_DEVICES"]=str(GPU_id) # 做点什么...

回答 2 投票 0

Cron 在多个服务器实例上运行

我在 Spring Boot 中有一个 cron (部署在多个服务器上),我想根据时间戳列从表 * 中获取“n”条记录。 并将 is_processed 字段更新为 true 一次

回答 1 投票 0

Python 多处理正在降低性能

为了理解并行化,我在模块多处理上编写了一个玩具脚本。我绘制了下图,结论是我的实现提高了性能

回答 1 投票 0

如何从工作进程将计数器返回给 GUI,同时尽可能减少工作进程的阻塞以及尽可能少地等待 gui?

我有一个图形用户界面,可以在单独的进程中启动两个单独的程序(可以并行运行)。 我想在程序运行时更新集体进度条。到目前为止我一直在做...

回答 1 投票 0

arm gcc:没有易失性的获取-释放?

我尝试使用共享索引来指示数据已写入共享循环缓冲区。有没有一种有效的方法可以在 ARM(arm gcc 9.3.1 with -O3)上执行此操作,而不使用 discoura...

回答 1 投票 0

运行多进程时无法获取属性函数

我想比较使用多重处理和普通线性函数时的速度。 我的代码看起来像这样 来自多处理导入池、管理器 导入时间 从 faker 导入 Faker 行数...

回答 1 投票 0

python 中的多处理:AttributeError

我正在尝试使用多重处理,但我不断收到此错误: AttributeError:无法在 上获取属性“processLine” 我正在尝试使用多处理,但我不断收到此错误: AttributeError: Can't get attribute 'processLine' on <module '__main__' (processLine函数返回word,所以我猜问题就在这里,但我不知道如何解决它) import multiprocessing as mp pool = mp.Pool(4) jobs = [] Types =[] def processLine(line): line = line.split() word = line[0].strip() return word with open("1.txt", "r", encoding = "utf-8") as f: for line in f: word = (jobs.append(pool.apply_async(processLine,(line)))) Types.append(word) filtered_words=[] with open("2.txt", "r", encoding = "utf-8") as f: for line in f: word = jobs.append(pool.apply_async(processLine,(line))) if word in Types: filtered_words = "".join(line) print(filtered_words) for job in jobs: job.get() pool.close() 这就是我得到的: 进程 ForkPoolWorker-1: 处理 ForkPoolWorker-2: 处理 ForkPoolWorker-3: 处理 ForkPoolWorker-4: 回溯(最近一次调用最后一次): 文件“/Users/user/anaconda/lib/python3.6/multiprocessing/process.py”,第 249 行,在 _bootstrap 中 self.run() 文件“/Users/user/anaconda/lib/python3.6/multiprocessing/process.py”,第 93 行,运行中 self._target(*self._args, **self._kwargs) 文件“/Users/user/anaconda/lib/python3.6/multiprocessing/pool.py”,第108行,在worker中 task = get() 文件“/Users/user/anaconda/lib/python3.6/multiprocessing/queues.py”,第345行,在get中 返回_ForkingPickler.loads(res) AttributeError:无法在 上获取属性“processLine” 回溯(最近一次调用最后一次): 回溯(最近一次调用最后一次): 回溯(最近一次调用最后一次): 文件“/Users/user/anaconda/lib/python3.6/multiprocessing/process.py”,第 249 行,在 _bootstrap 中 自我运行() 文件“/Users/user/anaconda/lib/python3.6/multiprocessing/process.py”, 第 249 行,在 _bootstrap self.run() 文件“/Users/user/anaconda/lib/python3.6/multiprocessing/process.py”,第 93 行,运行中 self._target(*self._args, **self._kwargs) 文件“/Users/user/anaconda/lib/python3.6/multiprocessing/process.py”,第 93 行,运行中 self._target(*self._args, **self._kwargs) 文件“/Users/user/anaconda/lib/python3.6/multiprocessing/pool.py”,第108行,在worker中 task = get() 文件“/Users/user/anaconda/lib/python3.6/multiprocessing/pool.py”,第108行,在worker中 任务=获取() 文件“/Users/user/anaconda/lib/python3.6/multiprocessing/queues.py”,第 345 行,在 get 中 返回 _ForkingPickler.loads(res) 文件“/Users/user/anaconda/lib/python3.6/multiprocessing/process.py”,第 249 行,在 _bootstrap 中 自我运行() 文件“/Users/user/anaconda/lib/python3.6/multiprocessing/queues.py”,第 345 行,在 get 中 返回 _ForkingPickler.loads(res) 文件“/Users/user/anaconda/lib/python3.6/multiprocessing/process.py”,第 93 行,运行中 self._target(*self._args, **self._kwargs) AttributeError:无法获取属性“processLine” AttributeError:无法获取属性“processLine” 文件“/Users/user/anaconda/lib/python3.6/multiprocessing/pool.py”,第 108 行,在worker中 任务=获取() 文件“/Users/user/anaconda/lib/python3.6/multiprocessing/queues.py”, 第 345 行,在 get 中 return _ForkingPickler.loads(res) AttributeError:无法在 上获取属性“processLine” multiprocessing模块需要能够安全地导入您的模块。任何不在函数或类内部的代码都应该受到标准 Python 导入保护的保护: if __name__ == '__main__': ...code goes here... 但是您的代码还存在其他问题。例如,您有: word = jobs.append(pool.apply_async(processLine,(line))) ...但是 append 不返回值,因此这将始终将 None 分配给 word。 您可能需要考虑使用 for,而不是使用 pool.apply_async 循环重复调用 pool.map_async,或者如果您实际上不需要异步行为,则仅使用 pool.map。 我通过在管理员模式下使用 VS Code 而不是 Anaconda Spyder 来运行它来解决 AttributeError 问题。 我也遇到了同样的问题。因此,我将所有函数放在另一个 .py 文件中并导入 ipnyb,并在主函数中调用它们。

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.