означает [:, Нет, Нет] падает в Pytorch / Jupyter - PullRequest
0 голосов
/ 30 сентября 2019

У меня ранее были эти «data_transforms», которые я использовал для создания загрузчика данных:

data_transforms_train = transforms.Compose([
    transforms.Resize((512, 512)),
    transforms.RandomVerticalFlip(),
    transforms.RandomHorizontalFlip(),
    transforms.ToTensor()
])

Все работало нормально, и я мог без проблем тренировать свою модель.
Я решил включитьшаг нормализации в конце преобразований:

data_transforms_train = transforms.Compose([
    transforms.Resize((512, 512)),
    transforms.RandomVerticalFlip(),
    transforms.RandomHorizontalFlip(),
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.8979], std=[0.3025])
])

Добавление этого запуска вызвало сбой моего ноутбука. Другими словами, я не получил сообщение об ошибке Python, но ядро ​​ноутбука продолжало зависать и перезапускаться.
Сначала я подумал, что это ошибка памяти, поэтому я изменил свой batch_size на 1, чтобы проверить, но это не былопроблема.

Я попытался проверить, поэтому применил преобразования по одному и скопировал исходный код "to_normalize" из https://pytorch.org/docs/stable/_modules/torchvision/transforms/functional.html

training_set = Dataset(partition['train'], labels, transform=None)
d = transforms.functional.resize(training_set.__getitem__(3)[0], (512,512))
x = transforms.functional.to_tensor(d)
# Normalization code
mean, std = [0.7], [0.3025]
mean, std = torch.as_tensor(mean, dtype=x.dtype, device=x.device), torch.as_tensor(std, dtype=x.dtype, device=x.device)

Пока все хорошо. Когда я добавляю это:

tensor.sub_(mean[:, None, None]).div_(std[:, None, None])

Ноутбук снова вылетает (без ошибок Python, только сбой и перезапуск ядра). Когда я изолировал части, оказалось, что среднее значение [:, Нет, Нет] (или / также std [:, Нет, Нет]) приводит к сбою ноутбука.

Кто-нибудь знает, почему это происходит?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...