我有一个巨大的视频数据集,我使用一个名为process.py
的python脚本处理。问题是,处理包含6000个视频的所有数据集需要很多时间。因此,我想到了将这个数据集划分为4个,并将相同的代码复制到不同的Python脚本(例如process1.py
、process2.py
、process3.py
、process3.py
)中,然后用数据集的一部分在不同的shell上运行每个数据集。
我的问题是这会给我带来什么性能方面的东西吗?我有一台10核的机器,所以如果我能利用这种多核结构,那将是非常有益的。我听说了Python的multiprocessing
模块,但不幸的是,我对它了解不多,而且我没有编写脚本,因为我会使用它的特性。用不同的外壳开始每个脚本的想法是毫无意义的吗?有没有办法选择每个脚本将使用哪个内核?
multiprocessing
文档(https://docs.python.org/2/library/multiprocessing.html)实际上相当容易理解。这个部分(https://docs.python.org/2/library/multiprocessing.html#using-a-pool-of-workers)应该特别相关您绝对不需要同一脚本的多个副本。这是一种可以采用的方法:
假设它是现有脚本的一般结构(
process.py
)。使用
multiprocessing
,您可以在单独的进程中启动函数convert_vid
。总体方案如下:相关问题 更多 >
编程相关推荐