テンソルダイナミックに取得したBatch Szieのサイズ例
2572 ワード
余計なことを言わないで、コードを見てください。
ハ/a:0
ハ/ha ha ha/a:0
ha ha ha/hahahaha/a:0
(10,200)
まとめ:
1:未知のshopに対して、最もよく使われるのはbatch-sizeです。通常はNoneの代わりです。コードの中で実際のデータを使う必要があるbatch sizeの場合はどうすればいいですか?
tenssorタイプを転送して、tf.shpe(Name)はtenssorタイプのデータを返して、batch sizeのある次元を取ればいいです。具体的なデータからbatch sizeのサイズを取得できます。
2:変数名に対して、variableを上手に使うべきです。scopeは命名を規範化し、またreuseパラメータは共有変数を制御することができます。
知識を補充します:tenssorflow RNNはダイナミックなbatchを使います。size
テナントflowを使用してRNNモデルを実現するには、初期化が必要な非表示状態は、以下の通りである。
コードの実装は以下の通りです。
self.batch_size=tf.plocholder(tf.int 32,[],name='batch_size
self.state=cell.ゼロ_state(self.batch_size,tf.float 32)
以上のこのtenssor flow動態はBatch Szieの大きさの実例を獲得して、小さい編纂がみんなのすべての内容に分かち合うので、みんなに1つの参考をあげることができることを望んで、みんながよけいに私達を支持することをも望みます。
import tensorflow as tf
import sys
with tf.variable_scope('ha'):
a1 = tf.get_variable('a', shape=[], dtype=tf.int32)
with tf.variable_scope('haha'):
a2 = tf.get_variable('a', shape=[], dtype=tf.int32)
with tf.variable_scope('hahaha'):
a3 = tf.get_variable('a', shape=[], dtype=tf.int32)
with tf.variable_scope('ha', reuse=True):
#
a4 = tf.get_variable('a', shape=[], dtype=tf.int32)
sum = a1 + a2 + a3 + a4
fts_s = tf.placeholder(tf.float32, shape=(None, 100), name='fts_s')
b = tf.zeros(shape=(tf.shape(fts_s)[0], tf.shape(fts_s)[1]))
concat = tf.concat(axis=1, values=[fts_s, b])
init_op = tf.global_variables_initializer()
with tf.Session() as sess:
sess.run(init_op)
for var in tf.global_variables():
print var.name
import numpy as np
ft_sample = np.ones((10, 100))
con_value = sess.run([concat], feed_dict={fts_s: ft_sample})
print con_value[0].shape
レスリング:ハ/a:0
ハ/ha ha ha/a:0
ha ha ha/hahahaha/a:0
(10,200)
まとめ:
1:未知のshopに対して、最もよく使われるのはbatch-sizeです。通常はNoneの代わりです。コードの中で実際のデータを使う必要があるbatch sizeの場合はどうすればいいですか?
tenssorタイプを転送して、tf.shpe(Name)はtenssorタイプのデータを返して、batch sizeのある次元を取ればいいです。具体的なデータからbatch sizeのサイズを取得できます。
2:変数名に対して、variableを上手に使うべきです。scopeは命名を規範化し、またreuseパラメータは共有変数を制御することができます。
知識を補充します:tenssorflow RNNはダイナミックなbatchを使います。size
テナントflowを使用してRNNモデルを実現するには、初期化が必要な非表示状態は、以下の通りである。
lstm_cell_1 = [tf.nn.rnn_cell.DropoutWrapper(tf.nn.rnn_cell.BasicLSTMCell(HIDDEN_SIZE),output_keep_prob=dropout_keep_prob) for _ in range(NUM_LAYERS)]
cell_1 = tf.nn.rnn_cell.MultiRNNCell(lstm_cell_1)
self.init_state_1 = cell_1.zero_state(self.batch_size,tf.float32)
もし私達が直接スーパーパラメータを使うならばsize初期化は、モデル予測の結果を使用すると大変です。ダイナミックなbatch_を使うことができます。sizeとは、batch_をいうことです。sizeはplacceholderとして動作する時に、batch_をsizeは入力としてデータ量に応じて異なるbatchuを使うことができます。sizeコードの実装は以下の通りです。
self.batch_size=tf.plocholder(tf.int 32,[],name='batch_size
self.state=cell.ゼロ_state(self.batch_size,tf.float 32)
以上のこのtenssor flow動態はBatch Szieの大きさの実例を獲得して、小さい編纂がみんなのすべての内容に分かち合うので、みんなに1つの参考をあげることができることを望んで、みんながよけいに私達を支持することをも望みます。