Как дать несколько аргументов в функции вызова функции tenorflow? - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь построить модель в тензорном потоке, расширяя класс 'Модель' в тензорном потоке. Мне нужно передать два аргумента в функцию '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))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...