2017-12-21 9 views
0

TensorFlowで変数を初期化するにはどうすればよいですか?TensorFlowでベルヌーイ分布で変数を初期化するにはどうすればよいですか?

私はベルヌーイ分布と各重みを関連付けたい:一部の値x2を取得するには、1-Pの確率でいくつかの値x1を取得するためのpの確率で

  • 、および

この行列はどのように初期化する必要がありますか?

私はこのコードを書いた:

logits_y = tf.get_variable("logits", [n_input*n_hidden,2], 
          initializer=tf.constant_initializer(1.)) 

[n_input*n_hidden, 2]2[p, 1-p]を意味します。

+0

あなたは 'logits_y'を使用して計画されている方法は?損失関数やサマリを生成するには? –

+0

@musically_ut私はlogits_yを使ってサンプルを描画したいと思いますが、重みは今度は異なるベルヌーイ分布からです。そして、私は各ウェイトに対して何らかの方法でpを最適化したいと思います。 – henrykuo

答えて

0

私はあなたの行列に行う予定が、ここであなたがtensorflowでBernoulli distributionを生成することができる方法です正確に何か分からない:

>>> distrib = tf.contrib.distributions.Bernoulli(probs=[0.3]) 
>>> sample = distrib.sample([10]) 
>>> sample 
<tf.Tensor 'Bernoulli/sample/Reshape:0' shape=(10, 1) dtype=int32> 
>>> sample.eval() 
array([[0], 
     [0], 
     [1], 
     [1], 
     [0], 
     [0], 
     [0], 
     [1], 
     [0], 
     [0]], dtype=int32) 
+0

返信ありがとうございます。私が持っている問題は、サンプルを描くことによって各重量のベルヌーイ分布を最適化したいということです。ですから、各pを変数として作成し、SGDまたは同様のアルゴリズムを使用して最適化する必要があります。 – henrykuo

関連する問題