я пытаюсь реализовать Джордан net с некоторыми плотными слоями, я хочу объединить выходные данные net с входными данными (я хочу, чтобы сеть видела свои последние предсказанные значения, но сейчас заставляю ее работать достаточно только последнего значения). Я использую пользовательскую модель в Keras 2. Я попробовал все, но есть ошибка при слиянии (слой), независимо от того, что я использую tf.concat или tf.keras.layers.concatenation. модель может скомпилироваться, но она не будет обучаться или предсказывать.
error is ---> AttributeError: у объекта 'Concatenate' нет атрибута 'shape'
class Jordan (tf.keras.Model):
def __init__(self,num_feedback=1):
super().__init__()
self.feedback = np.zeros((1,num_feedback))
self.l1 = tf.keras.layers.Dense(32, activation='relu')
self.l2 = tf.keras.layers.Dense(16, activation='relu')
self.outp = tf.keras.layers.Dense(1)
def call(self, inputss):
_concat = tf.concat ( [ self.feedback , inputss ] )
_1 = self.l1(_concat)
_2 = self.l2(_1)
_output = self.outp(_2)
self.feedback = _output
return _output
a = np.ones((100,6))
b = np.ones((100,1))
model = jordan(10)
model.compile(optimizer='adam',loss='MSE',metrics=['accuracy'])
model.fit(a,b,epochs=10)