list列表类型转换为numpy.ndarray,
import numpy as np a=[1,2,3] b=np.array(a) print(type(b),b)#<class 'numpy.ndarray'> [1 2 3]
在看Faster R-CNN模型代码时,由于很多函数的输入都包含很多变量,有一个技巧就是在传入函数实参时,将所有的实参当在一个tuple内,然后再写函数形参时,直接只写一个形参,在函数内部对形参进行解析和操作。
def func1(input):
attribute1=input[0]
attribute2=input[1]
attribute3=input[2]
import numpy as np import torch def func1(input): tensor1=input[0] tensor2=input[1] return (tensor1+tensor2) if __name__=='__main__': tensor1=torch.rand((2,2)) tensor2=torch.tensor([0,1],dtype=torch.float32) ''' 希望实现的效果是将tensor1的第一列不变,第二列元素加1 这里应用了torch.tensor的broadcast机制 ''' summation=func1((tensor1,tensor2)) print(summation-tensor1) ''' tensor([[0., 1.], [0., 1.]]) '''