小程序容器助力企业在金融与物联网领域实现高效合规运营,带来的新机遇与挑战如何管理?
581
2022-11-15
tensor transpose之后的含义探究
以卷积核为例
import tensorflow as tfimport numpy as npbatch_size = 2sequence_len = 5hidden_size = 2kernel_len = 2in_channel = hidden_sizeout_channel = hidden_sizea1 = np.array(np.arange(1, 1 + sequence_len * hidden_size).reshape([sequence_len, hidden_size]), dtype=np.float32)a2 = np.array(np.arange(1, 1 + sequence_len * hidden_size).reshape([sequence_len, hidden_size]), dtype=np.float32)inputX = np.stack([a1, a2], axis=0)kernel = np.array(np.arange(1, 1 + kernel_len * in_channel * out_channel), dtype=np.float32).reshape( [kernel_len, in_channel, out_channel])print("kernel:")print(kernel)conv1d = tf.nn.conv1d(inputX, kernel, stride=1, padding='SAME')
print结果:
[[[1. 2.] [3. 4.]] [[5. 6.] [7. 8.]]]
其中kernel的shape为[kernel_len, in_channel, out_channel]
这时每个卷积核的真实内容其实是
print(kernel[0][0][0],kernel[0][1][0])print(kernel[1][0][0],kernel[1][1][0])# 1 3# 5 7
和
print(kernel[0][0][1],kernel[0][1][1])print(kernel[1][0][1],kernel[1][1][1])# 2 4# 6 8
即out_channel看成batch_size,kernel_len看成sequence_len,in_channel看成hidden_size
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~