Pytorch中哪些操作是不可微的,構建前向計算圖時需要特加注意?

時間 2021-05-06 10:58:53

1樓:

一句話結論:relu, mask select, tensor slice 理論上就是可微的,pytorch 的處理也跟理論計算一致。argmax 是真的不可微,pytorch 也沒法處理。

1、relu 只是在 0 處不可微,但是次梯度在 [0, 1] 之間,pytorch 取了 0 而已。

2、mask select 和 tensor slice 本來就是可微的操作,最終提取出的元素梯度為 1,沒提取的元素梯度為 0。不要以為不好寫數學公式就是不可微——整體的公式寫不出來,逐分量的公式很好寫,然後就能看出怎麼求導是很顯然的事情。

3、同 2,max 的導數就是在最大分量處為 1,其他位置為 0。

4、argmax 是真的不可導,除非你強行規定突變處導數為無窮、其他地方導數是零,但這沒有任何意義。在 pytorch 裡用 backward 也會跟你報錯。

@xiedidan 有些睿智真是服了,槓精看什麼都是槓。匿名了,嫌汙染粉絲時間線。

2樓:xiedidan

實現上Pytorch提供的OP都是「可微」的……對於像relu, argmax, mask_select, tensor slice這種理論上不可微的情況,沒參與計算的元素梯度就是0,至於這個處理是不是你想要的,就要看實際情況了。如果要自己控制處理方式可以繼承torch.autograd.

Function實現自定義OP並在backward中進行處理。

(計算機)日常操作中哪些是使用者容易犯的錯以及怎麼改正?

在出現系統載入logo的時候最好不要強制關機即使是win7這樣可靠性非常棒的系統也會碰到mbr丟失之類的問題上次醫院系統維護插了U盤想進PE 結果忘記調boot meun了進入win7 都到載入logo了手賤強制關機結果發現系統開不了了 用pe 和win7自帶的啟動修復都無效 bootbcd工具也失...

你有哪些實際操作中的駕駛技巧?

肥羅先僧Rax 拿證十年 12萬工裡,11萬北美,1萬國內。今年回國久,開了兩個月車,總結了一下實際狀況下的注意點,主要用來不斷提醒自己開車更加佛性。1 直行車路權最低。直行車輛需要避讓讓對頭左拐車 路口要避讓右側路口來的右拐車 要避讓任何時候把馬路當自己家的非機動車 不需要避讓沒有 禮讓斑馬線 標...

聖經中關於不可饒恕的句子有哪些?

123大窪 ye經本身就是不可饒恕的。只有內心極惡的人,才能編撰出來,以達到控制人心的目的。我拒絕了保健品傳銷,不代表我不在乎健康。我拒絕ye教的傳銷,也不代表我否定對人生終極意義的思考。甚至,我從來沒否認乙個客觀的神。如果它存在,我會頗有興趣地探索它。哲學家們,科學家們從來不放棄對上帝的探索,不是...