Как исправить ошибку Tensorflow Keras AttributeError? - PullRequest
0 голосов
/ 29 апреля 2019

Я строю сиамскую сеть, используя Tensorflow 2.0 и tf.keras.Когда я закончил чистить код и начал тренироваться, выскочила ошибка.

Я использовал этот класс из следующего кода , который я нашел в Интернете.Я добавил tensorflow.keras (в некоторых случаях tensorflow.python.keras) вместо keras, чтобы избежать проблем с совместимостью.Я также удалил ненужную нейронную сеть, так как я буду использовать класс как шаблон.

Используя VGG19 в качестве своей базы, я написал следующий код:

base = VGG19(weights='imagenet', include_top=False)

'''Inputs'''
inputA = base.input
inputB = base.input

'''Twin networks'''
net1 = base(inputA)
net2 = base(inputB)

'''Connecting the networks'''
normalized_layer = Normalized_Correlation_Layer(stride = (1,1), patch_size = (5, 5))([net1, net2])

'''Connecting the final layers'''
layer = Dense(1024, activation='relu')(normalized_layer)
layer = Dropout(0.2)(layer)
layer = Dense(1, activation='sigmoid')

model = Model(inputs=[inputA, inputB], outputs=layer)
model.summary

Я ожидал визуализации выходной сети, но вместо этого получил это:

Traceback (most recent call last):
  File "C:\Users\AyazA\Desktop\VOSNet\train.py", line 34, in <module>
    normalized_layer = NCL(stride = (1,1), patch_size = (5, 5))([net1, net2])
  File "C:\Python36\lib\site-packages\tensorflow\python\keras\engine\base_layer.py", line 612, in __call__
    outputs = self.call(inputs, *args, **kwargs)
  File "C:\Users\AyazA\Desktop\VOSNet\backend\normalized_correlation.py", line 62, in call
    inp_shape = input_1._keras_shape
AttributeError: 'Tensor' object has no attribute '_keras_shape'

Я проверил строку 62 своего кода, и я не нашел ничего плохого в этом.Вот полный код , если это поможет.

...