Я хочу создать пользовательскую функцию потерь, но всегда получаю одну и ту же ошибку: "ValueError: Операция имеет None
для градиента. Пожалуйста, убедитесь, что все ваши операции имеют определенный градиент (то есть являются дифференцируемыми). Общие операциибез градиента: K.argmax, K.round, K.eval. "
Я создал простой пример, в котором моя функция потерь вычисляется в y_true.
def build_shared_model(inputs_count, outputs_count):
x = y = Input(shape=(inputs_count,))
y = Dense(16)(x)
y = Activation('relu')(y)
y = Dense(16)(y)
y = Activation('relu')(y)
y = Dense(outputs_count)(y)
def custom_loss(y_true, y_pred):
return y_true
model = Model(x, y)
model.compile(Adam(lr=0.001), loss=custom_loss)
return model
if __name__ == '__main__':
network = build_shared_model(4, 1)
x = np.zeros((10, 4)) # dump input instead real inputs
y = np.zeros(10) # dump y_true instead some equation
network.fit(x, y, verbose=0)
Я не знаюотремонтировать его. Вы можете мне помочь?