私は、本質的に区分されている、tensorflowにこのような何かカスタム費用関数を定義する必要があります正確にどのように私はtf.py_funcが存在することを承知していますが、私はわからないよTensorflowカスタム区分的費用関数
def f1(a,b):
pass #Will do Calculation on a and b
def f2(a,b):
pass #Will do Calculation on a and b
def customCostFunction(calculated,target):
if(target > 0): #Trivial Criteria
return f1(calculated,target)
else:
return f2(calculated,target)
を上記の場合に使用してください。本質的には、各テンソル(予測対目標)の各値について、私は予測値と目標値を私が定義した関数に渡す必要があります。これは渡された値によって若干異なる結果を返します2つの厳密に異なる学習事例)。
そして、トレーニングステップは次のように定義されます。
train = tf.train.AdamOptimizer(learning_rate = LEARNING_RATE).minimize(tf.reduce_sum(customCostFunction(model,targets),0))
はいいいえ、あなたの前提は正しいです。両方とも同じ次元。 1つはプレースホルダ、もう1つは可変です。 –
もしあなたが簡単な条件のためにブールテンソルを作ることができれば、それを使って 'tf.map_fn(f1、concat_both)'と 'tf.map_fn(f1、concat_both)'から要素を選択してください。 。あなたの '(計算された、ターゲットとなる)'タプルのそれぞれが 'f1'と' f2'の両方を通過するので、これは少し最適ではありません –
動作しません。不平を言うf1は2つの位置的な引数を必要としますが、1つのみ与えます。 –