У меня есть сложная модель keras, в которой один из слоев является пользовательским предварительно подготовленным слоем, который ожидает "int32" в качестве входных данных. Эта модель реализована в виде класса, который наследуется от Model, и реализована так:
class MyModel(tf.keras.models.Model):
def __init__(self, size, input_shape):
super(MyModel, self).__init__()
self.layer = My_Layer()
self.build(input_shape)
def call(self, inputs):
return self.layer(inputs)
Но когда он достигает метода self.build
, он выдает следующую ошибку:
ValueError: You cannot build your model by calling `build` if your layers do not support float type inputs. Instead, in order to instantiate and build your model, `call` your model on real tensor data (of the correct dtype).
Как я могу это исправить?