2017-10-01 11 views
0

私の質問として、私はクラスを定義します。では、私はいくつかの新しいtf value.Andグローバル、init local.Evenメインスクリプト。tensorflowクラス内で初期化されていない値Wを使用しようとしています

class DNN(): 
    def __init__(self): 
     kernel_shape = [3,3] 
     self.c11w = tf.Variable(tf.truncated_normal(kernel_shape + [3, 64], stddev=0.1), name = 'W')) 
     with tf.Session() as sess: 
      sess.run(tf.global_variables_initializer()) 
      sess.run(tf.local_variables_initializer()) 

同様this.And未経験error.Soは、私はちょうど空、tf.report_uninitialized_variables()を呼び出します。

だから、なぜ、どのように、おかげで多くを知りたいですか?

+0

:pythonでOOコードにTFを統合するための

典型的なパターンは、行の中でものになるだろう。 'W'はどこですか? – roganjosh

+0

Wはtf値で、initに定義されています –

+0

initで定義されていない点を除きます。それ以外の場合はあなたのコードにあります – roganjosh

答えて

2

TFでは、変数値はセッションでのみ有効です。セッションが終了すると、もはや値はありません。したがって、現在のコードでは、変数を作成し、初期化してからすべて破棄します。申し訳ありませんが、これは答えることは不可能である

class MLobject(): 
    def __init__(self): 
    self._graph = tf.Graph() # separate graph per instance 
    with self._graph.as_default(): 
     variable_1 = .... 
     ... 
     self._initialiser = tf.global_variables_initializer() 
    self._session = tf.Session(graph=self._graph) # store session in a field 
    self._graph.finalize() # For safety, this should not be modified anymore 

    def fit(self, X, y): 
    self._session.run(self._initialiser) 
    ... # execute training using self._session 
関連する問題