2017-05-23 5 views
0

J'utilise la bibliothèque Keras pour les vidéos en python. Ma version est Keras 2.0.2Keras: TypeError: ('Mot-clé argument non compris:', 'nb_depth')

kernel_size=3 
model = Sequential() 
    model.add(Convolution3D(nb_filters[0], kernel_size,nb_depth=nb_conv[0], nb_row=nb_conv[0], 
    nb_col=nb_conv[0],input_shape=(1, img_rows, img_cols, patch_size), 
    activation='relu')) 

Je reçois l'erreur suivante.

Using Theano Backened 
    Traceback (most recent call last): 
    File "F:/Project/codes/foreg.py", line 131, in <module> 
    input_shape=(1, img_rows, img_cols, patch_size), activation='relu')) 
    File "C:\Users\lenov\Anaconda3\envs\3dcnn\lib\site-packages\keras\legacy\interfaces.py", line 88, in wrapper 
    return func(*args, **kwargs) 
    File "C:\Users\lenov\Anaconda3\envs\3dcnn\lib\site-packages\keras\layers\convolutional.py", line 580, in __init__ 
    **kwargs) 
    File "C:\Users\lenov\Anaconda3\envs\3dcnn\lib\site-packages\keras\layers\convolutional.py", line 100, in __init__ 
    super(_Conv, self).__init__(**kwargs) 
    File "C:\Users\lenov\Anaconda3\envs\3dcnn\lib\site-packages\keras\engine\topology.py", line 277, in __init__ 
    raise TypeError('Keyword argument not understood:', kwarg) 
TypeError: ('Keyword argument not understood:', 'nb_depth') 

Aidez-moi avec cette erreur.

Répondre

0

Vous devez spécifier la taille du noyau juste après le nombre de filtres, tels que:

kernel_size = 3 
model.add(Convolution3D(nb_filters[0], kernel_size, nb_depth=nb_conv[0], nb_row=nb_conv[0], 
    nb_col=nb_conv[0],input_shape=(1, img_rows, img_cols, patch_size), 
    activation='relu')) 

De l'documentation:

kernel_size: An integer or tuple/list of 3 integers, specifying the width and height of the 3D convolution window. Can be a single integer to specify the same value for all spatial dimensions.

+0

J'ai donné la taille du noyau puis j'obtiens l'erreur ci-dessus. J'ai fait les changements –

+0

Il n'y a pas d'argument tel que "nb_depth", ou l'un des autres mots-clés que vous passez, d'ailleurs! Vous ne pouvez transmettre que des arguments correspondant aux mots-clés suivants: strides, remplissage, data_format, dilation_rate, activation, use_bias, kernel_initializer, bias_initializer, kernel_regularizer, bias_regularizer, activity_regularizer, kernel_constraint, bias_constraint. – michetonu

0

Comme le message d'erreur dit: vous n'avez pas fourni kernel_size argument pour le constructeur Convolution3D.

Découvrez documentation.

De la documentation:

Conv3D(filters, kernel_size, strides=(1, 1, 1), padding='valid', data_format=None, dilation_rate=(1, 1, 1), activation=None, use_bias=True, kernel_initializer='glorot_uniform', bias_initializer='zeros', kernel_regularizer=None, bias_regularizer=None, activity_regularizer=None, kernel_constraint=None, bias_constraint=None)

+0

J'ai ajouté le kernel_size mais ensuite j'obtiens l'erreur ci-dessus –

0

Je résolu mon problème en installant mkdocs

pip install mkdocs 

dans l'environnement de travail.