注:个人笔记,深入学习还请看pytorch官方文档2019-08-22
调用标准形式
a的size是(3, 2,3),此例中torch.max中按照第二维为基础来选取,选择哪一维,那么idx中的哪一维便变成1,但函数内部会自动squeeze,如果想保持原有维数,可以设置参数keepdim = True,上例中idx.size便是由(3, 1,3)变为(3, 3)。
具体分析一下,idx第一行是[1,1,1],是1和4比较,2和5比较,3和6比较,结果自然便是[1,1,1]。
那么在具体的例子中呢,以NER为例,一般输出数据都会有 batch_size, max_lens(最长语句的长度), 和 Yk(实体类别种类,k
个种类),
比如最后数据的形状为(batch,max,Yk)
Yk中为概率,上例中以2,3,2为例,也就是训练两个句子,每个句子长度为3,2个标签种类,求出概率最大的那个标签。便是这样