1
現在のstep
に基づいて定義(および値)を変更する変数epsilon_n
を作成する必要があります。 2つ以上のケースがあるので、tf.cond
を使用できないようです。私は次のことを試してみましたTesnorflow:入力引数にtf.caseを使用できません
TypeError: <lambda>() missing 1 required positional argument: 'step'
:
epsilon_n = tf.case(
pred_fn_pairs=[
(tf.less(step, 3e4), fn1),
(tf.less(step, 6e4), fn2),
(tf.less(step, 1e5), fn3)],
default=lambda: tf.constant([1e5]),
exclusive=False)
それでも私は同じエラーだろうしかし、私はこのエラーメッセージが出続ける
import tensorflow as tf
####
EPSILON_DELTA_PHASE1 = 33e-4
EPSILON_DELTA_PHASE2 = 2.5
####
step = tf.placeholder(dtype=tf.float32, shape=None)
def fn1(step):
return tf.constant([1.])
def fn2(step):
return tf.constant([1.+step*EPSILON_DELTA_PHASE1])
def fn3(step):
return tf.constant([1.+step*EPSILON_DELTA_PHASE2])
epsilon_n = tf.case(
pred_fn_pairs=[
(tf.less(step, 3e4), lambda step: fn1(step)),
(tf.less(step, 6e4), lambda step: fn2(step)),
(tf.less(step, 1e5), lambda step: fn3(step))],
default=lambda: tf.constant([1e5]),
exclusive=False)
を:私は次のようにtf.case
を使用しようとしています。 Tensorflowのドキュメントの例では、入力可能な引数が呼び出し可能な関数に渡されない場合に重視されます。私はインターネット上のtf.caseに関する十分な情報を見つけることができませんでした!助けてください?
固定小数のタイプミス –