tensor.max()

tensor在不同维度比较大小,并取最大值

# 给定一个三维矩阵--[batch_size, n_tags, n_tags]
import torch

score = torch.tensor([[ [1,2,7],
                        [4,8,6],
                        [3,5,9]],
                      [ [8,1,3],
                        [6,9,4],
                        [2,5,7]]])
best_score, best_dst = score.max(0)
print(best_score)
print(best_dst)
print('---------------------------')
best_score, best_dst = score.max(1)
print(best_score)
print(best_dst)
print('---------------------------')
best_score, best_dst = score.max(2)
print(best_score)
print(best_dst)
print('---------------------------')
'''
score.max(0)在batch维度-第0维度进行比较:
tensor([[8, 2, 7],
        [6, 9, 6],
        [3, 5, 9]])
tensor([[1, 0, 0],
        [1, 1, 0],
        [0, 1, 0]])
如[1,2,7]和[8,1,3]相比较,得到[8, 2, 7],对应batch位置为[1, 0, 0]。
'''

'''
score.max(1)在第1维度进行比较:
tensor([[4, 8, 9],
        [8, 9, 7]])
tensor([[1, 1, 2],
        [0, 1, 2]])
如	[[1,2,7],
     [4,8,6],
     [3,5,9]]中的[1,4,3]、[2,8,5]和[7,6,9]相比较,得到[4,8,9],对应位置为[1, 1, 2]
'''

'''
score.max(2)在第2维度进行比较:
tensor([[7, 8, 9],
        [8, 9, 7]])
tensor([[2, 1, 2],
        [0, 1, 2]])
如	[[1,2,7],
     [4,8,6],
     [3,5,9]]中的[1,2,7]、[4,8,6]和[3,5,9]相比较,得到[7,8,9],对应位置为[2, 1, 2]
'''
上一篇:用WSL+docker实现Web开发和一键部署


下一篇:Redis笔记(一)Redis简介