python涓璪ackward鍑芥暟鎬庝箞浣跨敤
鍦≒ython涓紝backward()
鍑芥暟鏄敤浜庤绠楁搴︾殑鍑芥暟锛屽畠閫氬父涓庤嚜鍔ㄥ井鍒嗘満鍒朵竴璧蜂娇鐢ㄣ€備笅闈㈡槸backward()
鍑芥暟鐨勪娇鐢ㄦ柟娉曪細
-
棣栧厛锛岀‘淇濅綘鐨勪唬鐮佷腑浣跨敤浜嗚嚜鍔ㄥ井鍒嗘満鍒讹紝渚嬪PyTorch鎴朤ensorFlow绛夊簱銆傝繖浜涘簱閫氬父浼氬湪寮犻噺涓婅窡韪叾鎿嶄綔鍘嗗彶锛屽苟璁$畻鍑烘搴︺€?/p>
-
鍦ㄩ渶瑕佽绠楁搴︾殑寮犻噺涓婅皟鐢?code>backward()鍑芥暟銆備緥濡傦紝鍦≒yTorch涓紝鍙互浣跨敤
tensor.backward()
鏉ヨ绠楀紶閲忕殑姊害銆?/p> -
鍦ㄨ皟鐢?code>backward()鍑芥暟涔嬪墠锛岄€氬父闇€瑕佸厛瀹氫箟涓€涓崯澶卞嚱鏁般€傝繖鏄洜涓?code>backward()鍑芥暟浼氭牴鎹崯澶卞嚱鏁拌绠楀紶閲忕殑姊害銆傚湪璋冪敤
backward()
涔嬪悗锛屾搴﹀皢浼氬瓨鍌ㄥ湪鐩稿叧寮犻噺鐨?code>.grad灞炴€т腑銆?/p>
涓嬮潰鏄竴涓畝鍗曠殑绀轰緥锛屽睍绀轰簡濡備綍浣跨敤backward()
鍑芥暟璁$畻寮犻噺鐨勬搴︼細
import torch
# 鍒涘缓涓€涓紶閲忓苟璁剧疆requires_grad=True
x = torch.tensor(2.0, requires_grad=True)
# 瀹氫箟涓€涓嚱鏁?y = x^2
y = x**2
# 瀹氫箟涓€涓崯澶卞嚱鏁?/span>
loss = y - 4
# 璋冪敤backward鍑芥暟璁$畻姊害
loss.backward()
# 鎵撳嵃姊害
print(x.grad) # 杈撳嚭 4.0
鍦ㄤ笂闈㈢殑绀轰緥涓紝鎴戜滑鍒涘缓浜嗕竴涓紶閲?code>x锛屽苟璁剧疆requires_grad=True
浠ュ惎鐢ㄨ嚜鍔ㄥ井鍒嗘満鍒躲€傛垜浠畾涔変簡涓€涓嚱鏁?code>y = x^2锛屽苟璁$畻浜?code>y涓庣洰鏍囧€?涔嬮棿鐨勬崯澶便€傜劧鍚庯紝鎴戜滑璋冪敤backward()
鍑芥暟鏉ヨ绠?code>loss鐩稿浜?code>x鐨勬搴︼紝骞跺皢姊害鎵撳嵃鍑烘潵銆?/p>
闇€瑕佹敞鎰忕殑鏄紝鍦ㄥ疄闄呭簲鐢ㄤ腑锛岄€氬父浼氬湪妯″瀷璁粌鐨勬瘡涓€娆¤凯浠d腑浣跨敤backward()
鍑芥暟鏉ヨ绠楁搴︼紝骞剁粨鍚堜紭鍖栫畻娉曪紙濡傛搴︿笅闄嶏級鏉ユ洿鏂版ā鍨嬬殑鍙傛暟銆?/p>
相关问答