PyTorch-->torch.max()的用法


 

 

 

 

 

 

   _, predited = torch.max(outputs,1)   # 此處表示返回一個元組中有兩個值,但是對第一個不感興趣

  • 返回的元組的第一個元素是image data,即是最大的值;第二個元素是label,即是最大的值對應的索引。由於我們只需要label(最大值的索引),所以有 _ , predicted這樣的賦值語句,表示忽略第一個返回值,把它賦值給 _,即舍棄它。
  • 第2個參數1,是 the dimension to reduce,而不是去這個dimension上面找最大的值。

     上述的a是一個4 * 4的TENSOR,所以dim=1指的是消除列這個維度,如何理解它的含義呢? 

  如果將上面的示例代碼中的參數 keepdim=True加上,即torch.max(a,1,keepdim=True),會發現返回的結果的第一個元素,即表示最大的值的那部分,是一個size=4*1的Tensor,也就是其實它是按照行來找最大值,所以得到的結果是4行;因為只找一個最大值,所以是1列,整個的size就是 4行 1 列。參數dim=1,相當於調用了 squeeze(1)這個操作,最后就得到結果是一個size為4的vector。

 

 

注:如果dim=0,則返回每列的最大值。

所以一定不要混淆!這里的dim是指的 the dimension to reduce!並不是在這個dimension上去返回最大值!!!

用 torch.argmax()這個函數似乎更直觀,更好理解一些。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM