Python 如何利用多线程能力呢?

2021-10-29 14:05:28 +08:00
 sadfQED2

机器学习炼丹过程中,图片预处理速度完全跟不上训练速度。看了下电脑 cpu 和内存,才占用 20%不到,有啥办法提升下吗

伪代码

im = openImg("xxxx.png") # 已经确定这里不是瓶颈,磁盘 io 没问题
im=dosome(im)  # 图片预处理(主要是裁剪,缩放,修改格式等待),使用 pillow 库  ,目前瓶颈在这里

data = nnumpy.array(im) # 转成数组

# 提交 TensorFlow 炼丹

想问下,dosome 那一步有什么办法并发吗?

1255 次点击
所在节点    Python
3 条回复
fgwmlhdkkkw
2021-10-29 17:51:58 +08:00
你都说了多线程呀。虽然有 GIL ,但是依然会有提升的。
fgwmlhdkkkw
2021-10-29 17:52:40 +08:00
也可以开多个进程,每个进程负责一部分图片。
imycc
2021-10-31 06:06:42 +08:00
IO 多的可以用多线程,计算多的用多进程,去看下 multiprocessing 这个库咯

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/811521

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX