несоответствие размеров, m1: [3584 x 28], м2: [784 x 128] в /pytorch/aten/src/TH/generic/THTensorMath.cpp:940

Короче говоря:

В последней итерации

for(int i = 0; i<=name.length; i++) {

i будет равно name.length, что является незаконным индексом, так как индексы массива равны нулю, основанный.

Ваш код должен читать

for(int i = 0; i < name.length; i++) 
                 ^
1
задан kHarshit 16 January 2019 в 17:08
поделиться

1 ответ

Ваши входные данные MNIST имеют форму [256, 1, 28, 28], соответствующую [B, C, H, W]. Вам необходимо сгладить входные изображения в один длинный вектор 784 перед подачей его на линейный слой Linear(784, 128), чтобы входное значение стало [256, 784], соответствующее [B, N], где N равно 1x28x28, вашему размеру изображения. Это можно сделать следующим образом:

for data, target in trainloader:

        # Flatten MNIST images into a 784 long vector
        data = data.view(data.shape[0], -1)

        optimizer.zero_grad()
        ...

То же самое необходимо сделать в цикле проверки.

0
ответ дан kHarshit 16 January 2019 в 17:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: