我是靠谱客的博主 安详咖啡,这篇文章主要介绍x[:,:,None,:]-x[:,:,:,None],现在分享给大家,希望可以做个参考。

x[:,:,None,:]-x[:,:,:,None]

None相当于在数组中多加一个维度。

输入:

x = np.arange(24).reshape((2,3,4))

输出:

array([[[ 0,
1,
2,
3],
[ 4,
5,
6,
7],
[ 8,
9, 10, 11]],
[[12, 13, 14, 15],
[16, 17, 18, 19],
[20, 21, 22, 23]]])
 x[:,:,None,:]

输出,形状(2,3,1,4):

array([[[[ 0,
1,
2,
3]],
[[ 4,
5,
6,
7]],
[[ 8,
9, 10, 11]]],
[[[12, 13, 14, 15]],
[[16, 17, 18, 19]],
[[20, 21, 22, 23]]]])
x[:,:,:,None]

输出,形状(2,3,4,1):

array([[[[ 0],
[ 1],
[ 2],
[ 3]],
[[ 4],
[ 5],
[ 6],
[ 7]],
[[ 8],
[ 9],
[10],
[11]]],
[[[12],
[13],
[14],
[15]],
[[16],
[17],
[18],
[19]],
[[20],
[21],
[22],
[23]]]])
x[:,:,None,:]-x[:,:,:,None]

这里相减时用到了广播机制,都先变成(2,3,4,4),再相减
输出,形状(2,3,4,4):

array([[[[ 0,
1,
2,
3],
[-1,
0,
1,
2],
[-2, -1,
0,
1],
[-3, -2, -1,
0]],
[[ 0,
1,
2,
3],
[-1,
0,
1,
2],
[-2, -1,
0,
1],
[-3, -2, -1,
0]],
[[ 0,
1,
2,
3],
[-1,
0,
1,
2],
[-2, -1,
0,
1],
[-3, -2, -1,
0]]],
[[[ 0,
1,
2,
3],
[-1,
0,
1,
2],
[-2, -1,
0,
1],
[-3, -2, -1,
0]],
[[ 0,
1,
2,
3],
[-1,
0,
1,
2],
[-2, -1,
0,
1],
[-3, -2, -1,
0]],
[[ 0,
1,
2,
3],
[-1,
0,
1,
2],
[-2, -1,
0,
1],
[-3, -2, -1,
0]]]])

最后

以上就是安详咖啡最近收集整理的关于x[:,:,None,:]-x[:,:,:,None]的全部内容,更多相关x[:内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(119)

评论列表共有 0 条评论

立即
投稿
返回
顶部