zl程序教程

您现在的位置是:首页 >  其它

当前栏目

torch.max()综合

综合 max torch
2023-09-14 09:15:41 时间

参考:

https://blog.csdn.net/LEELOVESTUDY/article/details/106521130?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

torch.max(input)

返回input矩阵的最大值

torch.max(input,dim)

返回类型为元组(namedtuple),第一个元素为值,第二个元素为对应索引

dim = 0 按照列取最大值和索引并返回

dim = 1 按照行取最大值和索引并返回

 

参考:

https://blog.csdn.net/qq_40586364/article/details/103162613

torch.max(a, 1)意思是指对tensor a而言取其行方向的最大值,结果为列(也就是1所示的维度) 类似的,torch.max(a, 0)意思是指对tensor a而言取其列方向的最大值,结果为行(也就是0所示的维度)

 

参考:

https://blog.csdn.net/Linux_bin/article/details/95599849?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

在tensor类型的数据中,max和min函数常用来比较两个tensor数据的大小,或者取出tensor数据中的最大值。关于max函数和min函数的用法有以下几种场景:

对于tensorA和tensorB:

  1. torch.max(tensorA):返回tensor中的最大值。
  2. torch.mac(tensorA,dim):dim表示指定的维度,返回指定维度的最大数和对应下标
  3. torch.max(tensorA,tensorB):比较tensorA和tensorB相对较大的元素。 
输入:

x = th.arange(0,16,1).view(4,4)

print('x:\n',x)

print('t.max(x):\n',t.max(x))

print('t.max(x,1):\n',t.max(x,1))

print('t.max(x,0):\n',t.max(x,0))

print('t.max(x,1)[0]:\n',t.max(x,1)[0])

print('t.max(x,1)[1]:\n',t.max(x,1)[1])

print('t.max(x,1)[1].data:\n',t.max(x,1)[1].data)

print('t.max(x,1)[1].data.numpy():\n',t.max(x,1)[1].data.numpy())

print('t.max(x,1)[1].data.numpy().squeeze():\n',t.max(x,1)[1].data.numpy().squeeze())

print('t.max(x,1)[0].data:\n',t.max(x,1)[0].data)

print('t.max(x,1)[0].data.numpy():\n',t.max(x,1)[0].data.numpy())

print('t.max(x,1)[0].data.numpy().squeeze():\n',t.max(x,1)[0].data.numpy().squeeze())
输出:

x:

 tensor([[ 0,  1,  2,  3],

        [ 4,  5,  6,  7],

        [ 8,  9, 10, 11],

        [12, 13, 14, 15]])

t.max(x):

 tensor(15)

t.max(x,1):

 torch.return_types.max(

values=tensor([ 3,  7, 11, 15]),

indices=tensor([3, 3, 3, 3]))

t.max(x,0):

 torch.return_types.max(

values=tensor([12, 13, 14, 15]),

indices=tensor([3, 3, 3, 3]))

t.max(x,1)[0]:

 tensor([ 3,  7, 11, 15])

t.max(x,1)[1]:

 tensor([3, 3, 3, 3])

t.max(x,1)[1].data:

 tensor([3, 3, 3, 3])

t.max(x,1)[1].data.numpy():

 [3 3 3 3]

t.max(x,1)[1].data.numpy().squeeze():

 [3 3 3 3]

t.max(x,1)[0].data:

 tensor([ 3,  7, 11, 15])

t.max(x,1)[0].data.numpy():

 [ 3  7 11 15]

t.max(x,1)[0].data.numpy().squeeze():

 [ 3  7 11 15]