2016-04-04 12 views
0

私はTensorFlowライブラリでPython 2.7を使用しています。このライブラリには、tf.constant(3)というデータ型があり、値3の定数浮動小数点数を意味します。初期化時に値を割り当てる必要があり、変更できません.C++のconstと同様です。TensorFlowでの定数の定義

私のコードでは、私は最初にこの定数の値を知りません。代わりに、関数を呼び出す必要があります。関数は何らかの処理を行い、次に定数を作成します。例えば、定数がx呼び出された場合:

def initialise_x(): 
    # 
    # Do some stuff 
    # 
    y = ... 
    x = tf.constant(y) 

これに伴う問題、x機能initialise_x()の範囲外で利用可能ではないということです。

だから、私のような何かをしたい:

x = tf.constant(0) 

def initialise_x(): 
    # 
    # Do some stuff 
    # 
    y = ... 
    x = tf.constant(y) 

をしかし、定数は一度だけ定義することができますので、これは、不可能です。

どうすればこの問題を解決できますか?

答えて

1

あなたのプログラムはどのように見えるのですか?定数を返す関数を作成する方法はありますか?

def initialize_x(): 
    # Do something 
    y = ... 
    return tf.constant(y) 

if __name__ == "__main__": 
    ... 
    x = initialize_x() 
    ... 
+0

はい、私はそれについて考えました。私のコードはちょっと面倒ですが、唯一の解決策かもしれません! – Karnivaurus

+0

多くのロジックが含まれていて目立たない場合は、その関数をモジュールに移動できます。その場合、 'x'は分かりにくいので、わかりやすい名前に変更することをお勧めします。 – tsuda7