色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

PyTorch JVP實(shí)戰(zhàn):torch.func.jvp原理、性能陷阱與工程取舍

PyTorch JVP實(shí)戰(zhàn):torch.func.jvp原理、性能陷阱與工程取舍 大多數(shù)用過 PyTorch 的人對loss.backward()這套反向傳播都很熟但一旦被問到雅可比向量積怎么算很多人第一反應(yīng)是打開torch.autograd.functional.jacobian把整個(gè)雅可比矩陣求出來再手動(dòng)做一次矩陣乘法。這種做法在小模型上沒毛病一旦輸出維度上千顯存和耗時(shí)立刻教做人。雅可比向量積Jacobian-Vector Product簡稱 JVP存在的意義就是你根本不需要顯式構(gòu)造那個(gè) m×n 的雅可比矩陣也能拿到它和一個(gè)向量的乘積代價(jià)只有一次前向傳播的量級。這篇內(nèi)容圍繞 JVP 在 PyTorch 里的幾種實(shí)現(xiàn)路徑展開重點(diǎn)拆torch.func.jvp的用法、torch.autograd.functional.jvp的性能陷阱、以及踩過的坑。適合已經(jīng)會(huì)寫autograd.grad、想進(jìn)一步搞清楚前向模式自動(dòng)微分、并且需要在二階優(yōu)化、雅可比正則、靈敏度分析這些場景里真正用起來的人。1. 把 JVP 從矩陣?yán)锊鸪鰜碚l乘在左邊誰乘在右邊1.1 一個(gè) 3×2 的例子先把概念釘死先不談自動(dòng)微分回到線性代數(shù)本身。假設(shè)有一個(gè)函數(shù) f: R2 → R3在點(diǎn) x 處它的雅可比矩陣 J 是一個(gè) 3 行 2 列的矩陣。JVP 就是拿一個(gè) 2 維向量 v從右邊乘上去得到 J·v結(jié)果是一個(gè) 3 維向量。注意 v 的維度必須和輸入維度一致結(jié)果的維度必須和輸出維度一致。反過來VJPVector-Jacobian Product是拿一個(gè) 3 維向量 u 從左邊乘u?·J結(jié)果是一個(gè) 2 維向量維度跟著輸入走。這兩個(gè)操作的形狀規(guī)則完全不同這是后面所有坑的根源。拿一個(gè)具體例子import torch def f(x): return torch.stack([x[0] * x[1], x[1] ** 2, torch.sin(x[0])]) x torch.tensor([2.0, 3.0], dtypetorch.float64)手工求偏導(dǎo)J 應(yīng)該是J [[x1, x0 ], [0, 2*x1 ], [cos(x0), 0 ]]代入 x [2, 3]得到[[3, 2], [0, 6], [cos(2), 0]]其中 cos(2) ≈ -0.4161。現(xiàn)在取 v [1, 0]J·v 就是 J 的第一列即[3, 0, -0.4161]。取 v [0, 1]得到第二列[2, 6, 0]。這兩個(gè)結(jié)果后面用來驗(yàn)證代碼是否正確。1.2 為什么 PyTorch 默認(rèn)只給你 VJPloss.backward()背后跑的是反向模式自動(dòng)微分它天然產(chǎn)出的是 VJP不是 JVP。原因很實(shí)際深度學(xué)習(xí)里絕大多數(shù)函數(shù)是從一個(gè)巨大的參數(shù)向量映射到一個(gè)標(biāo)量損失也就是 f: R^N → R1。這種情況下輸出維度 m 1只需要一次反向傳播就能拿到完整的梯度向量代價(jià)極低。而如果換成 JVP 的思路你得做 N 次前向傳播才能拿全梯度完全不可行。所以框架的設(shè)計(jì)重心一直壓在 VJP 上前向模式自動(dòng)微分在很長一段時(shí)間里屬于有但不太好用的狀態(tài)。這直接導(dǎo)致一個(gè)現(xiàn)象當(dāng)你遇到 f: R^n → R^m 且 n 很小、m 很大的場景時(shí)比如一個(gè)幾十維的控制參數(shù)映射到上千維的仿真輸出用反向模式硬算會(huì)非常虧而這恰恰是 JVP 的主場。用一個(gè)表把兩種模式的成本關(guān)系擺清楚這張表值得貼在顯示器邊上目標(biāo)操作需要調(diào)用幾次適合的形狀PyTorch 對應(yīng)接口完整雅可比逐列前向n 次前向n 小 m 大torch.func.jacfwd完整雅可比逐行反向m 次反向m 小 n 大torch.func.jacrev單次 JVPJ·v1 次前向量級輸入小torch.func.jvp單次 VJPu?·J1 次反向量級輸出小torch.func.vjp/autograd.grad1.3 前向模式到底在算什么dual number 的直覺前向模式自動(dòng)微分的實(shí)現(xiàn)方式叫對偶數(shù)dual number。把每個(gè)標(biāo)量 a 擴(kuò)展成 a b·ε 的形式規(guī)定 ε ≠ 0 但 ε2 0。任何函數(shù)作用上去之后實(shí)部就是函數(shù)值ε 的系數(shù)就是方向?qū)?shù)。舉個(gè)手算的例子x 2 1·ε那么 x2 4 4ε ε2 4 4εε 的系數(shù) 4 正好是 2x 在 x2 處的導(dǎo)數(shù)乘上方向 1。這個(gè)機(jī)制的好處是一次前向傳播就能同時(shí)算出函數(shù)值和沿著某個(gè)方向 v 的方向?qū)?shù)而且天然支持任意深的網(wǎng)絡(luò)不需要保存中間激活。代價(jià)是每個(gè)標(biāo)量都要額外存一份 ε 系數(shù)顯存占用大約翻倍但和前向傳播同一量級。PyTorch 里這套機(jī)制的底層入口是torch.autograd.forward_adtorch.func.jvp是它的高層封裝。理解這一層很關(guān)鍵因?yàn)楹竺鏁?huì)看到torch.autograd.functional.jvp走的根本不是這條路。2. PyTorch 里算出 JVP 的四條路各自的真實(shí)代價(jià)2.1 torch.func.jvp目前最該用的那條PyTorch 2.0 之后torch.func命名空間下提供了一套函數(shù)式變換 APIjvp是其中之一。它的簽名是jvp(func, primals, tangents)primals是函數(shù)位置參數(shù)的元組tangents是切線方向的元組兩者結(jié)構(gòu)必須一致。返回值是一個(gè)二元組(output, jvp_out)output是函數(shù)原本的輸出jvp_out是 J·v 的結(jié)果。import torch from torch.func import jvp def f(x): return torch.stack([x[0] * x[1], x[1] ** 2, torch.sin(x[0])]) x torch.tensor([2.0, 3.0], dtypetorch.float64) v torch.tensor([1.0, 0.0], dtypetorch.float64) out, jvp_out jvp(f, (x,), (v,)) print(out) # tensor([ 6.0000, 9.0000, 0.9093], dtypetorch.float64) print(jvp_out) # tensor([ 3.0000, 0.0000, -0.4161], dtypetorch.float64)跑出來和手算的[3, 0, -0.4161]完全對上。注意兩個(gè)細(xì)節(jié)第一x本身不需要requires_gradTrue前向模式不依賴計(jì)算圖第二f內(nèi)部不允許有原地操作in-place比如x[0] 1這種寫法會(huì)直接報(bào)錯(cuò)因?yàn)?dual tensor 的 ε 分量不允許被就地覆蓋。2.2 torch.autograd.functional.jvp名字一樣實(shí)現(xiàn)完全不同很多人第一次搜到的是torch.autograd.functional.jvp。它確實(shí)能用簽名也幾乎一樣from torch.autograd.functional import jvp out, jvp_out jvp(f, (x,), (v,), create_graphFalse, strictFalse)但這里有個(gè)非常容易被忽略的事實(shí)這個(gè)函數(shù)內(nèi)部是用反向模式實(shí)現(xiàn)的。它的做法是先構(gòu)造出 VJP 的形式再對切向量 v 求一次導(dǎo)本質(zhì)上是 reverse-over-reverse也就是兩次反向傳播拼出來的 JVP。這意味著什么意味著當(dāng)你的函數(shù)是輸入維度小、輸出維度大時(shí)torch.autograd.functional.jvp反而會(huì)比真正的torch.func.jvp慢一大截因?yàn)樗刂敵鼍S度反向走一遍。我在一個(gè) 50 維輸入、2000 維輸出的仿真函數(shù)上做過對比torch.func.jvp耗時(shí)大約是functional.jvp的三分之一差距相當(dāng)明顯。提示torch.autograd.functional.jvp的create_graphTrue是它為數(shù)不多的優(yōu)勢場景——需要 JVP 結(jié)果本身再參與求導(dǎo)比如構(gòu)造二階以上的混合導(dǎo)數(shù)時(shí)它比函數(shù)式 API 更省事。日常只要一階 JVP優(yōu)先torch.func.jvp。2.3 手搓 double-backward 與有限差分第三條路是老派做法算兩次autograd.grad。這不是真正的 JVP而是構(gòu)造 VJP 再套一層def manual_jvp(f, x, v): x x.detach().requires_grad_(True) y f(x) # 先拿一個(gè)啞元的 VJP把 v 塞進(jìn) grad_outputs g torch.autograd.grad(y, x, grad_outputstorch.zeros_like(y), create_graphTrue) ...說實(shí)話這條路現(xiàn)在沒什么推薦價(jià)值了代碼繞、易錯(cuò)、還容易在create_graph上翻車除非你在維護(hù)一份必須兼容老版本 PyTorch 的代碼庫否則直接跳過。第四條路是有限差分(f(x h*v) - f(x)) / h。它的缺點(diǎn)寫在教科書里——截?cái)嗾`差和舍入誤差互相拉扯h 太小結(jié)果被噪聲吃掉h 太大非線性誤差明顯。不過它有個(gè)獨(dú)特價(jià)值作為數(shù)值校驗(yàn)的金標(biāo)準(zhǔn)。你寫完任何 JVP 實(shí)現(xiàn)拿有限差分對一遍能立刻發(fā)現(xiàn)是不是方向搞反了、是不是 v 的維度用錯(cuò)了。我習(xí)慣用h 1e-6配 float64 做對照誤差在 1e-6 量級就算通過。2.4 四條路的橫向?qū)Ρ嚷窂绞欠裾媲跋蚰J较鄬臅r(shí)需要 requires_grad支持二階推薦場景torch.func.jvp是1x基線否配合create_graph式組合首選尤其 n 小時(shí)的批量 JVPtorch.autograd.functional.jvp否反向兩次2~4x否strictFalse原生支持需要高階混合導(dǎo)手搓autograd.grad否3x 以上是麻煩老版本兼容有限差分近似2x否不支持?jǐn)?shù)值校驗(yàn)3. torch.func.jvp 的實(shí)戰(zhàn)用法從單方向到整塊雅可比3.1 參數(shù)結(jié)構(gòu)不匹配是最常見的報(bào)錯(cuò)來源jvp(func, primals, tangents)這三者的結(jié)構(gòu)約束很嚴(yán)格。primals和tangents必須是元組長度等于func的位置參數(shù)個(gè)數(shù)每個(gè)位置的張量形狀必須逐一對上。如果你的函數(shù)是def f(a, b)那就得寫jvp(f, (a, b), (va, vb))漏一個(gè)或者包錯(cuò)層級都會(huì)報(bào)形狀錯(cuò)誤。def g(a, b): return (a * b).sum() b.pow(2).sum() a torch.randn(3, dtypetorch.float64) b torch.randn(4, dtypetorch.float64) va torch.ones(3, dtypetorch.float64) vb torch.zeros(4, dtypetorch.float64) out, jvp_out jvp(g, (a, b), (va, vb)) # 輸出是標(biāo)量對 a 方向的偏導(dǎo)之和這里vb傳全零意思是只要 a 方向的導(dǎo)數(shù)。這是一個(gè)非常實(shí)用的技巧當(dāng)你只關(guān)心某一個(gè)輸入的分量時(shí)其余位置傳零張量即可前向模式會(huì)自動(dòng)跳過它們對結(jié)果的貢獻(xiàn)嚴(yán)格說是它們的 ε 分量為零不影響計(jì)算但也不省時(shí)間只是省得你寫新函數(shù)。如果函數(shù)的輸出不是一個(gè)張量而是一個(gè)元組jvp的返回也會(huì)是同結(jié)構(gòu)的元組一一對應(yīng)。這一點(diǎn)比torch.autograd.grad友好得多后者在輸出為元組時(shí)經(jīng)常讓人抓狂。3.2 用 vmap 把逐方向的 JVP 拼成完整雅可比單次 JVP 只給一列。想拿完整雅可比把標(biāo)準(zhǔn)基向量逐個(gè)喂進(jìn)去就行但 Python 循環(huán)太慢正確做法是vmapfrom torch.func import jvp, vmap def full_jacobian_via_jvp(f, x): n x.numel() basis torch.eye(n, dtypex.dtype, devicex.device) # 每次調(diào)用返回 J e_i即雅可比的第 i 列 cols vmap(lambda v: jvp(f, (x,), (v,))[1])(basis) return cols.T # 轉(zhuǎn)置成標(biāo)準(zhǔn)的 (m, n) 形狀 J full_jacobian_via_jvp(f, x) print(J) # tensor([[ 3.0000, 2.0000], # [ 0.0000, 6.0000], # [-0.4161, 0.0000]], dtypetorch.float64)結(jié)果和手算完全一致。這里有個(gè)容易搞反的地方vmap出來后cols的形狀是(n, m)第 i 行是第 i 列所以必須轉(zhuǎn)置。我第一次寫的時(shí)候忘了轉(zhuǎn)后面所有矩陣乘法全錯(cuò)排查了半天才發(fā)現(xiàn)是形狀問題。實(shí)際上官方已經(jīng)把這個(gè)封裝好了torch.func.jacfwd干的就是這件事from torch.func import jacfwd J jacfwd(f)(x) # 直接得到 (m, n)jacfwd內(nèi)部就是 vmap jvp性能基本一致能直接用就用它少寫一堆膠水代碼。3.3 jacfwd 和 jacrev按形狀選方向別選反這一對函數(shù)經(jīng)常被混用但它們的成本差異可以到一個(gè)數(shù)量級。規(guī)則很簡單jacfwd前向模式需要 n 次前向量級的計(jì)算適合n m輸入維度小于輸出維度jacrev反向模式需要 m 次反向量級的計(jì)算適合m n輸出維度小于輸入維度import time x_small torch.randn(10, dtypetorch.float64) x_large torch.randn(2000, dtypetorch.float64) def f_wide(x): # 10 - 2000輸入小輸出大 return torch.sin(x).repeat(200).reshape(-1)[:2000] * 1.5 def f_tall(x): # 2000 - 10輸入大輸出小 return torch.sin(x).reshape(200, 10).sum(0)對f_widejacfwd只要 10 次前向jacrev要 2000 次反向差距懸殊。對f_tall正好相反。跑一下就能直觀感受到我這里實(shí)測f_wide上jacfwd比jacrev快兩個(gè)數(shù)量級還多f_tall上則反過來。注意不要無腦用jacrev也不要無腦用jacfwd。判斷依據(jù)只有一條——比較輸入元素總數(shù)和輸出元素總數(shù)誰小就用誰做方向。這是前向/反向模式選擇的唯一標(biāo)準(zhǔn)和函數(shù)長什么樣沒關(guān)系。還有一個(gè)隱蔽的點(diǎn)jacfwd在輸入維度超過幾千時(shí)因?yàn)橐淮涡?vmap 出幾千個(gè)方向的 dual tensor顯存會(huì)爆。這時(shí)候該用chunk_size分批或者干脆切回jacrev。3.4 手工構(gòu)造 dual tensor 的底層寫法有時(shí)候你需要繞開torch.func的封裝直接操作 dual level比如需要在自定義 autograd Function 內(nèi)部嵌一段前向模式邏輯。底層寫法是這樣from torch.autograd.forward_ad import make_dual, unpack_dual, dual_level x torch.tensor([2.0, 3.0], dtypetorch.float64) v torch.tensor([1.0, 0.0], dtypetorch.float64) with dual_level(): x_dual make_dual(x, v) y_dual f(x_dual) y, jvp_out unpack_dual(y_dual) print(jvp_out) # tensor([ 3.0000, 0.0000, -0.4161])dual_level()是必須的上下文管理器出了這個(gè) with 塊之后 dual tensor 就失效了再拿去做運(yùn)算是未定義行為。另外注意只有支持前向模式的算子才能在里面用像某些第三方擴(kuò)展的自定義算子如果沒注冊 forward AD 規(guī)則會(huì)拋RuntimeError。遇到這種要么退回torch.autograd.functional.jvp要么給算子補(bǔ)一份jvp規(guī)則。4. 踩過的坑讓 JVP 結(jié)果對不上的七個(gè)原因4.1 原地操作和 BatchNorm 的 training 狀態(tài)torch.func.jvp對原地操作零容忍。x 1、x.relu_()、x.masked_fill_()這類都會(huì)直接報(bào)錯(cuò)因?yàn)樵诮o dual tensor 覆寫 ε 分量時(shí)前向模式無法確定正確的語義。解決辦法是全局搜一遍下劃線結(jié)尾的算子改成非原地版本。更隱蔽的是 BatchNorm。model.train()狀態(tài)下 BN 會(huì)更新 running_mean/running_var這屬于副作用side effect函數(shù)式變換默認(rèn)禁止副作用。要么切model.eval()要么用torch.func提供的functional_call把 buffer 顯式傳進(jìn)去。我遇到過一次 JVP 結(jié)果每次調(diào)用都不一樣的詭異情況查了兩小時(shí)才發(fā)現(xiàn)是 BN 在偷偷更新統(tǒng)計(jì)量。4.2 create_graph 開著然后拿結(jié)果去 backward這是最高頻的翻車點(diǎn)。假設(shè)你這么寫_, jv jvp(f, (x,), (v,)) jv.sum().backward() # RuntimeError 或者結(jié)果全 None因?yàn)閖vp默認(rèn)不構(gòu)造可微圖jv是葉子張量backward 拿不到梯度。想對 JVP 的結(jié)果再求導(dǎo)得用torch.func的變換組合方式from torch.func import jvp, grad # 求 d/dx [J(x) v]即二階信息 def hvp_scalar(x, v): _, jv jvp(grad(lambda t: f(t).sum()), (x,), (v,)) return jv.sum()也就是說把jvp和高階變換組合起來而不是指望 autograd 的圖自動(dòng)接上。這是函數(shù)式 API 和傳統(tǒng) autograd 在思維方式上最大的差別。4.3 隨機(jī)性、dropout 和數(shù)值精度模型里有 dropout 時(shí)jvp的兩次內(nèi)部調(diào)用一次算輸出、一次算切線如果各自采樣一份 mask結(jié)果就會(huì)莫名其妙。torch.func系列變換提供了randomness參數(shù)可以設(shè)成differentiate或error后者會(huì)在檢測到隨機(jī)算子時(shí)直接報(bào)錯(cuò)逼你顯式處理。我的習(xí)慣是調(diào)試階段一律設(shè)error把問題提前暴露出來。精度方面JVP 涉及大量累加float32 在方向?qū)?shù)上經(jīng)常只留 4 到 5 位有效數(shù)字。做數(shù)值校驗(yàn)時(shí)務(wù)必切到 float64否則有限差分和 JVP 的差異會(huì)被舍入噪聲蓋住你會(huì)誤以為代碼寫錯(cuò)了其實(shí)是精度不夠。4.4 一個(gè)完整的排查鏈路我把自己遇到的一次典型問題完整記錄下來這個(gè)排查思路可以復(fù)用。現(xiàn)象一個(gè) 8 維輸入、512 維輸出的函數(shù)torch.func.jvp的結(jié)果和有限差分的差異穩(wěn)定在 3% 左右不是隨機(jī)噪聲而是系統(tǒng)性偏差。第一步把輸入換成 float64 重跑差異降到 0.1%說明有大半是精度問題但仍有殘差。第二步把函數(shù)拆到最簡只留一層線性變換此時(shí) JVP 和手算完全一致說明前向模式本身沒問題。第三步逐層加回發(fā)現(xiàn)加上某個(gè)歸一化層后偏差出現(xiàn)。第四步檢查那個(gè)層發(fā)現(xiàn)它在內(nèi)部對輸入做了clamp(min0)而測試點(diǎn) x 的分量有負(fù)數(shù)clamp 在 0 處不可導(dǎo)有限差分跨過了這個(gè)折點(diǎn)于是兩邊不一致。第五步把測試點(diǎn)挪到所有分量都為正的區(qū)域差異消失。結(jié)論是JVP 本身沒錯(cuò)是有限差分在不可導(dǎo)點(diǎn)附近失效。這個(gè)教訓(xùn)很值錢——做數(shù)值校驗(yàn)時(shí)先確認(rèn)測試點(diǎn)遠(yuǎn)離 ReLU、abs、clamp 這類折點(diǎn)否則校驗(yàn)工具本身就在說謊。5. JVP 真正常用的四個(gè)場景5.1 Hessian-vector product二階優(yōu)化的基石海森矩陣是 n×n參數(shù)量上億時(shí)根本存不下但你往往只需要 H·v 這個(gè)乘積。而 H·v 恰好等于梯度的 JVPimport torch from torch.func import jvp, grad def loss_fn(x): return (x ** 3).sum() x torch.tensor([1.0, 2.0, 3.0], dtypetorch.float64) v torch.tensor([1.0, 1.0, 1.0], dtypetorch.float64) _, hv jvp(grad(loss_fn), (x,), (v,)) print(hv) # tensor([ 6., 12., 18.])正好是 6x 逐元素乘 v手算驗(yàn)證loss Σx3梯度是 3x2海森是對角陣 diag(6x)H·v 6x·v [6, 12, 18]。完全對上。這條式子在整個(gè)二階優(yōu)化領(lǐng)域是基礎(chǔ)設(shè)施。共軛梯度法解 H·p -g 需要反復(fù)算 H·v信賴域方法、自然梯度、K-FAC 的近似版本全都建立在這個(gè)乘積上。用傳統(tǒng)寫法torch.autograd.grad(g, x, grad_outputsv)也能算但那個(gè)要求 g 必須由create_graphTrue得到顯存開銷大jvp(grad(f), ...)走前向模式顯存友好得多。5.2 雅可比正則與輸入梯度懲罰對抗訓(xùn)練和魯棒性研究里常加一項(xiàng)雅可比正則懲罰模型對輸入變化的敏感度形式是 ||?f/?x||2。直接算完整雅可比代價(jià)太高用 Hutchinson 估計(jì)def jacobian_frobenius_sq(model, x, num_samples4): 估計(jì) ||J||_F^2x 是單個(gè)樣本 def f_single(xi): return model(xi.unsqueeze(0)).squeeze(0) total 0.0 for _ in range(num_samples): v torch.randint(0, 2, x.shape, dtypex.dtype, devicex.device) * 2 - 1 _, jv jvp(f_single, (x,), (v,)) total total (jv ** 2).sum() return total / num_samples原理是 E[||J·v||2] ||J||_F2只要 v 的分量是零均值、單位方差的隨機(jī)向量Rademacher 分布 ±1 就夠。四次采樣的估計(jì)就足夠穩(wěn)定成本只有四次前向。這個(gè)技巧在很多需要控制 Lipschitz 常數(shù)的工作里都是標(biāo)配。5.3 靈敏度分析與參數(shù)掃描工程仿真里經(jīng)常有這種需求一個(gè)模型有 30 個(gè)可調(diào)參數(shù)輸出是 5000 個(gè)測點(diǎn)的響應(yīng)曲線想知道參數(shù)動(dòng)一點(diǎn)點(diǎn)輸出怎么變。這就是標(biāo)準(zhǔn)的 JVP 場景輸入小輸出大反向模式完全使不上勁。def simulate(params): # params: (30,) 返回: (5000,) ... params torch.randn(30, dtypetorch.float64) direction torch.zeros(30, dtypetorch.float64) direction[3] 1.0 # 只看第 4 個(gè)參數(shù)的單獨(dú)影響 _, sensitivity jvp(simulate, (params,), (direction,))這里的sensitivity就是第 4 個(gè)參數(shù)單獨(dú)變動(dòng)一個(gè)單位時(shí)5000 個(gè)測點(diǎn)各自的響應(yīng)。用 VJP 做同樣的事得對 5000 個(gè)輸出各反向一次成本差兩個(gè)數(shù)量級。神經(jīng) ODE 的伴隨方法里也大量依賴這類操作只不過那邊用的是 VJP因?yàn)槟繕?biāo)通常是標(biāo)量損失。方向選擇永遠(yuǎn)跟著形狀走這一條不會(huì)變。5.4 用 trace 估計(jì)代替完整雅可比有時(shí)候你只想要雅可比的跡trace比如在流模型里估算對數(shù)行列式的一階近似。跡可以用 Hutchinson 直接估def trace_hutchinson(f, x, num_samples8): n x.numel() total 0.0 for _ in range(num_samples): v torch.randint(0, 2, (n,), dtypex.dtype, devicex.device) * 2 - 1 _, jv jvp(f, (x,), (v,)) total total (v * jv).sum() return total / num_samples因?yàn)?E[v?Jv] tr(J)。對一個(gè) 100 維的對角函數(shù)八次采樣就能把跡估到 5% 以內(nèi)的相對誤差而完整雅可比要 100 次前向。這個(gè)差距在參數(shù)維度上千時(shí)會(huì)變得不可接受。6. 性能與工程取舍什么時(shí)候不該用 JVP6.1 批量化vmap 一次比循環(huán)一百次強(qiáng)torch.func.jvp真正的威力在于它能被vmap包裹把一百個(gè)方向變成一次核函數(shù)調(diào)用。手寫 for 循環(huán)的話每個(gè)方向都要重新走一遍算子調(diào)度Python 開銷直接吃掉所有收益。實(shí)測在一個(gè)中等規(guī)模的網(wǎng)絡(luò)上vmap 版本比 Python 循環(huán)快 20 倍以上。如果不想用vmapPyTorch 還提供了另一條路torch.autograd.grad的is_grads_batchedTrue參數(shù)把多個(gè) VJP 的 cotangent 堆成一個(gè) batch 一次算完。y f(x) u_batched torch.eye(y.numel(), dtypey.dtype).reshape(y.numel(), *y.shape) grads torch.autograd.grad(y, x, grad_outputsu_batched, is_grads_batchedTrue)[0] # grads 形狀 (y.numel(), *x.shape)每一片是一行雅可比這條路的優(yōu)點(diǎn)是底層實(shí)現(xiàn)更貼近 autograd 原語某些老算子上比 vmap 兼容性更好。缺點(diǎn)是它算的是 VJP 批量方向選擇依然受形狀限制。6.2 顯存前向模式不是免費(fèi)的前向模式的顯存開銷常常被低估。每個(gè)參與運(yùn)算的張量都要額外存一份 ε 分量理論上翻倍再疊加vmap的批維度實(shí)際可能是三到四倍。當(dāng)輸入維度 n 達(dá)到幾千、中間激活又很大的時(shí)候jacfwd直接 OOM 是常事。幾條降顯存的手段按有效性排序用chunk_size參數(shù)分批 vmap把 n 個(gè)方向拆成若干組一組一組算再拼起來在torch.no_grad()外層包一層只讓需要求導(dǎo)的部分進(jìn)計(jì)算圖換jacrev如果你的形狀允許的話反向模式的顯存模型完全不同有時(shí)候反而更省降低精度到 bf16前向模式對精度的容忍度比反向模式高一些因?yàn)闆]有梯度累積的鏈?zhǔn)椒糯蟮闰?yàn)證數(shù)值穩(wěn)定性。6.3 一條選擇決策線把這些經(jīng)驗(yàn)壓縮成一條可以照著走的判斷線如果你的目標(biāo)是一個(gè)方向上的方向?qū)?shù)且函數(shù)的輸入維度不大用torch.func.jvp一次完事。如果目標(biāo)是完整雅可比先看形狀輸入元素少于輸出元素走jacfwd反之走jacrev。如果目標(biāo)是海森矩陣乘向量用jvp(grad(f), ...)組合別去碰functional.hvp那個(gè)內(nèi)部是反向兩次慢。如果目標(biāo)是雅可比范數(shù)或跡這類標(biāo)量統(tǒng)計(jì)量別算完整雅可比用 Hutchinson 加隨機(jī)方向估計(jì)采樣四到八次就夠。我個(gè)人的體會(huì)是torch.func這套 API 剛上手時(shí)最大的障礙不是語法而是思維方式的切換——它不依賴全局的requires_grad狀態(tài)也不依賴.backward()一切都是顯式的函數(shù)變換。一旦適應(yīng)了這種寫法代碼反而比傳統(tǒng)的 autograd 更清晰因?yàn)閷κ裁辞髮?dǎo)、沿著什么方向全都寫在函數(shù)簽名里不用去猜計(jì)算圖長什么樣。真正需要警惕的只有兩點(diǎn)一是別在需要前向模式的場景里誤用torch.autograd.functional.jvp二是做數(shù)值校驗(yàn)時(shí)務(wù)必用 float64 并且避開折點(diǎn)這兩條踩過一次就夠記一輩子了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99久在线精品99re8热视频在线| 欧美一级黄色免费专区| 久草色在线观看| 青草综合| 久久精品国产亚洲AV无码电影| 丁香五月天激情网站| 亚洲天堂,男人| 欧美曰韩国产精品| 国产精品成人午夜福利| 99精品成人免费看| 亚洲综合在线高清| 亚洲男人天堂手机版| 岛国1区2区3区在线观看| 欧美成人性爱视频大全| 96久久久精品| 精品毛片av一区二区| AV中文在线| 亚洲图片 激情小说| 日本操逼视频免费| 国产无马av| 久久久成人精品| ji熟女.com| 亚洲91少妇| 久久嫩草| 91视频国品一二三区| 色偷偷综合91久久噜噜| 日韩一级片在线看| 色婷婷日韩精品一区二区三区| 在线观看高清AV| 色五月天AV| www.av家庭乱伦| 久久久久久性爱片| 午夜男女爽爽爽影院视频| 嗯~啊~快点 死我视频| 夜夜性| 亚洲人人操| 97视频免费播放| 大香樵伊人网| 欧美成熟性爱精品| 性性久久| 国产成自自拍在线观看| 黄在线| 欧美色自拍| 亚洲天堂人妻熟妇视频| 91 偷| 天天插天天射| 欧美午夜视频免费观看| 日本一线产区和二线产区伦理片| 精品妇女一区二区三区| 午夜福利成人免费视频| 91观看 国产白丝| 亚洲人精品久久久喷水| 国产理论视频在线播放| 91亚洲网站| 美女露胸露屁股| 懂色中文一区二区三区| 日韩中文9| 欧美国产日韩清纯唯美| 蜜乳Av成人片网站| 成人怡红院| 国产乱弄免费在线视频。| 久久东京伊人一本到鬼色| 久久久久99精品成人片蜜臀| 久久人妻少妇| 国产25页| 快点操死我| 久久一级无码精品毛片6| 亚洲影视综合| 四虎免费在线播放| 熟女网站最新| 青青操少妇| 婷婷五月综合在线| 人人爱人人操人人性| 亚洲一区在线观看欧洲| 亚洲熟女中文字幕在线| 天天综合网日韩| 超碰9 7女人| 97中文字幕色| 亚欧美天堂在线| 久热这里| 亚洲精品亚洲人成人网| 自拍偷拍 日韩无码| 国产成人欧美一区二区三区的国产| 91 综合网| 黄色一区三区| 青草综合| 超碰 另类 欧美| 97在线视频免费看| 精品 码产区一区二-1080P高清在线www-B029AV | 亚洲Av无码成人精品国产| 日韩特级毛片免费观看全集| 午夜精品久久久| 99夜夜操| 午夜啪| 久久青青草在线视频| 九九九九九九综合| 久久视频,这里只有精品| 青青草字幕AV| 少妇高潮九九九九九九九| 日本中文字幕熟妇| 日本黄色精品| 国产精品久久久啊| 亚洲最新Av| 青娱乐老司机视频| 金莲网址| 啪啪91| 亚洲中文字幕噜噜噜久久久| 高清不卡一二三区视频......| 亚洲国产综合久久天堂| 玖玖资源视频一区二区三区| 奶水 人妻 哺乳 在线| 99热免费| 欧美色天堂网在线视频| 亚州图片第一页| 懂色av色欲av蜜臀av| 777超碰| 亚洲一区二区中文字幕| 欧美九九爱| 日日噜噜夜夜久久亚洲一区二区| 日本性感人妻91| 99性爱视频| 久操视频在线| 毛片电影一区二区三区| 亚欧美色图| 又大又长又粗又爽又黄| 丝袜综合| 日本东京热加勒比久久| 日日黄色三级网站| 国产日韩手机视频在线| 裸体美女久久久| 欧美激情另类一区二区| 久久精品免费| 天天干人人干天天日97| 91无摭挡| 26UUU欧美激情一区二区| 神马久久久久久久久久| 天天视频综合在线观看视频| 亚洲欧美内射| 五月婷婷激情| 久久久久九九九九| 亚洲码和欧洲精品激情系列| 国产精品亚洲一级av第二区| 日韩免费中文字幕视频| www老逼91| 人人看黄色视频| 欧美亚洲高清不卡| 久久精品性| 日日超碰亚洲| 国产按摩一区二区三区| 日韩乱伦AⅤ| 日韩精品国产一区二区| 五月天婷婷久久| 少妇丝袜在线观看AV| 亚洲熟妇一,二,三期| 亚洲AV成人无码久久精品播放| www.夜夜操| 亚洲色天堂九9| 日本成人在线不卡一区二区三区 | 99久久99久久免费精品蜜臀| 凹凸视频特色日本特黄| 精品少妇一区二区三区| 亚洲成A∨人影院在线欢看| 啊啊啊啊啊啊啊在线| 免费精品中文字幕| 欧美78| 欧美福利视频啊啊啊啊| 色月天AV导航| 国产精品不卡一区二区电影| 日本不卡高清免v欧美日韩在线观看| 唯美清纯 妖精视频| 青青草日韩无码| 综合网亚洲| 国产后入内射| 一区中文字幕二区日韩| 国产成人亚洲精品无码最新在线| 久久三区四区| 99热9| 超碰在线一区二区三区| 天天添天天干电影| 日韩精品国产一区二区| 亚洲黄色电影| 狠狠搞 亚洲91| 久久成人午夜精品影院| 亲子敌伦对白在线播放| 日韩无码服务区| 亚洲aV无码成人在线观看| 熟女高潮合集-永久久久-成人AV| 日本一区二区成人在线| 天天欲望网| 超碰人人乐97| 91在线精品| 亚洲欧洲成人在线电影| 九九久精品| 亚欧美天堂在线| 思思性爱| 99热精品在线观看| 啊啊啊在线观看免费视频| 亚洲精品中文字幕一区在线视频| 美女久久久| 中文在线久久字幕| 亚洲欧美中日韩| 久综合网| 日本韩欧美在线播放a| 欧美一级AAAAAAA| 激情小说亚洲图片| 国产中文福利| 好吊色一区| 日本精品性生活久久久| 不卡在线一区,精品一区二区三区中| 日韩性爱小视频| 亚洲情色 无码专区| 2025亚洲男人天堂| 很很干很很操| 欧美性生活综合| 国产亚州精品美女久久久免费| 亚洲中字幕日本一区二区三区| 丰满人妻一区二区三区免费| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 在线无码操| 午夜视频黄| 亚洲中文字幕av | 老女人爆菊| 亚洲国产无码精品首页久久久| 国产对白刺激视频| 久久性爱精品一区| 九月丁香综合网| 免费看日本操逼视频| 国产精品久久久久中文字幕| av强奸乱轮| 日韩免费三级黄片电影| 亚洲av国产av综合av卡| 欧美日韩国产电影| 欧美91久久久久| 精品久久久一本一道| 97在线播放 | 人妻夜夜爽天天爽麻豆三区网站| 大香蕉92| 欧美中出| 另类图片五月| 超碰色97| 五月天综合网| 嗯嗯啊好爽| 色婷婷电影网| 91精品微拍福利| 99re8超碰| 99re9| 120分钟婬片免费看| 大香蕉免| 91视频伊人| 欧美熟女激情| 久久久一区二区三区三州| 天天日日本| 男人女人18禁片免费看网站| 观看免费区二区三区二| 一区二区三区在线美女| 九九九九九九亚洲| 国产亚洲性生活视频播放| 色狠狠色| 色网色网色网色网色网色| 亚洲色图久久精品蜜| 啊啊啊好大好深| 99激情视频| 天堂网亚洲区手机版| 97操操| 网友自拍第1页| 91亚洲黑人| 欧美成人一级麻豆| 美腿丝袜偷拍亚洲欧美| 国语精品内射在线观看| www.人人摸在线视频| 五月天久久久| 欧美人体性爱互联网第一页婷婷日本| 黄色高清久久无码依人| 免费伦费视频在线观看| 国产少妇高潮| 97人妻碰碰中文无码久热丝袜| 亚洲第91页| 操逼www.| 香港日本韩国人妇99www.wccm20| 风流老熟女一区二区三区l| 女上位精品在线| 国产无马av| 天天躁日日躁狠狠躁| 另类综合另类| 国产精品探花视频| 亚州综合| 囯产精品强| 日韩精品一区二区三区四虎影视| 日韩欧美性爱电影在线观看| 日日日色色色色色| 天天干,天天日| 国产又猛又粗又爽又黄| 黄色片G G G| 在线 制服丝袜中出 人妻| 丝袜美腿欧美| 中文字幕中文字幕一区二区| 67914在线兔费成人视频| 殴美性色a级欧美| 日韩黄片视频试看| 欧美亚洲今日在线| 九99久久| 超碰亚洲欧美日韩无| 国产一区二区精品久久99| 九九九成人| 91网18| 亚洲色欲天天人妻无码系列专区| 亚洲 无码 偷拍| 97日韩欧美亚洲| 日韩ab网 | 正宗无毛一线天嫩逼| 国产精品久久发布| 日韩av不卡在线观看| 午夜性生活av免费在线看| 日本顶级天天操狠狠操夜夜操中文字幕| 国产99热| 中文久久爆乳| 亚洲天堂一区二区久久| 午夜舔阴达高潮视频免费看| 亚洲丝袜综合| 中字一区| 日韩人妻无码精品系列| 久久久999日本大片| 午夜.DJ高清在线观看免费7| 97超碰人妻| 青青草色插素人| 视频二区美腿丝袜制服人妻欧美 | 成年女人黄网站| 亚洲不卡三级手机播放| AV天堂因数| wuyechaopeng| 超碰免费欧美7| 岛国小电影| 亚洲黑丝在线| 久久久人妻| 在线观看黄色电话| 免费作爱一级视频| 色狠狠 - 百度| 亚洲无码视频免费在线观看网址!| 玖玖爱伊人玖玖爱| 久久亚码| 国产一区二区三区,在线观看观看| 久久久com| 99亚亚热| 99久热| 91色色色| 亚洲色图殴美色图激情乱伦| 日va操| 日语五十路和六十路亚洲国产精品| 不卡二三区人妻少妇| 欲色啪| 亚洲自拍欧美色综合| 久久超碰、| 欧美视频第二页| 91亚州欧美| 久久国产精品,久久国产| 日韩乱码av| 久久国产精品91| 亚洲AV小说| 人人乐大香蕉| 一二三啪啪专区| 欧美成人精品一区二区三区| 啊啊啊啊啊操我视频| 91亚州日韩高清| 欧美日韩99| 亚洲AV无码乱码在线观看性色| 欧美人妻一区二区| 精品人妻一区二区三区不卡断| 性生活性生大爱77AV国产| 快播久久人人aV| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 很很热性爱视频| 黄色高清无码无码破解免费暗网| 一级黄色影片| 亚洲国产剧情少妇激情| 精品国产污一区二区三区| 亚洲色图 欧美热图 清纯唯美 另类自拍| 九九热AV| 欧美三级一级| 亚洲黄色网址| 亚洲欧洲综合| 久久性爱视频99| 国产精品一区午夜福利| 日韩中文字幕视频在线观看| 99久视频| 欧美中字二区| 久久久天堂| 欧美加勒比| 亚洲乱色熟女一区| 日本东京热加勒比久久| 免费一级欧美片片线观看| 水澄无码AV| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 欧美性生活内射| 少妇熟女视频一二三区| 中文字幕一二三| 精品人妻1区| 视频黄色国产一级| 丁香婷婷啪啪| 97精品视频免费| 超碰97综合网| 日韩无码视频黄色| 欧美视频边做饭边橾| 91麻豆va国产精品| 亚洲吊色| 青青草综合在线| 伊人操你| 国产黄色 A 片免费看| 色色五月婷婷| 久色99999| 91精品91久久久中77777| av在线播放国产一区| 在线v中文字幕一区二区三区| 插入综合网| 9热9热综合网| 熟女91网站| 淫荡熟女乱伦网| 自偷自拍的亚洲视频| 偷窥自拍亚洲色图| 久草成人影片| 亚洲性爱电影| 夜夜夜久久| 欧美淫乱视频| 中文字幕一二区二三区人妻专区| 国产丝袜视频| 88在线一区二区三区| 亚洲欧美国产中文视频| 人人操人人摸人 | 怡春苑东京热| 久久久成人精品| 亚洲美女自拍偷拍视频| 绯色AV粉色AV蜜臀AV| 久久久久久亚洲Av无码精| 亚洲精品久久久久毛片A片拉屎 | 人妻精品一区二区三区| 国产真乱mangent| 日韩综合色网| 日本成人A片免费看| 人妻酒店出差被中出免费在线播放| 黑人性欧美| 福利伊人玖玖国产| 啊啊啊啊啊啊啊啊啊啊在线观看| 秋霞免费无码视频日韩A片| 激情五月丁香五月| 国产少妇内射| 国产精品熟女一区二区三区| 日本岛国黄色网址| 亚洲欧美国产中文字幕| 国产精品久久久久无码Av网曝门| 亚洲一二三精品久久网| 亚洲欧美另类图片| 亚洲高潮少妇| 天天综合网在线观看| 色色五月天激情| 91老熟女91老女人| 夜间福利片1000无码| 人人超碰在线观看黄| 亚洲无码 国产无码| 成人性爱电影一区二区| 青草伊人久久| 欧美特大黄一级片片免费| 色网1| 91东京热男人的天堂| 青青草在线视频人人想人人上| 女人综合网| 2011国产精品| 2024黄色视频| 99热思思| 伊人操| 久9精品| 久久久久久亚洲Av无码| 大香蕉手机在线| 夜夜做夜夜爽精品视频| 欧美色97| 日韩黄色一区二区三区| 黄色激情电影在线观看| 亚洲极品| 精品超碰国产| 欧美日韩性爱操大逼| 免费看污网站| 岛国在线免费视频| 国产乱青青草久久| 久久9视频| 久久网亚洲| 久久高清欧美国产| 加勒比久久综合网高清| 91在线/欧洲| 欧美性爱三区二区| 东北女人性交| 久都青青视频| 51久久夜色精品国产麻豆| 亚洲综合图色在线| 在线观看精品国产免费| 天天天肏屄肏屄肏屄欧美欧美| A V少妇特黄三级| 国产高清亚洲日韩一区| 欧美中字二区| 日本在线播放不卡一区| 大茄子熟女AV导航| 天天综合色电影| 成人小说另类在线| 97色欧州| 99熟女| 91爱啪| 国产精品午夜成人福利| 夜间福利片1000无码| 婷婷国产精品一区二区| 欧美少妇第一页| 国产小黄片在线免费观看| 噜噜噜亚洲精| 亚洲国产一级中文综合久久天堂在线免费观看| 日韩 欧美 另类 人妻| 欧美色综合网| 亚洲天堂自拍| 国产精品久久久久av| 亚洲欧美综合| 9九九国产| 999久久久九| 91人妻素女| 熟女精品日韩一区二区三区| 亚洲 欧美都市激情| 欧美天天综合网| 青青欧美| 极品粉嫩一区二区| 国产久久久久久久久一区二区| 日本操逼无码| 99re99在线视频| 禁十八久久| 激情五月丁香五月| 自怕偷自怕亚洲精品| 天天狂操夜夜狂日| 九热超碰| 欧亚第一综合网| 天天综合网日韩7799| 天天92av| 久久激情视频| 久久久九九九九| 日韩pv中文| 啊视频在线| 天天色黄色影院天天操| 精品视频一二三中文| 韩日自拍| 中文字幕丝袜人妻| 国产AV高清AV无码| 免费一级黄色录像影片| 啊啊啊啊无码| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 一个色导综合| 综合亚洲欧美精品日韩?v| 清纯唯美综合| 久草免费在线视频| 精精品人妻一区二区三区| 午夜久久久| 日韩精品99久久久久久中文字幕 | 日韩黄片视频试看| 超碰色大香蕉| 一本一道久久综合久久| 中文字幕精品久久久久人妻红杏ⅰ | 96久久久精品| 国产亚洲福利第一页丝袜| 日韩AV噜噜噜一区二区三区四区 | 久久久久9久久久久| 日本99视频| 看一级黄色视频| 熟女精品va中文字幕| 在线中文字幕| 亚州男人天堂| 男人的天堂VA| 婷婷8月天青娱乐| 91蜜臀人妻中文字幕在线| 日本一区二区电影网站| 日韩人妻操B| 怡红院视频在线| 亚洲欧美大香蕉| 久久久久久亚洲精品不卡人乳| 97精品综合久久| 国产精品免费视频人成| 久久无码成人| 一级黄色性爱A级片| 日韩免费中文字幕视频| JIZZJIZZ亚洲女人被躁| 亚洲国产丝袜熟女av| 青娱乐休闲视频在线观看| 97天堂| 欧美翘臀视频网站一区二区三区| 中文字幕三四区| www亚洲免费| 萌白酱自拍视频| av资源在线播放天堂| 丁香五月激情综合| 天天干天天日天天射黄色大片| 欧美日韩大陆黑人少妇99| 粉嫩久久久久| 大香久久| 一起草三级AV电影在线观看 | 国产AV线| 欧美人妻少妇| 日韩国产不卡在线视频| 最新日韩黄片| 久久人妻四季| 久久久久78| 亚洲中文字幕av | 五月婷婷六月激情| 欧美日韩少妇色情| 久久精品无码不卡| 亚洲中文字幕在线视频一区二区| 综合免费无码中文| 色色国产| 国产精品不卡一区二区三区| 天天影视综合色| 在线播放成人高清免费视频 | 97精品中文字幕| 91色婷婷综合久久中文字幕二区| 26UUU欧美日本| 久久久免费一级黄片| 小少妇| 超碰在97| 国产呦精品系列在线观看| 狠狠中文字幕| 97超碰69| ...日韩成人一区二区三区字幕| 美女91在线| 日本国产高清色www视频在线| 91丨九色丨43老版熟女| 国产熟女二区| 黄页av| 欧美精品久久久久久久久88| 99999精品成人| 青青草影视蜜久久| 日本无码1| 日韩欧美女优电影| 91精品国| 国产人伦a片信息免费片| 日本三级韩国三级99| 亚洲国产中文字幕| 日韩兔费看黄片| 国产欧美一区激情交| 东京热精品97综合网| 欧美性性性| 大地资源在线观看中文第二页| 亚洲中文字幕妇伦久久| 日本二三四区| 日本久久天堂| 久久精品中文| 国产精品原创巨作?v网站| 99天堂网| 日韩在线观看AV| 欧美日韩香蕉| 麻豆精品A片免费观看| 国产丝袜一区二区三区| 日韩精品色呦呦| 成人性生活高清视频在线播放| 91快色色色色色| 无码免费一区二区三区啪啪| 啊啊啊啊无码| 中日高清无码操逼视频| 操淫穴亚洲五月丁香 | 欧美色97| 日韩人妻一区二区精品| 婷婷香网站| 欧美 日韩 亚洲 春色| 欧亚不卡| 亚洲熟妇一,二,三期| 天天综合色电影| 一起草视频在线| 久操精品网| 九九九九一区| 成人免费福利网站国产| 国产精品乱码久久久、久久| 探花在线免费观看视频国产一区| 少妇人妻精品| 91影库| 久久综合女优| 成全在线观看免费观看| 久久国产精品熟女人妻| 人妻无一区二区三区| 九九久久国产精品| 国产 日韩,欧美 自拍| 亚洲欧美激情另类色图| 综合网天天| 狠狠中文字幕| 超碰在线人妻中文字幕| 欧美在线啊啊啊 | 超碰97精品在线| 天天干电影| 国产四虎在线| 亚洲激情在线观看一区| 久久精品视频在线观看| 国产 亚洲 丝袜 制服| 久欲AV| 成人av动漫在线观看| 久久久久女教师免费一区| 六月丁香啪啪| 国产在线综合福利网站| 在线黄色污污网站| 国产一区二区a毛片| 久久中久文96| 乱伦AVxx| 久久久久99精品成人片蜜臀| 久久最新免费视频23| 2020久久免费视频| 1204金沙人妻懂旧版免费| 国产精品无码在线| 色九九久九九| 色诱中文字幕| 国产极品精品美女视频| 日本最新1区2区3区| 亚洲精品视频在线| 嗯嗯啊啊操我| 亚洲国产丝袜在线观看| 狠狠爱综合网| 无码不卡亚洲成?人片| 天美传媒在线一区| 五月香婷婷| 在线日韩日本亚洲国产| 极品色电影院| 97婷婷色| 九九综合久久中文字幕| 蜜桃臀av一区二区| 亚洲。日韩。欧美| 丁香六月东京热| 91爱啪| 久久久久久久久九九久孕交| 黑人精品成人一区二区三区 | JULIA一区二区三区在线播放| 97超碰久久| 夜夜福利| 性色一线| 人人操人人叉人人插人人| 欧美欧美少妇| 欧美成人色| 屌逼麻豆| 超碰成人公开| 91东北熟女| 爱啪精品一区| 色色99| 玖玖爱免费观看视频| 日韩有码专区| 国产AV人人夜夜澡人人爽麻豆| 99丝袜福利在线播放| 日逼视频日本| TS人妖另类精品视频系列| 久久久久久裸体| 欧美有码亚洲中文字幕一区二区三区四区| 日本精品不卡一二三区| 亚洲精品欧洲色| 亚洲揄拍网| 久久久com| 婷婷视频在线免费观看| 黄视频免费| 欧美亚洲情色| 夜夜国自区| 动漫av中文| 97一区二区蜜臀| 无码国产精品午夜不卡(| 两女互慰AV高潮喷水在线观看| 色九久| 国产欧洲精品亚洲午夜拍精品| 亚洲国产剧情少妇激情| WWW黄片COM| 天天插夜夜操| 亚洲精品自拍| 亚洲性天堂| 色香网| 久久影视二区三区行押| 不卡九肏| 97精品一二区| 9九九九九视频在线观看| 成年人性爱日韩| 国产日产精品久久快鸭的功能介绍| 狠狠操使劲操| 国产日韩怡红院| 后入日本1234| 超碰 国产熟女精品一区| 安徽熟妇视频| 97香蕉人人乳| 久久嫩草国产成人一区| 日产狠狠干| 久99| 五月天婷婷小说| 亚洲日韩成人性爱视频| 在线观看黄色电话| 欧美综合国产精品久久丁香| 中文乱码字字幕在线第5页| 精品午夜福利| 久久精品电影在线| 本道综合精品| 9丨久久九九九| 99久久久| 日本久久超碰| 久久久久少妇| 男人的天堂2018| 国产捆绑一区| 国内毛片国产欧美拍| 婷婷色综合欧美日韩| 天美精品原创av片国产| 翔田千里AV无码秘 三区| 综合色好色| 人妻少妇久久中文字幕一区二区 麻豆 | 亚洲丝袜诱惑| 人人操人人色网| 26uuu久久| TS人妖另类精品视频系列| 亚洲欧洲成人在线电影| 一本色道综合久久欧美| a片 xxxx受爽视频| 天天操人人操狠狠插| 99re公开精品免费视频| 秋霞久久亚洲精品成人| 国产一级αv免费看片| 婷婷色五月激情| 婷婷九月色| 久久久久精| 日本97久久久精品| 国产精品 午夜福利| 青青草黑寡妇男人天堂| 久久综合九九| 婷婷五月影院| 久九干| 高清不卡国产| 动漫区日韩区欧美区| 天美传媒av一区二区| 天欧美在线| 先锋女优在线观看视频| 思思久热在线精品66| 天天射天天操天天干天天吃2018 | 国产欧美岛国精品一区| 91|九色|国产熟女| www.97在线| 青青草十区九区爱夜| 少妇99| 欧美78P| 伊人国产成人av网站| 久久这里是精品| 99精品久久久久久久婷婷蜜桃| 成人免费不卡在线视频| 亚洲国产精品久久久久久久久久| 熟女色图在线| 熟女AV一区| 少妇淫妇久久久久久久| 熟女这里只有精品6| 黄片在线免费在线观看| 性爱视频无打码在线观看| 大香蕉性欧美| 天天干18禁| www亚洲免费| 97人人操人人干| 日韩伦理视频| 免费男人的天堂| 国产强奸AV在线| 最新中文字幕在线亚洲| 不卡超碰护士AV在线免费播放| 国产十八禁视频| 日韩一卡二卡三卡| 国产自产自拍| 天天综合网国产| 宅男91视频在线播放| 欧美青青草视频| 韩国一级做a久久久久| 人妻一二三区| 国产精品交换一区二区| 夜夜精品视频| 超碰99热中文字幕| 亚洲国产蜜臀系列在线观看| av中亚| 亚洲色图加勒比| 97精品国产精品免费观看| 天天摸夜夜摸| 九九久久久| 小草三级久久观看| 久久久久久九| 欧美综合骚| 亚洲91色| 99999精品成人| 91综合色| yirendaxiangjiashipin| 蜜臀99久久国产| 99啪| 一区二区三区一亚洲中文字幕、综合区灬| 久久黄色视频一区二区三区 | 亚洲午夜AV| 青青草五月份天| 激情五月婷婷| 好爽要喷了| 午夜亚洲国产理论秋霞| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 色哟哟 日韩精品| 欧美天堂日韩三级国产传媒| BBBBB97COM| 毛片99-全集电影手机免费观看完整-B029AV | 亚洲av综合伊人久久| 人人喜人人妻| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 国产精品成久久久久午夜午夜| 秋霞色色影院| 亚洲国男人的天堂| 果冻传媒一区二区三区| 国产精品免费日韩| 日韩精品电影| 国产资源中文字幕在线| 日韩一999精品| 日韩色欲久久一二三四区| 青青草密桃在线播放| 亚洲九九爱| 人妻干天天| 天天日天天色| 蜜臀久久久99久久久久 | 国产操逼网站亚洲一级黄色| 911av网站免费观看| 精品熟女一区=区三区| 欧美综合天堂| 超碰人人在线| 久久天天艹| 久久久涩| 黄色性爱网网| 蜜臀久久久99久久久久 | 韩国轻伦国内自拍一区| 九九九九精| 大香蕉欧美伊| 国产白嫩漂亮KTV在线| 国产一区二区在线看| 六六久久日韩不卡| 久久男人精品| 欧美日韩亚洲少妇寂寞影院正在播放 | 麻豆久久精品亚洲精品88| 夜夜爽妓女| 亚洲 日韩 丝袜 熟女 变态| 国产AV线| 久久久久久久久久久久黄色 | 后入综合久久| 一区二区三区四区久久视1| 免费看久久久性性| 欧美性爱第一页久久| 综合一区二区影视| 亚洲丝袜色图| 99热亚洲| 亚洲中文字母在线播放| 中文字幕第9页萱萱影音先锋| 久久久免费懂色| 嗯啊不要在线观看嗯啊| 在线无码操| 欧洲特黄毛片免费看欧洲毛片| 亚州五月| 91性高| 久久久久久久久久久久黄色| 综合网欧美在线| 久久人人爽人人爽人人片Ⅴ| 两女互慰AV高潮喷水在线观看| www欧美91| 啊啊啊轻点在线观看| 色超碰综合| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 日本三级黄页| 一区二区三区精品视频| japan日本高清乱xxxx| 欧美人人操人人插| 一级做a爰片性色毛片久久| 东北女人高潮视频| 四虎精品亚洲| 久久久性少妇| 性色综合网| 99av| 人人操,人人插| 97av在线观看| 日本性爱视频一级| 国产日韩手机视频在线| 岛国黄片网站| 黄色片,com| 亚洲αv一区二区三区| 亚洲国产高清福利视频| 大色综合网| 久久久国产三级黄色片| 国产强奸超碰AV| 日韩999| 日韩在线女优天天干| 青青草视频久久久久| 99国产精品免费| 色五月激情AV在线| 中文字幕二区| 日韩肏逼视频| 99re免费视频精品全部| 欧美精品99久久久**| 免费久久精品麻豆一区二区av| 丁香五月激情啪啪| 亚洲精品三| 国产av青草| 国产97/欧美| 俄罗斯及免费在线看| 国产福利小视频高清在线观看| 国模少妇一区二区三区| 亚洲熟妇丝袜在线观看| 污污污8888| 男人网站婷婷| 欧色网址| 大香蕉之青青草原| 96国产精品| 国产精品呦一区二区三区| 蜜桃传媒视频第一区入口在线看| 激情四射熟女丝袜| 亚洲伊人a线观看视频| 99综合| 亚洲的天堂网| 97超碰人妻| 99熟女| 麻豆精品天美| 日韩偷拍一区二区三区| 91久操| 熟妇一区,二区,三区。| 午夜.DJ高清在线观看免费7| 操狠狠| 99少妇| 亚洲乱码尤物193YW| 日韩不卡码| 免费看黄片现成| 在线观看十八禁| 天天操妹子| 这里只有精品视频在线| 中文字幕熟女人妻丝袜丝| 福利社区午夜一区二区| 安徽熟妇视频| 100啪啪视频大全| 欧美黄色图片| 97综合久久| 97爱亚洲综合色| 久久精品国产AV一区二区三区| 熟妇熟女亚洲天堂网| 97亚洲精品| 91老熟女逼| 亚洲无码超碰免费| 91色噜噜狠狠| 隔壁邻居波多野结衣中文字幕 | 人妻天堂综合网| 大香蕉久久| 国产白嫩精品久久| 亚洲欧美日韩制服另类| 日han少妇无码| av在线观看不卡网站| 日韩熟女视频二区| 激情综合网五月婷婷| 三级色影综合网| 亚洲欧美中日韩| 一个色导综合| 久肏视频字幕| 99热这里| 亚洲国产成人福利在线观看| 五月婷婷青青草娱乐伊人| 无遮挡h肉动漫在线观看| 97爱亚洲| 美腿丝袜高跟网免费视频免费视频| 九月丁香综合网| 婷婷爽人人婷婷爽视频| 成人综合网 欧美| 国产树林里野战在线看| 久久久久久人体| 欧美综合在线91| 秋霞视频一区二区 | 亚洲乱码国产乱码精网站| 日骚逼视频| 欧美 亚洲 综合 制服| 这里只有精品视频在线观看麻豆| 天天躁日日躁狠狠狠躁| 日韩天堂av电影在线观看| 丰满人妻一区二区三区大胸懂色| 99re欧美| 久久久久极品| 美女诱惑在线一区| 亚洲有码 欧美精品| 夜间福利片1000无码| 亚洲一区二区在线观看91| 午夜视频久久久| 亚洲人综合| 国产女同性恋视频| 神马精品视频| 国产免费一区二区在线A片视频| 一级岛国大片| 久久丁香久草综合网| 九九九国产| 国产精品久久久亚洲第一牛牛_在线观看 | av国产无码| A级国产欧美激情在线| 色香综合天天影视综合 | 手机久操欧美综合色码| 最新加勒比丝袜在线| 操操碰| 日本精品高清一二区一本到| 亚洲AV麻豆Aⅴ无码电影一| 色综91| 91无遮挡| 91综合中文字幕| 人妻丝袜日本| 久久久久99精品成人片蜜臀| 日韩有码中文字幕女同性恋| 99久久99九九99九九九| 淫穴高潮色图| 久久精品国产亚洲av水密被窝| 操老熟女AV| 欧美狠狠狠| 久久αⅴ| 91色交| 中文字幕一区二区在线日韩精品| 欧美一级久久久久久久大片动画 | 91AV天堂| 97超碰影音| 亚洲无码一区成人免费午夜| 色噜噜狠狠色综无码久久合欧美| 女同性恋中文字幕| 欧日韩一二三f区| 91亚洲高清| 免费自拍三级综合| 1769精品一区二区三区| 激情综合97| 天天日日本| 天天综合网视频91| 国产午夜精品在线观看| 激情综合五| 色丁香五月婷婷| av在线人气| 一二三啪啪专区| 久草精品视频| 日本黄色精品| 国产91福利小视频在线观看| dy888午夜老子影视达达兔| 成人无遮挡毛片免费看| 免费啪啪一级视频| 人妻熟女午夜精品在线| 宅男91视频在线播放| 先锋音影AV| 免费无码婬片AAAA片直播色戒| 免费黄色A片| 操美女人妻| 91天堂网| 另类专区在线观看| 97色色色综合网站| 欧美成人性活片| 欧美日韩性爱视屏免费看了| 男人亚洲91首页在线| 性欧美第一页| 色官网色综合| 91AV老熟女视频| 蜜臀久久久99久久久久 | 欧美色图99| 99久久久er直播网址| AND人妻系列| 九九热九九| 五月婷在线| 日韩精品资源| a级理论午夜日本| 丝袜视频网国产90| 小视频玖玖| 日欧毛片久久| 收看日本人日bb| 91丝袜美女| 中英熟女操女| 96AV久久久| 在线日韩日本亚洲国产| 亚洲天堂色图| 在线a亚洲视频播放在线| 色欧美天天| 精品久久久av无码免费| 玖玖综合色| 国模私拍一区二区三区神乳|