Я пытаюсь построить модель в тензорном потоке, расширяя класс 'Модель' в тензорном потоке. Мне нужно передать два аргумента в функцию 'call' этого класса, входные изображения x (224,224,3) и выходную метку y. Но я получаю следующую ошибку при построении модели:
ValueError: В настоящее время вы не можете построить вашу модель, если она имеет позиционные или ключевые аргументы, которые не вводятся в модель, но необходимы для ее 'вызов метода.
class myCNN(Model):
def __init__(self):
super(myCNN, self).__init__()
base_model = tf.keras.applications.VGG16(input_shape=(224,224,3), weights='imagenet')
layer_name = 'block5_conv3'
self.conv_1 = Model(inputs=base_model.input, outputs=base_model.get_layer(layer_name).output)
self.flatten = L.Flatten(name='flatten')
self.fc1 = L.Dense(1000, activation='relu', name='fc1')
self.final = L.Activation('softmax')
# The problem is because I need y
def call(self, x, y):
x = self.conv_1(x)
x = self.flatten(x)
x = self.fc1(x)
return self.final(x)
model = myCNN()
model.build((None, 224, 224, 3, 1))