API подкласса Tensorflow Keras, как определить сборку, чтобы определить input_shape и сохранить модель? - PullRequest
0 голосов
/ 29 марта 2020

См закомментированные строки с сообщением об ошибке. Вы получаете разные ошибки в зависимости от того, что вы комментируете. AFAIK, вам нужно только определить сборку и задать форму ввода, позвоните super et c. Но, похоже, ничего не работает. Я сделал это минимальным. Очевидно, в моем первоначальном случае были слои и та же проблема.

import numpy as np
import tensorflow as tf

class Test(tf.keras.models.Model):

    def __init__(self):
        super().__init__()

    def call(self, x):
        return x

    def build(self, input_shape):
        # self._set_inputs(input_shape) # ValueError: Model inputs are already set.
        super().build(input_shape) # AttributeError: The layer has never been called and thus has no defined input shape.
        self.built = True

model = Test()
x = np.random.randn(100, 4)
model(x)
print(model.input_shape)
# model.save('here.tf')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...