[英]Image path problem when executing Python multiprocessing
import numpy as np
import tensorflow as tf
import pandas as pd
from keras.preprocessing.image import array_to_img, img_to_array, load_img
import time
from multiprocessing import Pool
def b(path):
for f in path:
print (f)
new_img = load_img(f,target_size=(256,256))
arr_img = img_to_array(new_img)
return arr_img
def main():
start = int(time.time())
num_cores = 4
pool = Pool(num_cores)
pool.map(b, 'C:\\Users\\003.png')
print("***run time(sec) :", int(time.time()) - start)
if __name__ == "__main__":
main()
错误信息
load_img
with open(path, 'rb') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'C'
即使将其作为变量如下所示,错误消息也是相同的。
def main():
start = int(time.time())
num_cores = 4
pool = Pool(num_cores)
bb = 'C:\\Users\\003.png'
pool.map(b, bb)
print("***run time(sec) :", int(time.time()) - start)
这段代码有问题。 pool.map(b, 'C:\\Users\\003.png')
您正在使用 map,第一个参数是一个函数(这对您来说没问题),第二个需要是可迭代的,所以它需要像(例如列表) ['C:\\Users\\003.png']
因为你给它像'C:\\Users\\003.png'
map 试图像 C 一样迭代它,然后:\ 等等。 这是抛出错误。 所以请将您的代码更改为(即列表)
pool.map(b, ['C:\\Users\\003.png'])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.