RMSProp Optimizer tensorflow\python\training\rmsprop.py
では、ランダムノイズをアルゴリズムに導入しようとしました。TensorFlowでrandom_opsを実行すると、TypeErrorが発生する
私はランダムな値を返すようにrnd = random_ops.random_normal()
を呼び出しました。私はtraining_ops.apply_rms_prop(...., rnd, ...).opを実行したときしかし、TypeError
が起こります
その後
TypeError: Input 'rnd' of Op requires l-value input
バックtensorflow\python\framework\op_def_library.pyでTypeError
にトレース、
if not all(x.is_ref_dtype for x in types):
raise TypeError(
"Input '%s' of '%s' Op requires l-value input" % (input_name, op_type_name))
私はrandom_ops.random_normal()
の出力はApplyRMSProp Op
の参照型ではないことをので、それはあると思います。だから私の質問は、それを参照DTypeに変換する方法です?
tensorflow\python\training\rmsprop.py
で、引数が非参照DTYPE
math_ops.cast(self._learning_rate_tensor, var.dtype.base_dtype)
に変換されているので、多分私は
のように、tensorflow\python\framework\dtypes.py
でas_ref
機能を試すことに注意してください
math_ops.cast(rnd, var.dtype.as_ref)