0
TensorFlowでテンソル、変数、およびopsをプログラム的に区別する良い方法はありますか?たとえば、モデルをリロードするときに、tf.local_variables()
にテンソルと変数の両方を含めることができます。テンソルを初期化しようとすると、エラーが発生します。TensorFlowでテンソル、変数、およびOpsをプログラムで区別する
以下は私の現在のハックのコードですが、もっと良い方法がありますか?問題の一部は、変数、テンソルなどのタイプがたとえばtensorflow.python.ops.variables.Variable
であることですが、tensorflow.python
にアクセスできなくなっているようです(これは以前のリリースのものでしたか?)。この例では変数対テンソルしか示されていませんが、以前は関数とテンソルを区別する必要があり、同様のハックを使用しなければなりませんでした。
import tensorflow as tf
vars_list = [tf.Variable(0), tf.constant(0)]
# init = tf.variables_initializer(vars_list) # -> AttributeError: 'Tensor' object has no attribute 'initializer'
var_type = type(tf.Variable(0))
init = tf.variables_initializer([v for v in vars_list if type(v) == var_type])