Как использовать все доступные вычислительные мощности в функции - PullRequest
0 голосов
/ 23 июня 2019

Мне нужна функция, которая изменяет их размер для заданного количества фотографий, использует все доступные вычислительные мощности.Я обнаружил, что могу использовать функцию 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%, но ни одна из работ не завершена.Может ли кто-нибудь помочь мне понять, что я делаю неправильно?

...