重みの初期化について様々なものをしようと思っているのですが、1つうまくいかないものがありましたので、質問させていただきます。
現在、重みを-2.0から2.0の範囲の乱数としているのですが、こちらをHeの初期値にしようと考えています。
こちらが現在使っているコードの重みの初期化の部分となります。
python
1with tf.Session() as sess: 2 # Set up all the tensors, variables, and operations. 3 input = tf.constant(bias_with_x) 4 target = tf.constant(np.transpose([y_train]).astype(np.float32)) 5 weights = tf.Variable(tf.random_uniform([num_input+1, num_hidden1], minval=-2.0, maxval=2.0, seed=seed)) 6 bias = tf.Variable(tf.random_uniform([num_hidden1], minval=-2.0, maxval=2.0, seed=seed)) 7 weights1 = tf.Variable(tf.random_uniform([num_hidden1, num_hidden2], minval=-2.0, maxval=2.0, seed=seed)) 8 bias1 = tf.Variable(tf.random_uniform([num_hidden2], minval=-2.0, maxval=2.0, seed=seed)) 9 weights2 = tf.Variable(tf.random_uniform([num_hidden2, 1], minval=-2.0, maxval=2.0, seed=seed)) 10 bias2 = tf.Variable(tf.random_uniform([1], minval=-2.0, maxval=2.0, seed=seed)) 11 tf.global_variables_initializer().run()
以下がやりたいことであるHeの初期化になります。
python
1# shape = 初期化するウェイトの次元として、4次元のCNNの場合は下記 2 3n = shape[0] * shape[1] * shape[2] 4stddev = math.sqrt(2.0 / n) 5initial = tf.truncated_normal(shape=shape, stddev=stddev) 6weight = tf.Variable(initial, name=name) 7
この'n'やら'shape'などの意味が正直あまりわからずに、どのように挿入したら良いかわからなくなっています。
ご回答いただけると助かります。
※ご回答いただいた内容に質問させていただくこともあるかと思いますので、
※よろしければご返信いただければと思います。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/19 02:15