review代碼的時候發現我使用的是torch.sigmoid,pycharm標黃cannot find reference 'sigmoid' in '__init__.py'
於是產生了這樣的疑問,這三者的區別是啥。
0x00. 官網解釋
- 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沒有什麼區別,同理,本文對於其他的激活函數一樣適用。