python 批量resize效能比較

ShellCollector發表於2019-03-04

torch是最快的,能快1ms

分別是5ms 9ms  6ms,但是torch 佔用cpu很高。

 

import time

import cv2
import torch

img = cv2.imread('d:/guo.jpg')  # modify the image path to yours
img =cv2.cvtColor(img, cv2.COLOR_BGR2RGB)


pic_w=1200
start=time.time()
tensor_in = torch.FloatTensor(img)
for i in range(10):
    pic_w = int(pic_w * 0.8)
    tensor_in = tensor_in.resize_(pic_w,pic_w,3)

print('time0',time.time()-start)
pic_w=1200
start=time.time()
for i in range(10):
    pic_w=int(pic_w*0.8)
    a=cv2.resize(img,(pic_w,pic_w))

print('time1',time.time()-start)

pic_w = 1200
start = time.time()
for i in range(10):
    pic_w = int(pic_w * 0.8)
    img= cv2.resize(img, (pic_w, pic_w))

print('time2', time.time() - start)

 

torch.Tensor特別佔用時間,下面程式碼需要58ms

pic_w=1200
start=time.time()

for i in range(10):
tensor_in = torch.FloatTensor(img)
pic_w = int(pic_w * 0.8)
tensor_in = tensor_in.resize_(pic_w,pic_w,3)

 

 

接著往下看:

這個最牛:幾乎不需要時間:

pic_w=1200
start=time.time()

for i in range(10):
    tensor_in = torch.from_numpy(img)
    pic_w = int(pic_w * 0.8)
    tensor_in = tensor_in.resize_(pic_w,pic_w,3)

相關文章