tf.nn.conv 1 d使用問題

1139 ワード

a =tf.Variable(np.random.rand(10,128,),dtype=np.float32)
a0 = tf.reshape(a,[-1,128,1])
W2 = tf.Variable(np.random.rand(6,1,100),dtype=np.float32)
zz = tf.nn.conv1d(a0,W2,stride=2,padding='SAME')
sess.run(tf.global_variables_initializer())
b = sess.run(zz)

print(b.shape)
結果:
(10, 64, 100)
道理で(10,128,100)だと思いますが、分かりません.
この問題に遭遇した仲間がいるかどうか分からない.
問題の結果:
一次元ボリュームのpadding='SAME'は入力の最後にのみ0を埋め込む.
a = tf.constant([1,2,3,4,5],dtype=np.float16)
a = tf.reshape(a,[-1,5,1])
b = tf.constant([1,2],dtype=np.float16)
b = tf.reshape(b,[2,1,1])

c = tf.nn.conv1d(a,b,stride=2,padding='SAME')
with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    print(sess.run(c))

結果:[[5.][11.] [ 5.]]]
a = tf.constant([1,2,3,4,5],dtype=np.float16)
a = tf.reshape(a,[-1,5,1])
b = tf.constant([1,2],dtype=np.float16)
b = tf.reshape(b,[2,1,1])

c = tf.nn.conv1d(a,b,stride=2,padding='VALID')
with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    print(sess.run(c))
結果:[[5.][11.]]]