私はこの単純なモデル(5チャンネル)を持っていると私はそれはそれは素晴らしい作品と私は完璧なゼロ損失を得る秒1損失計算におけるKerasコンポーネントの選択に
import keras
import numpy as np
import keras.backend as K
data = np.random.normal(size = (1000, 5))
model = keras.models.Sequential()
model.add(keras.layers.Dense(10, activation = 'linear',input_shape = (5,)))
model.add(keras.layers.Dense(1, activation = 'linear'))
def loss(x, y):
return K.mean(K.square(x - y))
model.compile('adam', loss)
model.fit(data, data[:, 1], epochs = 100)
を返すことを期待しています。
少し調整すると(出力に余分なチャンネルが追加されます)、2番目のチャンネルについて気にしないと決めました。
私はそれがこのように変更します。
import keras
import numpy as np
import keras.backend as K
data = np.random.normal(size = (1000, 5))
model = keras.models.Sequential()
model.add(keras.layers.Dense(10, activation = 'linear',input_shape = (5,)))
model.add(keras.layers.Dense(2, activation = 'linear'))
def loss(x, y):
return K.mean(K.square(x - y[:, 0]))
model.compile('adam', loss)
model.fit(data, data[:, 1], epochs = 100)
そして今、訓練することは不可能です。私には狂っているようだ。誰が何が起きているのか知っていますか?
PS:この例は馬鹿に思えるかもしれませんが、より複雑な問題では私はカスタム損失を計算する必要があり、問題をこの単純な例に減らしました。
は私が最終的に修正(および潜在的な説明を)持って苦労の時間後にあなたの助け