tensor transpose之后的含义探究

网友投稿 581 2022-11-15

tensor transpose之后的含义探究

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小时内删除侵权内容。

上一篇:Springboot动态切换数据源的具体实现与原理分析
下一篇:tensorflow 分布式 数据并行 异步训练 between-graph 自己写的实例 CNN
相关文章

 发表评论

暂时没有评论,来抢沙发吧~