张量切片以及*args和**kwargs学习

mac2024-03-31  30

1.张量切片

import numpy as np a=np.ones((3,4,5)) a.shape   Out[1]:(3, 4, 5)

#slice

b=a[2,2:4,2:5]

b.shape  Out[2]:(2, 3)

2.python numpy里面的axis:

通过不同的axis,numpy会沿着不同的方向进行操作:如果axis=0,则沿着纵轴进行操作;axis=1,则沿着横轴进行操作。如果是多维的:设axis=i,则numpy沿着第i个下标变化进行操作。

3.python中*args和**kwargs的简单解释

*args让函数接受任意多的位置参数

**kwargs支持任意多的关键字参数

注:任意的位置参数和关键字参数可以和其他标准的参数声明一起使用时存在次序。

1)必须的参数    2)可选的参数     3)过量的位置参数    4)过量的关键字参数

def complex_function(a, b=None, *c, **d):

例:def add(a, b, c):              return a + b + c        kwargs={'b': 8, 'c': 9}       add(a=7, **kwargs)  Out[2]:24

      args = (2, 3)

      add(1, *args)      Out[3]: 6

4.np.expand_dims:用于扩展数组的形状

import numpy as np a=np.ones((3,5)) print(a.shape) b = np.expand_dims(a, axis=0) print(b.shape) out:(3, 5) (1, 3, 5)

 

 

 

 

 

 

 

 

 

 

 

最新回复(0)