Мне нужна функция, которая изменяет их размер для заданного количества фотографий, использует все доступные вычислительные мощности.Я обнаружил, что могу использовать функцию parallel
для этого, но я не знаю, как правильно ее использовать.
Вот мой код:
from random import randint
from fastai.core import parallel
import cv2
def image_conversion(list, size, directory, conversion):
if conversion == '--resize':
for img in list:
imageAsNumpy = cv2.imread(img)
dim = (size[1], size[0])
resized = cv2.resize(imageAsNumpy, dim, interpolation = cv2.INTER_AREA)
writeStatus = cv2.imwrite(directory + img, resized)
if writeStatus is True:
print('Imagine written successfully!')
else:
print('Something went wrong!')
elif conversion == '--random crop':
for img in list:
image = cv2.imread(img)
height, width = image.shape[:2]
h = randint(0, height)
w = randint(0, width)
cropped = image[h:h+width, w:w+height]
status = cv2.imwrite(directory + img, cropped)
if status is True:
print('Imagine cropped')
else:
print('Problem')
Но когда я попыталсявызовите parallel
функцию, она каждый раз выходит из строя, например, индикатор выполнения достигает 100%, но ни одна из работ не завершена.Может ли кто-нибудь помочь мне понять, что я делаю неправильно?