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.]]]