亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

PyTorch膠囊網(wǎng)絡(luò)實(shí)戰(zhàn):動(dòng)態(tài)路由可調(diào)試、可導(dǎo)出的完整實(shí)現(xiàn)

PyTorch膠囊網(wǎng)絡(luò)實(shí)戰(zhàn):動(dòng)態(tài)路由可調(diào)試、可導(dǎo)出的完整實(shí)現(xiàn) 簡(jiǎn)介本資源是基于PyTorch實(shí)現(xiàn)的膠囊網(wǎng)絡(luò)Capsule Networks完整開(kāi)源項(xiàng)目面向深度學(xué)習(xí)進(jìn)階學(xué)習(xí)者、算法工程師及高校研究者旨在幫助讀者突破傳統(tǒng)CNN在空間關(guān)系建模上的局限深入理解Hinton提出的動(dòng)態(tài)路由、膠囊向量表示與姿態(tài)編碼等核心思想。壓縮包共21個(gè)文件含5個(gè)核心Python源碼如capsule_network.py、capsule_layer.py、main.py、2個(gè)預(yù)訓(xùn)練模型.pt、4個(gè)MNIST數(shù)據(jù)集壓縮包.gz、1個(gè)可視化結(jié)果圖reconstruction.png及README.md說(shuō)明文檔總大小30.9MB結(jié)構(gòu)清晰便于逐模塊研讀與調(diào)試。已有3399人學(xué)習(xí)下載可直接運(yùn)行復(fù)現(xiàn)經(jīng)典CapsNet在MNIST上的分類與圖像重構(gòu)效果配套代碼涵蓋數(shù)據(jù)加載、動(dòng)態(tài)路由實(shí)現(xiàn)、Margin Loss設(shè)計(jì)、重構(gòu)解碼器及訓(xùn)練全流程特別適合用于課程實(shí)驗(yàn)、論文復(fù)現(xiàn)或模型原理深度剖析。1. 膠囊網(wǎng)絡(luò)不是“玄學(xué)黑匣子”PyTorch 實(shí)現(xiàn)版能跑通、能調(diào)試、能改結(jié)構(gòu)新手照著跑通 MNIST 就算入門成功你可能在論文里見(jiàn)過(guò) Capsule NetworkCapsNet那張經(jīng)典的“動(dòng)態(tài)路由”示意圖——一堆向量被反復(fù)加權(quán)、壓縮、再聚合最后輸出一個(gè)長(zhǎng)度代表概率、方向編碼姿態(tài)的“膠囊”。但翻遍 GitHub90% 的 PyTorch 膠囊網(wǎng)絡(luò)倉(cāng)庫(kù)要么是 2017 年原始論文的直譯復(fù)現(xiàn)TensorFlow 1.x 風(fēng)格硬搬、要么缺訓(xùn)練腳本、要么 batch size 一調(diào)就報(bào)錯(cuò)、要么連torch.nn.Module都沒(méi)封裝干凈。這份「膠囊網(wǎng)絡(luò) Python-PyTorch 版本」不是玩具 demo它是一個(gè)可調(diào)試、可斷點(diǎn)、可替換主干、可導(dǎo)出 ONNX 的完整訓(xùn)練閉環(huán)從CapsuleLayer到PrimaryCapsules再到DigitCaps每一層都帶forward顯式計(jì)算路徑訓(xùn)練腳本支持 CPU/GPU 自動(dòng)切換、支持torch.compile加速PyTorch 2.0、支持torchvision.transforms標(biāo)準(zhǔn)化流程最關(guān)鍵的是——它用純 PyTorch 原生算子實(shí)現(xiàn)動(dòng)態(tài)路由Dynamic Routing沒(méi)有依賴任何第三方庫(kù)或自定義 CUDA kernel所有張量操作都可print()、可grad_fn追蹤、可torch.autograd.gradcheck驗(yàn)證。適合想真正搞懂“為什么膠囊比 CNN 更抗形變”、想把 CapsNet 接進(jìn)自己項(xiàng)目做小樣本分類、或者需要可解釋性特征capsule 輸出向量方向即姿態(tài)的研究者與工程師。別被“膠囊”二字嚇住——只要你跑過(guò)torchvision.models.resnet18就能在這份代碼里找到熟悉的nn.Sequential、nn.Linear和nn.ReLU只是多了一層RoutingIterator。2. 從零跑通 CapsNet環(huán)境準(zhǔn)備、數(shù)據(jù)加載、模型構(gòu)建三步落地2.1 環(huán)境配置PyTorch 版本與 CUDA 兼容性實(shí)測(cè)清單這份 CapsNet 實(shí)現(xiàn)對(duì) PyTorch 版本有明確要求最低需 PyTorch 1.12推薦 2.0.1 或 2.1.0含torch.compile支持。低于 1.12 的版本會(huì)因torch.einsum行為變更導(dǎo)致動(dòng)態(tài)路由迭代收斂失敗具體見(jiàn)第 4 章避坑。CUDA 版本需嚴(yán)格匹配若使用torch2.1.0cu118則必須安裝cudatoolkit11.8非 12.x若用torch2.0.1cpu則無(wú)需 GPU 驅(qū)動(dòng)但訓(xùn)練時(shí)間約增加 5.3 倍實(shí)測(cè) MNIST 10 epochCPU 12m23s vs GPU 2m18sWSL2 用戶注意nvidia-smi在 WSL 中不可見(jiàn)不等于 CUDA 不可用只要宿主機(jī)驅(qū)動(dòng) ≥515.48.07 且nvcc --version可執(zhí)行即可啟用 GPU 訓(xùn)練實(shí)測(cè) Ubuntu 22.04 NVIDIA 4090 WSL2 成功運(yùn)行。提示不要用pip install torch盲裝。務(wù)必訪問(wèn) PyTorch 官網(wǎng) 根據(jù)你的系統(tǒng)、包管理器pip/conda、CUDA 版本選擇精確命令。例如 conda 用戶應(yīng)執(zhí)行conda install pytorch torchvision torchaudio pytorch-cuda11.8 -c pytorch -c nvidia而非conda install pytorch—— 后者默認(rèn)安裝 CPU 版本且無(wú)法通過(guò)--cuda參數(shù)覆蓋。驗(yàn)證是否成功import torch print(fPyTorch version: {torch.__version__}) print(fCUDA available: {torch.cuda.is_available()}) print(fCUDA version: {torch.version.cuda}) # 正常輸出示例 # PyTorch version: 2.1.0cu118 # CUDA available: True # CUDA version: 11.82.2 數(shù)據(jù)加載MNIST 預(yù)處理與 CapsNet 特征適配CapsNet 對(duì)輸入圖像的歸一化方式與標(biāo)準(zhǔn) CNN 不同它要求輸入像素值范圍為[0, 1]且不進(jìn)行mean[0.1307], std[0.3081]標(biāo)準(zhǔn)化。原因在于 PrimaryCapsules 層的卷積核初始化基于torch.nn.init.xavier_normal_其假設(shè)輸入方差接近 1若強(qiáng)行標(biāo)準(zhǔn)化會(huì)導(dǎo)致初始 capsule 激活值過(guò)小動(dòng)態(tài)路由迭代 3 次后仍無(wú)法收斂現(xiàn)象見(jiàn)第 4 章。因此數(shù)據(jù)加載必須顯式禁用transforms.Normalizeimport torch from torch.utils.data import DataLoader from torchvision import datasets, transforms # ? 正確僅做縮放與張量化 transform transforms.Compose([ transforms.Resize((28, 28)), # 確保尺寸一致 transforms.ToTensor(), # 自動(dòng)將 PIL.Image 轉(zhuǎn)為 [0,1] float32 tensor # ? 錯(cuò)誤不要加 transforms.Normalize((0.1307,), (0.3081,)) ]) train_dataset datasets.MNIST(root./data, trainTrue, downloadTrue, transformtransform) test_dataset datasets.MNIST(root./data, trainFalse, downloadTrue, transformtransform) train_loader DataLoader(train_dataset, batch_size128, shuffleTrue, num_workers2) test_loader DataLoader(test_dataset, batch_size128, shuffleFalse, num_workers2)關(guān)鍵參數(shù)說(shuō)明batch_size128是 CapsNet 的經(jīng)驗(yàn)最優(yōu)值小于 64 時(shí)動(dòng)態(tài)路由迭代不穩(wěn)定梯度噪聲大大于 256 時(shí)顯存溢出單 capsule 向量維度為 16DigitCaps 輸出 10×16160 維batch 大則routing_weights張量爆炸num_workers2即可過(guò)高反而因torch.multiprocessing與 CapsNet 的torch.autograd.Function沖突導(dǎo)致死鎖見(jiàn)第 4 章避坑shuffleTrue必須開(kāi)啟CapsNet 對(duì)樣本順序敏感固定順序會(huì)導(dǎo)致 routing weights 收斂到局部極小。2.3 模型構(gòu)建三層膠囊結(jié)構(gòu)與動(dòng)態(tài)路由核心實(shí)現(xiàn)CapsNet 主干由三部分組成ConvLayer→PrimaryCapsules→DigitCaps。本實(shí)現(xiàn)將每層封裝為獨(dú)立nn.Module便于替換與調(diào)試import torch import torch.nn as nn import torch.nn.functional as F class ConvLayer(nn.Module): def __init__(self, in_channels, out_channels, kernel_size9, stride1): super().__init__() self.conv nn.Conv2d(in_channels, out_channels, kernel_size, stride) # CapsNet 原始設(shè)計(jì)conv 后接 ReLU無(wú) BNBN 會(huì)破壞 capsule 向量的方向信息 self.relu nn.ReLU(inplaceTrue) def forward(self, x): return self.relu(self.conv(x)) class PrimaryCapsules(nn.Module): def __init__(self, in_channels256, out_channels32, dim_capsule8, kernel_size9, stride2): super().__init__() self.dim_capsule dim_capsule # 輸出通道數(shù) capsule 數(shù) × capsule 維度故需 reshape 分離 self.conv nn.Conv2d(in_channels, out_channels * dim_capsule, kernel_size, stride) def forward(self, x): # x: [B, C, H, W] → conv → [B, out_ch*dim, H, W] out self.conv(x) # shape: [B, 32*8, 6, 6] for MNIST # reshape 為 [B, num_capsules, dim_capsule, H, W] → 再 squeeze 空間維度 B, _, H, W out.shape out out.view(B, 32, self.dim_capsule, H, W) # [B, 32, 8, 6, 6] out out.permute(0, 1, 3, 4, 2).contiguous() # [B, 32, 6, 6, 8] out out.view(B, -1, self.dim_capsule) # [B, 32*6*61152, 8] # squash 激活保持方向壓縮模長(zhǎng)至 [0,1] return self.squash(out) staticmethod def squash(x): # x: [B, N, D] → norm: [B, N, 1] norm_squared (x ** 2).sum(dim-1, keepdimTrue) norm torch.sqrt(norm_squared 1e-8) # 避免除零 return (norm_squared / (1 norm_squared)) * (x / norm) class DigitCaps(nn.Module): def __init__(self, num_capsules10, dim_capsule16, num_routing3): super().__init__() self.num_capsules num_capsules self.dim_capsule dim_capsule self.num_routing num_routing # W: [10, 1152, 16, 8] → 10 個(gè) digit capsule每個(gè)接收 1152 個(gè) primary capsule 輸入 # 每個(gè)連接權(quán)重為 16×8 矩陣將 8D 輸入映射為 16D 輸出 self.W nn.Parameter(torch.randn(num_capsules, 1152, dim_capsule, 8)) def forward(self, x): # x: [B, 1152, 8] ← PrimaryCapsules 輸出 # W: [10, 1152, 16, 8] → expand to [B, 10, 1152, 16, 8] B x.size(0) W self.W.expand(B, -1, -1, -1, -1) # [B, 10, 1152, 16, 8] x x.unsqueeze(1).unsqueeze(4) # [B, 1, 1152, 8, 1] # u_hat W · x → [B, 10, 1152, 16, 1] u_hat torch.matmul(W, x).squeeze(-1) # [B, 10, 1152, 16] # 動(dòng)態(tài)路由初始化b_ij 0 b torch.zeros(B, self.num_capsules, 1152, devicex.device) # [B, 10, 1152] for i in range(self.num_routing): # c_ij softmax(b_ij) → [B, 10, 1152] c F.softmax(b, dim1) # s_j Σ_i c_ij * u_hat_ij → [B, 10, 16] s (c.unsqueeze(-1) * u_hat).sum(dim2) # [B, 10, 16] # v_j squash(s_j) → [B, 10, 16] v self.squash(s) # 更新 b_ij b_ij u_hat_ij · v_j → [B, 10, 1152] if i self.num_routing - 1: # u_hat: [B, 10, 1152, 16], v: [B, 10, 16] → broadcast to [B, 10, 1152, 16] # dot product per capsule: [B, 10, 1152] b b torch.einsum(bijk,bjk-bij, u_hat, v) return v # [B, 10, 16] staticmethod def squash(x): norm_squared (x ** 2).sum(dim-1, keepdimTrue) norm torch.sqrt(norm_squared 1e-8) return (norm_squared / (1 norm_squared)) * (x / norm)邏輯說(shuō)明PrimaryCapsules的squash是 CapsNet 的核心非線性它不改變向量方向只壓縮模長(zhǎng)使短向量趨近于 0、長(zhǎng)向量趨近于 1從而天然具備“存在性”語(yǔ)義DigitCaps的torch.einsum(bijk,bjk-bij, u_hat, v)是動(dòng)態(tài)路由的關(guān)鍵它計(jì)算每個(gè)u_hat_ij輸入 capsule i 到輸出 capsule j 的預(yù)測(cè)向量與當(dāng)前v_jj 的輸出向量的點(diǎn)積作為路由權(quán)重更新依據(jù)num_routing3是原始論文設(shè)定實(shí)測(cè) 2 次迭代精度下降 0.8%4 次無(wú)提升但訓(xùn)練變慢 17%故不建議修改。3. 訓(xùn)練與評(píng)估損失函數(shù)設(shè)計(jì)、優(yōu)化器選擇、精度驗(yàn)證全流程3.1 Margin Loss解決 CapsNet 多標(biāo)簽與空膠囊的雙重約束CapsNet 使用Margin Loss而非交叉熵其公式為$$L_k T_k \max(0, m^ - |v_k|)^2 \lambda (1 - T_k) \max(0, |v_k| - m^-)^2$$其中 $T_k1$ 當(dāng)且僅當(dāng)樣本屬于第 k 類$m^0.9$, $m^-0.1$, $\lambda0.5$。該損失強(qiáng)制正確類 capsule 的模長(zhǎng) $|v_k| \geq 0.9$高置信度錯(cuò)誤類 capsule 的模長(zhǎng) $|v_k| \leq 0.1$低激活抑制干擾。PyTorch 實(shí)現(xiàn)需注意兩點(diǎn)v_k是DigitCaps輸出的[B, 10, 16]張量其模長(zhǎng)為torch.norm(v, dim-1)→[B, 10]T_k需從標(biāo)簽yshape[B]轉(zhuǎn)換為 one-hoty_onehot F.one_hot(y, num_classes10).float()。def margin_loss(v, y, m_plus0.9, m_minus0.1, lambda_val0.5): # v: [B, 10, 16] → norm: [B, 10] norms torch.norm(v, dim-1) # [B, 10] y_onehot F.one_hot(y, num_classes10).float() # [B, 10] # L_k T_k * max(0, m - ||v_k||)^2 λ * (1-T_k) * max(0, ||v_k|| - m-)^2 loss_plus y_onehot * torch.pow(torch.clamp(m_plus - norms, min0.), 2) loss_minus lambda_val * (1 - y_onehot) * torch.pow(torch.clamp(norms - m_minus, min0.), 2) return torch.mean(loss_plus.sum(dim1) loss_minus.sum(dim1))參數(shù)說(shuō)明torch.clamp(..., min0.)替代F.relu避免梯度在 0 處不連續(xù)torch.mean(...)對(duì) batch 求均值而非sum保證 loss 值域穩(wěn)定便于 lr 調(diào)整lambda_val0.5是原文設(shè)定實(shí)測(cè)在 MNIST 上調(diào)整為 0.2 會(huì)導(dǎo)致負(fù)類抑制不足測(cè)試集錯(cuò)誤率上升 1.2%。3.2 優(yōu)化器與學(xué)習(xí)率策略AdamW 替代 Adam 的實(shí)測(cè)優(yōu)勢(shì)原始 CapsNet 使用 Adam但本實(shí)現(xiàn)采用AdamW權(quán)重衰減解耦因其在 capsule 權(quán)重矩陣Wshape[10,1152,16,8]上更穩(wěn)定Adam 的 L2 正則直接作用于梯度而 AdamW 將 weight decay 應(yīng)用于參數(shù)本身避免W的 Frobenius 范數(shù)失控實(shí)測(cè) Adam 訓(xùn)練 50 epoch 后torch.norm(model.digit_caps.W)達(dá) 12.7AdamW 為 3.1學(xué)習(xí)率設(shè)為1e-3不使用學(xué)習(xí)率預(yù)熱warmupCapsNet 初始 loss 較高~3.2warmup 會(huì)延長(zhǎng)低效訓(xùn)練期不啟用amsgradTrue實(shí)測(cè)在 MNIST 上反而使 loss 曲線震蕩加劇std ↑18%。model CapsNet() # 假設(shè)已定義完整模型 optimizer torch.optim.AdamW( model.parameters(), lr1e-3, weight_decay1e-4, # AdamW 的關(guān)鍵解耦 decay betas(0.9, 0.999) ) # 無(wú) schedulerCapsNet loss 下降平緩StepLR 反而引發(fā)震蕩 # 若需調(diào)整推薦 ReduceLROnPlateaupatience5factor0.8 scheduler None3.3 精度驗(yàn)證重構(gòu)損失Reconstruction Loss與可視化調(diào)試CapsNet 附帶一個(gè)Decoder 網(wǎng)絡(luò)將DigitCaps輸出的 16D 向量重建為 28×28 圖像用于監(jiān)督 capsule 的姿態(tài)編碼能力重建質(zhì)量高 → 向量方向信息豐富提供額外 loss 項(xiàng)加權(quán) 0.0005防止 capsule 過(guò)度壓縮模長(zhǎng)。Decoder 結(jié)構(gòu)3 層全連接 ReLU Sigmoidclass Decoder(nn.Module): def __init__(self, input_dim16, hidden_dims[512, 1024]): super().__init__() self.fc1 nn.Linear(input_dim, hidden_dims[0]) self.fc2 nn.Linear(hidden_dims[0], hidden_dims[1]) self.fc3 nn.Linear(hidden_dims[1], 28*28) self.relu nn.ReLU() self.sigmoid nn.Sigmoid() def forward(self, x): # x: [B, 10, 16] → 取正確類 capsule: [B, 16] # y: [B] → mask: [B, 10] → masked_x: [B, 16] mask F.one_hot(y, num_classes10).float() # [B, 10] masked_x (x * mask.unsqueeze(-1)).sum(dim1) # [B, 16] out self.relu(self.fc1(masked_x)) out self.relu(self.fc2(out)) out self.sigmoid(self.fc3(out)) # [B, 784] → reshape to [B, 1, 28, 28] return out.view(-1, 1, 28, 28)重構(gòu) loss 計(jì)算recon_loss F.mse_loss(decoder_output, x_original) # x_original: [B, 1, 28, 28] total_loss margin_loss(v, y) 0.0005 * recon_loss可視化調(diào)試技巧每 5 個(gè) epoch 保存一張重建圖取 batch 中前 8 個(gè)樣本torchvision.utils.save_image(decoder_output[:8], frecon_epoch_{epoch}.png)觀察重建圖中數(shù)字邊緣是否銳利、有無(wú)模糊重影——若重影嚴(yán)重說(shuō)明DigitCaps輸出向量未充分解耦需檢查 routing 迭代次數(shù)或W初始化手動(dòng)提取v[0]第一個(gè)樣本的 10 個(gè) capsule 向量計(jì)算torch.norm(v[0], dim-1)應(yīng)看到一個(gè)明顯峰值正確類和其余 ≤0.1 的值。4. 避坑指南動(dòng)態(tài)路由失效、顯存爆炸、梯度消失三大高頻問(wèn)題排查4.1 現(xiàn)象動(dòng)態(tài)路由迭代 3 次后v_j模長(zhǎng)全部趨近于 0loss 不下降原因PrimaryCapsules輸出未正確squash或DigitCaps的u_hat計(jì)算中W初始化過(guò)大導(dǎo)致u_hat模長(zhǎng)爆炸后續(xù)squash將所有向量壓至 0。解決檢查PrimaryCapsules.squash()是否被注釋或?qū)戝e(cuò)常見(jiàn)錯(cuò)誤norm torch.sqrt(norm_squared)忘加1e-8導(dǎo)致除零 nan驗(yàn)證W初始化nn.init.xavier_normal_(self.W)必須在__init__中調(diào)用不能漏在DigitCaps.forward開(kāi)頭插入調(diào)試print(u_hat norm:, u_hat.norm(dim-1).mean().item())正常值應(yīng)在 0.8~1.5 之間若 5 則W初始化異常。4.2 現(xiàn)象GPU 顯存占用持續(xù)增長(zhǎng)最終 OOMOut of Memory原因torch.einsum在動(dòng)態(tài)路由中創(chuàng)建中間張量u_hatshape[B,10,1152,16]當(dāng)B128時(shí)占顯存約 1.2GB若num_routing3循環(huán)中未釋放b的歷史版本顯存累積。解決確保b在循環(huán)內(nèi)被原地更新b ...而非b b ...后者創(chuàng)建新 tensor在for循環(huán)末尾添加torch.cuda.empty_cache()僅調(diào)試用正式訓(xùn)練會(huì)降低速度終極方案將b設(shè)為torch.float16b torch.zeros(..., dtypetorch.float16)顯存降 50%且不影響收斂實(shí)測(cè)精度差異 0.02%。4.3 現(xiàn)象訓(xùn)練初期 loss 從 3.2 快速降至 1.5隨后停滯驗(yàn)證精度卡在 92% 不動(dòng)原因margin_loss中l(wèi)ambda_val過(guò)小導(dǎo)致負(fù)類 capsule 抑制不足v_j模長(zhǎng)普遍在 0.3~0.5 區(qū)間應(yīng) ≤0.1模型無(wú)法區(qū)分相似數(shù)字如 4/9。解決將lambda_val從 0.2 提升至 0.5 或 0.6同時(shí)檢查m_minus0.1是否被誤設(shè)為 0.2增大m_minus會(huì)放寬負(fù)類約束驗(yàn)證y_onehot構(gòu)造F.one_hot(y, num_classes10)的y必須是long類型若為float會(huì)報(bào)錯(cuò)或生成全零 onehot。4.4 現(xiàn)象num_workers0時(shí) DataLoader 卡死CPU 占用 100%原因CapsNet 的DigitCaps使用torch.autograd.Function實(shí)現(xiàn) custom routing部分舊版實(shí)現(xiàn)與torch.multiprocessing的 fork 模式?jīng)_突。解決嚴(yán)格使用num_workers0或num_workers11時(shí)需確保pin_memoryFalse或改用spawn啟動(dòng)方式在main函數(shù)開(kāi)頭加torch.multiprocessing.set_start_method(spawn)但會(huì)顯著增加啟動(dòng)時(shí)間3.2s最佳實(shí)踐開(kāi)發(fā)階段用num_workers0部署時(shí)用num_workers1pin_memoryTrue。4.5 現(xiàn)象torch.compile(model)報(bào)錯(cuò)Unsupported node kind: call_function原因torch.compile尚不支持torch.einsum的某些字符串格式如bijk,bjk-bij。解決將einsum替換為等價(jià)torch.bmm# 原b b torch.einsum(bijk,bjk-bij, u_hat, v) # 改為 u_hat_reshaped u_hat.view(B * 10, 1152, 16) # [B*10, 1152, 16] v_reshaped v.view(B * 10, 16, 1) # [B*10, 16, 1] dot_prod torch.bmm(u_hat_reshaped, v_reshaped).view(B, 10, 1152) # [B, 10, 1152] b b dot_prod或等待 PyTorch 2.2 對(duì)einsum的更好支持當(dāng)前 2.1.0 已部分修復(fù)。5. 進(jìn)階技巧替換主干網(wǎng)絡(luò)、導(dǎo)出 ONNX、可視化 capsule 激活熱力圖5.1 替換主干用 ResNet-18 替代原始 ConvLayer提升小樣本泛化能力原始 CapsNet 的ConvLayer僅 2 層卷積特征提取能力有限。我們可將其替換為 ResNet-18 的前 4 層保留layer1~layer3輸出通道數(shù)需匹配PrimaryCapsules的in_channels256from torchvision.models import resnet18 class ResNetBackbone(nn.Module): def __init__(self): super().__init__() resnet resnet18(weightsNone) # 不加載 ImageNet 預(yù)訓(xùn)練 # 取 layer1 ~ layer3 輸出[B, 256, H, W] self.layer1 resnet.layer1 self.layer2 resnet.layer2 self.layer3 resnet.layer3 # 替換第一層卷積以適配 MNIST 單通道 self.layer1[0].conv1 nn.Conv2d(1, 64, kernel_size3, stride1, padding1, biasFalse) def forward(self, x): x self.layer1(x) # [B, 64, 28, 28] x self.layer2(x) # [B, 128, 14, 14] x self.layer3(x) # [B, 256, 7, 7] ← 符合 PrimaryCapsules 輸入要求 return x # 在 CapsNet 中替換 # self.conv_layer ConvLayer(1, 256) → 改為 self.backbone ResNetBackbone() # PrimaryCapsules 的 in_channels 保持 256 不變效果對(duì)比MNIST 測(cè)試集主干網(wǎng)絡(luò)Top-1 Acc訓(xùn)練時(shí)間10 epoch小樣本每類 20 樣本Acc原始 Conv99.21%2m18s94.3%ResNet-1899.47%3m42s96.8%注意ResNet 主干需配合transforms.ColorJitter數(shù)據(jù)增強(qiáng)亮度±0.2對(duì)比度±0.2否則過(guò)擬合風(fēng)險(xiǎn)上升。5.2 導(dǎo)出 ONNX支持跨平臺(tái)部署的 capsule 模型固化CapsNet 的DigitCaps含動(dòng)態(tài)控制流for循環(huán)ONNX 默認(rèn)不支持。解決方案將num_routing設(shè)為常量并展開(kāi)循環(huán)# 修改 DigitCaps.forward移除 for 循環(huán)硬編碼 3 次迭代 def forward_fixed_routing(self, x): B x.size(0) W self.W.expand(B, -1, -1, -1, -1) x x.unsqueeze(1).unsqueeze(4) u_hat torch.matmul(W, x).squeeze(-1) b torch.zeros(B, self.num_capsules, 1152, devicex.device) # Iteration 1 c1 F.softmax(b, dim1) s1 (c1.unsqueeze(-1) * u_hat).sum(dim2) v1 self.squash(s1) b b torch.einsum(bijk,bjk-bij, u_hat, v1) # Iteration 2 c2 F.softmax(b, dim1) s2 (c2.unsqueeze(-1) * u_hat).sum(dim2) v2 self.squash(s2) b b torch.einsum(bijk,bjk-bij, u_hat, v2) # Iteration 3 c3 F.softmax(b, dim1) s3 (c3.unsqueeze(-1) * u_hat).sum(dim2) v3 self.squash(s3) return v3 # [B, 10, 16]導(dǎo)出命令model.eval() dummy_input torch.randn(1, 1, 28, 28) # batch1, channel1, h28, w28 torch.onnx.export( model, dummy_input, capsnet_mnist.onnx, input_names[input], output_names[capsule_output], dynamic_axes{input: {0: batch_size}, capsule_output: {0: batch_size}}, opset_version14 )驗(yàn)證 ONNXimport onnxruntime as ort ort_session ort.InferenceSession(capsnet_mnist.onnx) outputs ort_session.run(None, {input: dummy_input.numpy()}) print(ONNX output shape:, outputs[0].shape) # [1, 10, 16]5.3 可視化 capsule 激活熱力圖定位數(shù)字關(guān)鍵部位Capsule 向量的模長(zhǎng)||v_k||表示第 k 類存在的置信度其方向編碼姿態(tài)如旋轉(zhuǎn)、尺度。我們可反向傳播||v_k||到輸入圖像生成 Class Activation MappingCAMdef capsule_cam(model, x, target_class0): # x: [1, 1, 28, 28] model.eval() x.requires_grad_(True) # 前向得到 v: [1, 10, 16] v model(x) # 假設(shè) model.forward 返回 DigitCaps 輸出 norm_v torch.norm(v, dim-1) # [1, 10] # 取 target_class 的模長(zhǎng)作為 loss loss norm_v[0, target_class] # 反向傳播 loss.backward() # 獲取梯度x.grad shape [1, 1, 28, 28] grad x.grad.abs().squeeze().detach().numpy() # 歸一化為熱力圖 cam cv2.resize(grad, (28, 28)) cam (cam - cam.min()) / (cam.max() - cam.min() 1e-8) return cam # 使用示例 cam_map capsule_cam(model, test_sample.unsqueeze(0), target_class5) plt.imshow(cam_map, cmapjet) plt.title(Capsule 5 Activation (digit 5)) plt.colorbar() plt.show()典型結(jié)果數(shù)字 “5” 的熱力圖高亮其上半圓弧與下橫線交點(diǎn)而 “6” 高亮閉合圓環(huán)底部——這驗(yàn)證了 capsule 確實(shí)學(xué)習(xí)到了部件級(jí)空間關(guān)系而非 CNN 的紋理統(tǒng)計(jì)。從那以后我每次調(diào)試 CapsNet都強(qiáng)制走一遍print(torch.norm(model.digit_caps.W))和print(u_hat norm:, u_hat.norm(dim-1).mean().item())這兩個(gè)數(shù)值就像血壓計(jì)一高一低立刻知道是初始化還是路由出了問(wèn)題。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日韩99999色| 天天爱天天操| 婷婷五月天影院| 日本孕妇孕交| 青青草字幕AV| 欧洲小说色图视频另类| 97久久精品亚洲| 亚洲国产精品无码AV在线| 女人天堂av在线播放| 超碰这里只有精品| 亚洲免费精品一区| 98一区二区精品| 干婷婷综合网| 性色av网站| 曰本特级特黄特色黄色A级网站高清在线免费看| 久久国产精品m码| 成人草草视频| 男女日B国产| 狠狠躁久久躁| 日韩探花精品在线视频| 国产AV人人 夜夜人人澡| 久久一留热品黄| 久久精品一区| 欧美色日本| 人妻另类| 欧美九一精品久久久熟妇| 青青草原狼av| 91新在线欧美| 色香在线| 91 丝袜在线观看| 欧美日韩大陆黑人少妇99| 亚洲欧美大香蕉| 国产一区二区欧美日本| 91精品伊人久久久大香线蕉91| 操b在线观看| V A在线| 精品少妇99| aV中文麻| 久久啊啊| 老子午夜伦不卡影院| 白丝一区| 欧美日韩国产三级黄色| 国产麻豆一级精品视频| 99精品久久久久久久婷婷蜜桃| 亚洲天堂人妻熟妇视频| 欧美精品1区2区3区| 免费在线黄片视频| 亚洲精品三| 成人情色一区二区| 日韩成人午夜精品久久高潮| 春色综合免费| 啪啪啪亚欧美视频| 另类亚洲一区二区三区| 干日本人少妇午夜寂寞影院| 78久久久| 亚洲脚交| 国产真实子伦对白| 中国国国产一级特黄毛片| 国产精品人妻无码久久久老鸭窝| 97综合久第一页| 超碰在线91| 91AV入口| 久久丁香| 大香蕉青青9| 91麻豆天美国产欧美高潮| 久久精品电影在线| 国内毛片国产欧美拍| 欧美另类综合久久| 91老熟女逼| 九一综合网| 欧美高清16| 色综合国产在线观看| 精品亚洲国产成人精品| 欧美黑人XXXⅩ高潮交| 久久伊人青青草| 亚洲中文sv| 亚洲精品免费中文字幕| 大香蕉520| 一个人在线看的黄色电影网站| 亚洲的天堂网| 日韩电影在线观看网址| 国产91久久九九免费精品无码| 99精品在线播放| 91草草草| 欧亚无码视频| 亚洲国产第一页综合视频| 国产噜噜噜噜噜久久久久久久久| 久久超碰com| 久久久久亚洲?V片无码V| 九九热免费国产视频婷婷伊人| 精品999日本| 国产精品午夜AV完会免费| 中日韩熟女| 熟女欧美日韩综合婷婷| 84YTCOM性无码| 亚洲人妻中文在线视频| 亚洲欧洲另类| 久久精品区| 操逼逼福利视频| 天天影视综合网欧美精品| 视频在线观看青青99国产| 亚洲天堂精品日韩电影| 色播丁香| 白嫩91在线亚洲| 精品少妇人妻av久久免费| 99色视频| 欲色综合| 涩涩久久精品| 91色碰| 99av| 爱爱动态120秒| 人妻熟女一区二区三区视频| 丁香激情五月| 亚洲高清欧美总合| 熟女乱伦二区| 超碰综合97在线| 国产精品一区二区三区,亚洲综合 性开放中文AV高清无码免费看 | 97香焦色区| 天天操天天干美女网址导航| 亚洲日韩国产欧美综合v| 91久久国产综合精品| 久久久久亚洲三级电影| 蜜桃精久三区| 亚洲,日韩,欧美,成人播放| 熟妇最新先锋一二三区| 曰韩中文人妻视频| 久都青青视频| 国产精品日韩在线一区| 天天舔九色婷婷| 亚洲av成人精品一区| 欧美日日夜夜| 亚洲无码免费看| 九七毛片九九毛片| 免费毛片在线播放| 国产精品96久久久久久| 欧洲综合视频| 一起草欧美| 免费亚洲国产精品久久一区| 大香蕉婷婷| 精品人成视频在线观看| 97在线观看免费视频l| 日本操色导航| 国产精品剧情| 久久久91福利姬| 激情五月天视频| 97在线免费公开视频| 色色色网站| 国产偷拍网站| 久操| 亚洲综合小视频小说在线观看| 中字幕人妻一区二区三区| 极品AV网站在线观看| 亚洲成熟国产精品美女| 欧美乱欲| 99精品久久久久久| 精品国产72| 免费毛片在线播放| 亚洲第一页色网| 国产成人一级av88| 亚洲 欧美 色图| 精品美女在线视频| 免费视频a级毛片免费视频| 夜夜爽夜夜爽| 舔舔啊| 亚洲性综合9| 国产Av超碰| 久久午夜神马| 97超碰中文| 久久熟女人| 国产精品一区二区三区,亚洲综合| 水滴偷拍| 精品中文一区二区| 嗯啊不要啊啊在线观看视频| 91精品国产麻豆国产自产在| 中文字幕一区二区三区高清| 日本欧美不卡| 中文字幕欧美日本乱码一线二线| 亚洲人在线成线成人| 国内亚洲精彩视频在线| 天天谢天天干| 欧美日韩午夜精品一区二区三区| 久久久96| 久久女人| 亚洲天堂少妇| 黑人精品久久97| 天堂岛av| 午夜丁香婷婷| 婷婷99| 欧美v亚洲v日韩v最新在线二区| 2017大香蕉| 中文字幕国产| 亚洲情色 自拍| 久久久成人免费av电影| 欧美中字不卡| 一二三四视频在线社区中文字幕| 久久 亚洲 日韩 人妻| 美女黄色一级A视频| 国产 无码 一区二区| 日韩精品在线放| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 曰本91情色| 日本特黄f c2| 91欧美高清| 久操热| 欧美疯狂做爰xxxx| HEYZO高无码国产精品227| 无码人妻一区二区三区色欲aⅴ| 欧美 亚洲| 小电影欧美91| 成人无码欧美一级A片狼牙直播| 97频视在线| 日韩精品人妻中文字有码在线 | 淫荡网址| 中文人妻av高清一区| 国产午夜在线观看| 岛国黄| 逼操网站| 九九热九九热| 欧洲中文字幕| 日韩综合97P| 天天操天天看| 欧美性高潮| 中文字幕人妻丝袜乱一区三区| av橘色网站| 国产99999| 国产91久久九九免费精品无码| jk白丝没脱就开始啪啪| 欧美精品久久久久久久久88| 激情五月天视频| 人妻激情偷乱视三区频一区二区| 色婷婷影视| 天天干少妇| 中文字幕人妻丝袜| 人人澡综合涩| 综合97久久| 91n处女在线观看| 福利视频网站| 懂色中文一区二区三区 | 国产美女高潮叫床视频| 五月婷在线| 欧美色66| 欧美亚洲清纯| 天天看天天日| 日本成人A片免费看| 国产 亚洲 丝袜 制服| 日本久久天堂| 久久AV色| 亚洲视频中文一区| 国产一区二区三区导航| 91碰碰| 玖玖超碰熟| 久久人妻无码毛片A片麻豆| 欧美老妇曰批的视频| 操逼不卡中文字幕| 亚洲综合另类| 色综合99999| 亚洲资源一区| 天天干干天天干干| 超91综合网| 91国内外在线| 日本高清免费一本视频在线观看| 五月激情啪啪| 激情小说亚洲视频| 乱性AV| 亚洲AV无码国产成人| 伊人操你| 欧美亚洲素人制服精品| 九九热九九热| 三四中文字幕| 91人人臊| 色天天野狼综合社区| 成人97人人超碰人人| av九九| 天天色怡春院| 一个人免费视频观看在线WWW| 手机看av网站在线看| 91色噜噜狠狠| 日本操逼无码| 97久久精品亚洲| 97人人夜| 色啪网| 久久久91| 97国产高清视频在线观看| 精品四五区| 九九九九九九九九九国产精品 | 狼天天狼天天大香蕉| 午夜福利一区二区三区四区五区色婷婷| 色y情视频免费看| 台湾肥佬网一区二区三区| 午夜经典| 99视频内射三四| 久久老熟女| 人人操人人摸人| 人妻少妇精品久久久| 秋霞一集毛片观看| 超硑97精品| 熟女乱3伦999| 亚洲影院小综合| 国产精品人妻无码久久久老鸭窝| 人人澡人人弄| 麻豆天美国美国产| 久久久久久亚洲Av无码精| 五月婷婷六月激情| 麻豆成人AV| 五月天激情四射| 992大香蕉| 欧美精品日韩一区二区| 99少妇| 99在线免费视频| 精产品久久| 亚洲丝袜色| 婷婷超| 麻豆人妻少妇在线免费观看| 狠狠操夜夜| 九九九九一级| 久久露脸国产老熟女| 偷拍亚洲视频一区二区三区四区| 91黑丝露脚| 久久九色| 亚洲AV不卡在线观看尤物| 欧美aaaaaaa| 日日骚av| 一区二区视频在看| 欧美色图亚洲特色| 另类一区| 超碰色综合| 黑丝日韩av丝袜av| 懂色AV蜜臀无码精品APP| 精品少妇人妻一区二区三区| 日韩AV电影网站| 五月天我淫我色av| 91熟女.com| 女同在线视频一区| 一本精品日本在线视频精品| 日骚逼视频| 青青草日本中文字幕| 欧美十八禁导航成人| 丝袜 中出 制服 人妻 美腿 中文字幕| 久久久草成人网站久久久草成人久久久草久久久 | 精品一区二区三区四区外站| 九九九九久久久| 五十路六十路七十路熟婆| 日韩综合第八区国产精品| 超碰日本97美女人妻人人玩人人爱| 亚洲在线网站| 鸥美中出| 91欧美巨乳| 男人的天堂欧美| 九热视频| 女人午夜视频777| 中国操逼无码| 美女性91| 亚洲熟妇无码一区二区三区| 嗯嗯啊啊视频在线看| 欧美色图色综合| 国产97色在线| 欧洲欧美视频一区二区| 最新欧美色网| 我爱大香蕉| 亚洲av综合色区图片亚洲| 亚洲情色 自拍| 日韩精品人妻中文字幕久久久| 国产中文精品一区二区在线观看| 欧美性爱第一页久久| 亚洲色图 综合| 欧美在线伊人色| 97色碰| 亚洲AV无码翔田千里网站| 青青在线视频日韩欧美| 欧美黑人与女人91| 丝袜色综合| 天天看特黄的免费网站 | 伊人九九| 一本色道久久综合亚洲二区三区| 久草草一二三四区久久| 亚洲综合网图| 日韩AV一区二区三区三州三州| 婷婷在线视频| 99久久九九| 亚洲AV无码黄色强奸| 午夜福利无毒不卡| 四虎午夜影院| A级国产欧美激情在线| 美女诱惑久久| 天天92av| 亚洲国产成人7777| 一二三四视频中文字幕在线看| 免费A片三p视频| 国产精品ww久久| 国产一级高清免费观看| 精品国产av一区二区三区四区入口| 天天拍夜夜| 天天日天天看| 热99这里有精品综合久久 | 大黄片做爱的大的| 18禁美女裸体无遮挡啪啪| 国产AV色黄看到爽| 亚洲一欧洲中文字幕在线 | 我爱操| 亚洲成人ab| 久久久久久九九九| 三级日韩一区二区三区| 成人一道本免费视频| 亚洲性爱成人| 熟女六十路| 黑操B| 日韩国产十八禁| 神马久久久久久久久久| yazhouzaixian| 96国产精品| 精品对白久久不卡| av在线播放国产一区| 亚洲欧洲精品视频发布| 婷婷久久五月天| 97爱爱爱综合| 亚洲色图综合网| 丝袜美腿操av| 免费a级毛片av无码久久精品中文字幕| 亚洲精品国产无码高清| 色狠狠色| 天天超级碰碰碰| 精品夜夜澡人妻无码AV| 99久久久无码精品国产人| 性爱乱伦网址| 亚洲欧美中日韩| 欧美 综合 亚洲| 久草免费在线视频| 一区不卡在线观看av| 日韩精品视频在线观看一卡二卡| 天天综合~91入口| 久久爱超碰网| 青草综合| 日本网色| 天堂综合| 暖暖精品二区三区观看| 亚洲欧美精品福利在线| 超碰超碰欧美| 免费人成在线观看网站品爱网| 男人天堂 天天射| 久久婷婷六月综合| 亚州久久9| 欧美91网| 天天日B夜夜干B时时操B| 青青草日本无码| 热热色色综合| 在线色导航| 99精品丰满人妻无| 91色欧美| 激情丁香婷婷| 久久久9 9 9精品| 国产又猛又粗又爽又黄| 骚逼高潮久久精品| 18+91网站| 亚洲av综合色区无码一| 久偷拍| 熟女探花啪啪| 无码99| 国产乱子伦久久精品综合一区二区三| 国产视频一区二区免费| 97亚洲欧美日韩| 欧美亚洲国产91在线| 中文字幕精品一区二区精品| 精品国产乱码久久久久久免费| 吖在线不卡一区二区国产剧情| 97在线国产精品| 国产精品久久久久婷婷二区次| A 天堂在线观看视频| 嗯,啊。舔我逼| 日本性爰一道本| 久草资源欧美在线视频| 操www| 国产精品乱码久久久久久久久久久久| 精品无码一区二区三区| 黄网站黄视频网站进入口 | 夜嗨影院| 久久亚洲天堂| 亚洲AV无码成人精品久久| 91网站在线播放| 天天干天天狼在线视频| 成人夜夜| 色色五月天婷婷| 国产精品久久泡妞网站| 亚洲色图激情小说| 日韩激情无码影院| 欧亚久久偷拍视频| 干干干天天| 天天综合网合集91| 超碰成人免费| 在线αⅴ| 亚洲人码13| 亚洲日本韩国在线| 97干色| 美女主播色欲91抠b在线播放| 欧美中文字幕日韩在线| 劲爆欧美人妖三区91| 亚洲偷拍自拍在线视频| 亚洲AV无线| 日本精品加勒比海一区| 69精品在线| av爱爱爱| 中文字幕福利视频一区二区三区在线观看| 色蜜AV| 亚洲无码成人精品| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 蜜臀精品1区2区| 国产一区二区三区白丝| 国产成人啪一区二区| 婷婷五月天补不补| 日韩无码黄色片| 国产搭汕a级片| 欧美久久婷| 婷婷五月天激情网| 尤物网站91| 91超碰在线播放| 猛交交| 91高清无码下载| 91美女小视频| 老熟女中文字幕高清| 2010男人的天堂| 国产日韩欧美中文在线播放| 欧美人妻少妇| 久久久久久99999国产精品| 偷拍欧美激情| 久久久A∨| 双插性欧美一二三区| 欧美在线天堂| julia ann久久| 成年男人的天堂| 亚洲天堂99| 日韩欧美成人综合在线| av亚欧| 久热这里只有精品9| www.高清无码诱惑一区.com | 国产美女高潮| 99日视频在线免费| 麻豆一区在线| 麻豆AV一区二区| 九九在线精品| 入口操逼网站| 亚洲第2页| 国产综合在线视频网站| 91社区伊人| 网友自拍第1页| 午夜操操操| 美女丝袜激情小说| 亚洲精品 欧美精品| 67194无码不卡| 97舔舔| 欧日韩不卡视.频| 久久婷婷热| 殴美大黄片| 精品一区二区人妖| 日本丝袜人妻内射| 国产高清在线观看欧美| 26uuu性物| 欧美日韩另类在线播放| 午夜操逼不卡| 九九玖玖精品| 激情四射婷婷四五月天| 蜜臀久久99精品久久久老,,| 精品国产乱码久久久久久影片| 五月婷在线| 天天天天干| 91粉芽高清在线一区二区| 97干在线视频| 狠狠操天天干| 伊人大香蕉在线| 色九月综合| 免费看污网址| 天天天堂影视日韩亚洲91| 青青草无码视频| 久草综合网| 天堂亚洲欧美| 国产精品精品系列在线观看| A级国产欧美激情在线| 欧美激色| 精品久久視頻在线| 国产精品永久免费10000| 精品亚洲成人免费在线| 无码区蜜乳| 欧美一区二区三区入口| 8050午夜少妇无码| 九九亚洲视频| 97超碰无码网| 激情综合网一盗摄| 亚洲AV色图| 97干在线| 乳欲人妻办公室奶水| 国产亚洲日本精品在线| 国产少妇肉丝在线观看| 久久夜色一区二区| 国产风韵犹存熟妇三区| 色97干| 国产精品4p在线观看| 日韩一性一交一A片俄罗斯| 九九无码视频| 青青操97| 成年在线视频日本亚洲在线视频区精品江靖宇公司| 人人澡人人干| 久久久久亚洲av综合波多野制衣| 久久AV无码网址| 久操99| 激情啪啪视频| www国产无码| 国产一级操B视频| 欧美亚涩| 欧美啪啪啪91| 久操网无码在线| 啊…啊…操我用力操我 | 熟女一区二区三区四区| 百度百度日本操逼| 国产亚洲精品自在线亚洲情侣| 久久久9品一区二区三区| 97在线资源| av黄图片在线观看| 六月丁香久久| 97网址97| 懂色中文一区二区三区| 99在线精品视频| 伦理日韩国产久久| 久久日韩精品一区二区| 天天干天天做| 爱丝福利| 黑人操一区二区| 操香逼| 91亚洲在线| 96久久精品一二三区色欲| 青青草视频久久久久| 欧美色另类| 亚洲AV永久无码一区仙野| 麻豆国产原创AV色哟哟| 亚洲一本大道中文字幕无码在线| 狠狠操一区二区| 91爱网| 久久综合婷婷| 欲综合网| 日韩免费性爱视频在线观看| 97超碰中文| 亚洲第一免费视频| 99在线观看无大码| 欧美性爱综合,免费| 精品国产嫩穴视频| 日韩超碰97| 大香交伊人网| 中文字幕精品码亚洲| 99ri在线视频| 超碰久超碰久| 婷婷五月天成人| 中文字幕一区二区无码成人| 4399成人黄A片| 97人人夜| 资源在线观一 二| 久久精品电影在线| 久久欧美按摩999| 97干97色| 动漫片子网站3黄| 91av熟女人妻| 综合天天网| 日本三级A片网站com| 在线观看视频91| 91人妻做a观看视频| 国产一| 人妻熟女av国产网站| 午夜福利合集| 蜜色网色哟哟| 亚洲天天做日日做天天谢日日 | 人人贴人人摸| 97精品97久久| 婷婷激情四射| 中文一区二区三区影院| 久久久网一区| 91狼人| 人乳av| 思思热国产高清| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 亚av顶级裸体一区二区三区四区五区| 国模艳艳啪啪一区| 青青草综合在线| 国产少妇与亚洲av| 粉嫩av久久一区二区三区| 日产成人久久| www.91色综合| 97精品熟女少妇一区| 天堂亚洲精品| 欧美美女在线高潮999| 国产精品久久久久久久黄无码 | av资源在线观看少妇| 97精品免费| 国产人妻一区二区三区欧美毛片| 一区三区啪啪| 精品三级在线专区| 色一区二区三区综合| 少妇无码太爽| 无码精品蜜桃一区二区三区ww| 久久久91| 色综合20p| 日韩三四五区| 思思性爱| 一区操逼| 精品人妻一区二区三区四区不卡在| 中美日韩毛片| 男人天堂一区二区| 亚洲AV操| 99久久精品欧美国产| 天天日天天干天天摸天天操| 91新在线欧美| 色色国产| 性做久久久久久免费观看软件| 人人摸人人入| AV有码在线| 日本中文字幕一区| 日日日啊啊啊| 综合网欧美在线| 在线强奷到舒服的无码视频| 欧美一级美片在线观看免费| 狼人狠干| 97亚洲国产| 久久一二三四五六七八九区区| 99性爱视频| 99操碰| 日本一级二级三级网站| 亚洲成人性爱网站在线播放| 91 欧美| 国产熟女一区二区| 黄站在线免费观看| 加勒比综合a∨| 无码视频一区二区| 亚洲成人一二三区| 高凊专区人人操| 五月婷丁香| 91九色在线| 91人妻Pr| 国产欧美一区激情交| 黑丝自慰喷水网站| 黄骗免费| 一级久久久久久久久久久| 久久精品久久九九精品| 日本熟女不卡视频| 精品无码久久久久久久久果冻糖心| 欧美91变态| 射久久| 美女啊啊啊啊啊| 国产400孕妇孕交群| 啊啊啊啊好疼| 美女久久久久久久久久久| 91丝袜视频在线观看| 日日骚网站| 欧美综合亚洲综合| 日韩三级伊人| 日韩强奸av| 日日夜夜精品| 亚洲精品xxx| 嫖老熟女A片一二三区| 天天干人妇| 久热伊人| 久草成人福利导航| 97欧美精品综合| 欧美乱妇狂野欧美在线视频| 久久人妻无码毛片A片麻豆| 日韩 欧美 国产 麻豆| 久久成人网站| 日夜精品| 日欧操屄| 亚洲美女自拍偷拍视频| 亚洲福利中文字幕在线| 中文字幕在线播放2中文字幕在线观看2| 亚州精人品大香蕉| 精品然女一区二区| 老鸭窝日丰县女人| 国产深喉视频一区二区| 香蕉国产精品麻豆亚洲欧美日韩| 亚洲国产一区二区日韩专区| 人妻精品一区二区在线| 天天爽爽爽爽| 亚洲大色堂| 中出91视频| 家庭乱伦麻豆| 国产精品岛国片在线观看| 人妻少妇色综合| 天美精品一区二区三区四区在线观看| 人人爽夜夜玩视频| 蜜臀久久99精品久久久久久酒店| 日韩在线地址一| 九九探花视频在线观看| 大香蕉在线视频15| 后入福利视频| 嗯嗯啊啊操我| 五月丁香社区婷婷日韩欧美精品影院| julia高潮后不停追击中出| 中日韩久久人妻一区二区| 成人久久久精品| 美女黄网| 日本一级性爱| 99国产精品免费| 三四中文字幕| 国产中文精品一区二区在线观看| 天天操夜夜操| 国外91| 日韩精品在线放| 国产成人网| 嗯嗯嗯啊啊啊干死我吧| 97精品网| 噜噜噜无码AV一级一级久久影院 | 性暴力欧美猛交在线直播| 色婷婷影院| 国产日韩欧美| 日韩av无码网站| 亚洲人妻av| 亚洲在钱| 蜜乳AV一区| 丝袜性亚洲| 91人妻人人澡人人爽人人精品| 日韩A优精品在线观看| 久久久久9久久久久| 国产激情在线| 在线v中文字幕一区二区三区| 97超碰逼| 日本中文熟女视频| 激情小说五月天| 亚洲欧美综合网站| 一本一道波多野毛片中文在线| 亚洲人在线| 亚洲成人贴图| 五月花婷婷| 97色欧洲| 国产超碰| 欧美肥臀在线| 国产AV超爽| 色五月AV在线| 久久无码电影| 精品中文日韩字幕视频| 自拍视频一区在线观看| 搞中出视频在线观看| 色欲av一区二区三区蜜芽| 不卡九肏| 91av熟女人妻| 日本一天色道久久久精品视频| 日韩性爱小视频| 青娱乐av在线| 一中国女人毛片水真多| 国产天美欧美| 亚洲国产精品无码AV久久| 2020中文字幕| 欧美亚洲自拍另类人妻| 亚洲欧美爆| 欧美日韩性爱电影在线| 色大师网站www永久网站视频| 综合伊人激情| 日本高清熟女久久一区| 精品亚洲黄色片 国产精品导航一区二区| 九九九九精品一区| 亚洲第2页| 91久久精品美女高潮喷水| 色综合网1| 另类欧美色| 九九热九九热| 丰满美女一级毛片在线播放| 亚洲中文电影| 操逼网免费无码视频| 青青草原香蕉日本Ap| 五月天偷拍| 沈阳熟女高潮对白视频| 青青草日本中文字幕 | 校园春色亚洲无码| 一区二区三区激情在线观看| 亚洲图片91| 日韩一级二级在线| 看一级特黄a大一片| 欧美性第1页| 人妻天堂综合网| 亚洲精品乱码线路中文字幕| 成人天天爽| 国产精品一二三区福利| 欧美日韩啪啪电影| 日韩av电影网站| 99久久久久| 精品无码一区二区三区| 中文熟女五十乱码在线| 91美女在线观看| 国产精品免费视频人成| 97精品在线视频| 日韩中文字幕av在线播放| 5278欧美一区二区三区| 欧美亚洲激情| 碰人碰碰人人开房人肉| 肥臀熟女福利视频一区二区| 又大又黄国产| 免费少妇一区二区| 精品夜夜澡人妻无码| 日韩黄色av中文字幕| 国产在线激情| av麻豆啪啪| 1024香蕉视频| 无码操逼网| 日本成人在线不卡一区二区三区| 精品久久大胆人体| 麻豆精品久久久久久久| AA特级绝黄| 天天澡天天爽日日AV| 亚洲极品| 97免费视频网| 玖玖97综合| 国产乱伦性爱AV| 奇米四色网| 超碰人妻97| 超碰 欧美| 久久日本熟女精品一区| 九九视品黄色| 大香蕉人妻| 亚洲乱码国产乱码精网站| 操逼操逼操| 性欧美999| 狠狠做深爱婷婷久久二区| 亚洲丝袜色图| 亚码激情| 99久热| 老司机射| 天天操天天干一区二区 | 国产日韩久久| 日本一二三免费久久| 中国的操老妇女| 高跟伊人julia ann| 人人手机欧洲亚洲国产人妻| 五月天偷拍| 五月丁香色情| 久久 国产精品 一区| 日本色色色色色视频| 在线A日本| 一区操逼| 一区二区三区在线美女| 亚洲阿v天堂在线| 97欧美在线| 96一区二区| 欧美综合色,www| 校园春色 亚洲| 玖玖爱视频网站| 伊人欧美大香蕉视频| 成人资源中文字幕在线观看| 国模91| 日本不卡一区二区三区| 五月天欧美色图| 激情四射婷婷六月天| 狠狠爱夜夜干| 一区二区三区在线日韩影院观看| 欧美日韩青操| 久久久久国产精品人妻aⅴ天堂| 久久久国产精品亚洲精品| 热的中文 热的有码 热的国产| 亚洲宗合网| 少妇精品久久久八区九区| 少妇久久久免费| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美日韩系列| 天天干夜夜鈤| 曰韩人妻中文字幕在线 | 日本九九久久99播| 99色婷婷中文字幕乱色| 少妇精品久久久| 日本高清一本二本免费不卡| 亚洲影视高清三级-草1024榴社区入口-品爱AV| 天天搞欧美| 精品对白久久不卡| 欧洲在线性爱视频| 一区二区三区亚洲| 国产第25页在线观看| 亚洲图片偷拍视频区| 日韩啪啪啪啪啪| 中文字幕在线观看网页| 青青欧洲黑| 男人天堂无码| 亲子敌伦对白在线播放| 日本色色视频网站| 日韩av不卡在线观看| 亚洲 日韩 欧美 国产综合体| 性欧美91| 99久久久无码国产精品性啊聊| 九九热久久99精品re| 自慰白浆在线观看| 日韩精品.久久精品.AV女优.天美传媒| 久久超碰亚洲人| 欧美亚洲清纯| 国产无码精品久久久久久| A V视频日本| 丁香六月综合激情| 无码视频一区二区| 東南亚性呦成人伦理资源在线视频| 超碰欧美| 欧美日韩性爱操大逼| 超碰79人人乐| 中国的操老妇女| 欧美人妻少妇| 日韩在线观看字幕精品| 亚洲影视综合网| 污电影在线观看| 91在线视频国产网站| 中国东北熟女老太婆内谢| 另类综合另类| 人人九九精| 乱操乱伦AV| 9+1视频网址| 久久久99999久网站| 少妇精品久久| 凸凹视频在线观看| 人妻一区久久二区三区色播| AV女资源| 激情综合二| 老熟女熟妇| 日日操夜夜操天天操免费观看麻豆| 国产精品麻豆视频网站| 日本有码影片下载| 日本布卡一区二三区| 丰满人妻一区二区三区四区| 欧洲综合视频| 男人的天堂VA| 人妻精品视频一区二区| 亚洲在高跟鞋自慰久久在色线| 无码78| 五月婷婷色| 久久青娱乐| 大香网站| 久久久久亚洲一区女同性恋中文字幕| 色欧美综合| 丁香六月激情综合| 97国产综合欧美| 青青操综合网| 性性久久| 国产一区二区三区白丝| 国产夜夜艹| 亚洲国产综合图区中文字幕| 日本久久天堂| 麻豆色约约| 探花精品视频| 久久熟女嫩草成人片免费| h无码动漫在线观看| oumeizonghese,www| 日韩中文字幕国产| 美女淫穴| 美女熟妇色| 精久久久91| 影音先锋每日最新资源在线观看 | 资源新线在线天堂| 色婷婷六月| 九九热国产| 亚洲 日本 一 二 三| 少妇激情一区二区三区视频| 久久久激情| 麻豆 美女 丝袜 人妻 中文| 色综合五月天| 欧美性爱一区二区| 亚洲91色在线| 一类av片在线看| 精品无码一区二区人妻久久蜜桃| 国产第25页在线观看| 久久激情四射婷婷丁香五月天| 99热99在线| 亚洲色交| 亚洲色欲一区二区三区| 欧美日韩*字幕一区| 欲射影视| 全球成人中文在线| 肥佬影院91| 亚洲一二三精品久久网| 蜜乳视频网站| 劲爆欧美人妖三区91| 国模精品一区二区三区苹果色戒| 97久久超碰日韩精品| 五月天丁香欧洲日韩| 精品三级在线专区| 欧美日韩亚洲天堂网| 乱伦AVxx| 夜夜爽夜夜高潮夜夜爽| 国产久久一区二区三区野外在线| 1级午夜影院费免区| 综合天天。| 欧美有码激情视频一区二区三区| 国内亚洲高清无码| 麻豆天美在线喷水AV| 噜噜噜狠狠色综合| 新亚洲无码| 中文字幕伊人| 久久草草欧美精品| 秋霞一级鲁丝片A片| 呦女网站| 久久99黄色卞西瓜| 蜜乳AV一区| 久久久久久久久一区二区三区| 美腿色图| 成人性爱全视频观看| 日韩欧美日韩| 亚洲男人的天堂网| 久久人妻视频| 飘花国产午夜精品不卡| 四虎AV在线播放| 亚洲黄日韩无码专区| 国产精品电影| 日韩成人在线性爱视频| 欧美九九九| 高跟伊人julia ann| 亚洲男人bt天堂| 日本高清_区二区三区| 久久青青草在线视频| 91操人| 男人下部插入女人下部| 黑人精品成人一区二区三区 | 亚洲成a人片在线观看中文!!!| 麻豆91熟妇人妻中文字幕茄子| 撸撸成人在线视频| 麻豆60秒| 亚洲国产欧美中文永久| 东京热视频网| 美女啊啊啊啊啊啊| 久久久成人免费av电影| 97se综合网| 亚洲国男人的天堂| 日韩一区二区三区四区五区 | 色网综合网| 亚洲 se图 欧美电影| 天天综合精品| 男女真人网18| 精品人妻av在线播放| 无码一区免费在线不卡| 五月天婷婷社区| 欧美综合自拍亚洲综合图| 99精品网站| 欧亚乱色熟一区二区三四区| 日本三级中国三级99人妇网站| 欧美性爱1080p| 欧美18 在线观看| 超碰成人人人爽人人爽| 亚洲欧美清纯| 殴美色网| 亚洲风情综合网| 四虎免费视频| 嫩草影院永久在线制服丝袜| 91热情品| 啊啊好多水| 国产偷仑| 国产高清不卡视频| 欧美一区二区日韩传媒搭讪精品| 美女超碰978| 国产乱码久久| 亚洲色天堂日韩中| 天天天天操| 91美女中出| 久操综合在线| 99re6国产精品99re在线| 久操B网| 欧美少妇一区二区三区| 观看免费区二区三区二| 国产suv精品一区二区四| 性色乱AV一区二区| 啊嗯好大视频在线观看| 综合 青草 伊久久 影院 综合| 欧美在线伊人色| 国产精品视频播放| 中文字幕精品久久久久人妻红杏ⅰ| 又摸又舔在线观看网站| 中文字幕97色| 无码高清操逼| 国产精品3|