Я строю сиамскую сеть, используя 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 своего кода, и я не нашел ничего плохого в этом.Вот полный код , если это поможет.