CuPy требует больше времени для предварительной обработки изображения?Python

Программы на Python
Anonymous
CuPy требует больше времени для предварительной обработки изображения?

Сообщение Anonymous »

Код: Выделить всё

import cv2
import numpy as np
import cupy as cp
import time

def op_image(image):
start_time = time.time()
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
image = cv2.resize(image, (640, 480))
image_mean = np.array([127, 127, 127])
image = (image - image_mean) / 128
image = np.transpose(image, [2, 0, 1])
image = np.expand_dims(image, axis=0)
image = image.astype(np.float32)
print("Opencv End time : ",time.time() - start_time)

def Cu_image(image):
start_time = time.time()
image = cp.array(image)
image = cp.ascontiguousarray(image[:, :, ::-1])
image = cp.resize(image, (640, 480,3))
image_mean = cp.array([127, 127, 127])
image = (image - image_mean) / 128
image = cp.transpose(image, (2, 0, 1))
image = cp.expand_dims(image, axis=0)
image = cp.expand_dims(image, axis=0)
image = image.astype(cp.float32)
print("Cupy End time : ",time.time() - start_time)

image = cv2.imread("/home/nextbrain-ssd/Vision/cctv-server/assets/event_created_images/camera_0_9_509_2024-05-23T04:14:32.931834Z.jpg")
op_image(image=image)
image = cv2.imread("/home/nextbrain-ssd/Vision/cctv-server/assets/event_created_images/camera_0_9_509_2024-05-23T04:14:32.931834Z.jpg")
Cu_image(image=image)

Output:

Opencv End time :  0.00825643539428711
Cupy End time :  0.10329556465148926

Приведенный выше код предварительно обрабатывает изображение с использованием двух разных библиотек: OpenCV (ЦП) и CuPy (ГП). Удивительно, но CuPy занимает больше времени по сравнению с OpenCV. OpenCV обрабатывает изображение с помощью процессора, а CuPy использует графический процессор. Я ожидал, что CuPy будет быстрее, но все наоборот. Почему CuPy занимает больше времени, чем OpenCV?

Подробнее здесь: https://stackoverflow.com/questions/785 ... -the-image

Вернуться в «Python»