nyoka AttributeError: слой никогда не вызывался и поэтому не имеет определенной формы ввода - PullRequest
0 голосов
/ 08 июля 2019

Я пытаюсь вывести обученную модель Tensorflow 2.0 в PMML, используя пакет nyoka.Когда я делаю это, это ошибки.Кажется, что проблема отличается от той, что была в этом ответе , хотя ошибка та же, потому что моя модель не имеет сложной функции создания и фактически обучается надлежащим образом и соответствующим образом трансформируется.

def create_and_train(x_training,y_training,n_cols_in,modelparams):
    layers = [tf.keras.layers.Dense(n_cols_in,activation="relu"),
    tf.keras.layers.Dropout(.5)]
    for param in modelparams:
        layers.extend([tf.keras.layers.Dense(param,activation="sigmoid"),tf.keras.layers.Dropout(.5)])
    layers.append(tf.keras.layers.Dense(1,activation="sigmoid"))
    model = tf.keras.models.Sequential(layers)
    model.compile(optimizer='adam', loss='binary_crossentropy', metrics=[tf.keras.metrics.AUC()])

    model.fit(x_training, y_training, epochs = epochs)
    with open("NN"+"_".join([str(m) for m in modelparams])+".pmml","w") as pmml_file:
        pmml = KerasToPmml(model)
        pmml.export(pmml_file)

Вместо файла PMML я получаю

AttributeError: The layer has never been called and thus has no defined input shape.

1 Ответ

0 голосов
/ 14 июля 2019

Это ошибка Tensorflow.Если вы можете напечатать input_shape и output_shape или веса для каждого слоя, вы сможете экспортировать их также с помощью Nyoka.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...