Я оцениваю re snet -50 для некоторых изображений. Я написал свой собственный код предварительной обработки. Этот код работает быстро на локальной машине, на которой нет графического процессора. Теперь, когда я выполняю тот же код на компьютере кластера, который имеет 2 GPU, эта часть кода работает слишком медленно, примерно в 10-20 раз медленнее, чем на локальной машине. Бывают моменты, когда в кластере работает только мой код, который имеет более 16 ядер.
Я работаю python в среде анаконды. Недавно была проблема с драйвером графического процессора, она была исправлена, я думаю, что после этой проблемы только я сталкиваюсь с этой проблемой.
from torchvision import transforms
import torch
import time
data_transforms = {
'train': transforms.Compose([
transforms.Scale(256),
transforms.RandomSizedCrop(224),
transforms.RandomHorizontalFlip(),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
]),
'val': transforms.Compose([
transforms.Scale(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
]),
}
data_transforms_1 = {
'train': transforms.Compose([
transforms.Grayscale(3),
transforms.Scale(256),
transforms.RandomSizedCrop(224),
transforms.RandomHorizontalFlip(),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
]),
'val': transforms.Compose([
transforms.Grayscale(3),
transforms.Scale(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
]),
}
def preprocess_image(array, split_type, use_gpu = True, gpu_name = 'cuda:0'):
if(split_type == 'test'):
split_type = 'val'
array_preprocess = []
for i in array:
if(i.mode == 'L'):
array_preprocess.append( data_transforms_1[split_type](i) )
else:
array_preprocess.append( data_transforms[split_type](i) )
if( use_gpu == True ):
array_preprocess = torch.stack(array_preprocess).cuda(gpu_name)
else:
array_preprocess = torch.stack(array_preprocess)
return array_preprocess