ValueError: отрицательный размер измерения, вызванный вычитанием 4 из 1 для 'conv3d_66 / convolution' - PullRequest
1 голос
/ 26 марта 2019

Я учусь писать свой первый код CNN-GAN в Jupyter Notebook.Мой Генератор создан и работает нормально.Однако у меня возникает эта ошибка при определении сети Discriminator с использованием conv3d в keras.Я попытался установить свой keras backend в Theano безуспешно.Любая помощь с благодарностью.Прикрепив мой код здесь в качестве ссылки.

#Creating the discriminator network (setting up hyperparameters)
dis_input_shape=(64,64,64,1)
dis_filters=[64,128,256,512,1]
dis_kernel_sizes=[4,4,4,4,4]
dis_strides=[2,2,2,2,1]
dis_paddings=['same','same','same','same','valid']
dis_alphas=[0.2,0.2,0.2,0.2,0.2]
dis_activations=    ['leaky_relu','leaky_relu','leaky_relu','leaky_relu','sigmoid']
dis_convolutional_blocks=5

from keras.layers import Input
from keras import backend as K  #Tried setting backend to Theano at this point, still didn't help
K.set_image_dim_ordering('th')
dis_input_layer=Input(shape=dis_input_shape)

#The first 3D Convolution block (This runs fine with no errors)
from keras.layers import Conv3D
from keras.layers import BatchNormalization
from keras.layers import LeakyReLU
a=Conv3D(filters=dis_filters[0],
        kernel_size=dis_kernel_sizes[0],
        strides=dis_strides[0],
        padding=dis_paddings[0])(dis_input_layer)
a=BatchNormalization()(a, training=True)
a=LeakyReLU(dis_alphas[0])(a)

#The next 4 3D Convolution Blocks (This is the code chunk with the error)
from keras.layers import Activation
from keras import backend as K
K.set_image_dim_ordering('th')
for i in range(dis_convolutional_blocks-1):
    a=Conv3D(filters=dis_filters[i+1],
            kernel_size=dis_kernel_sizes[i+1],
            strides=dis_strides[i+1],
            padding=dis_paddings[i+1])(a)
    a=BatchNormalization()(a,training=True)
    if dis_activations[i+1]=='leaky_relu':
        a=LeakyReLU(dis_alphas[i+1])(a)
    elif dis_activations[i+1]=='sigmoid':
        a=Activation(activation='sigmoid')(a)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...