torch.sigmoid、torch.nn.Sigmoid和torch.nn.functional.sigmoid的區別

  review代碼的時候發現我使用的是torch.sigmoid,pycharm標黃cannot find reference 'sigmoid' in '__init__.py'於是產生了這樣的疑問,這三者的區別是啥。

0x00. 官網解釋

  • torch.sigmoid
    torch.sigmoid
      我們可以看到,這是一個方法,擁有Parametrs和Returns。
  • torch.nn.Sigmoid

官方解釋

官方解釋
  可以看到官網文檔在左上角標註着顯眼的CLASS,同時根據Examples我們可以得出結論,torch.nn.Sigmoid在我們的神經網絡中使用時,我們應該將其看作是網絡的一層而不是簡單的函數使用

  • torch.nn.functional.sigmoid
    官方解釋
      事實上,torch.nn.functional從這個包名就能看出來,這個包裏的都是函數。同樣的,按照官網的文檔的內容,我們也可以判斷出torch.nn.funtional.sigmoid是一個方法,可以直接在我們的神經網絡的forward中使用,並不需要在init的時候初始化。也就是說torch.nn.functional.sigmoid和torch.sigmoid沒有什麼區別,同理,本文對於其他的激活函數一樣適用。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章