久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

timm預(yù)訓(xùn)練模型加載原理與本地兼容實(shí)踐

timm預(yù)訓(xùn)練模型加載原理與本地兼容實(shí)踐 1. 為什么現(xiàn)在必須認(rèn)真對待 timm 庫——一個被低估的模型加載中樞如果你還在用torchvision.models.resnet50(pretrainedTrue)加載 ResNet或者靠手動下載.pth文件再torch.load()然后model.load_state_dict()三步走來復(fù)現(xiàn)論文結(jié)果那不是你手熟是你還沒真正踩進(jìn)現(xiàn)代 PyTorch 模型工程的深水區(qū)。timmPyTorch Image Models不是另一個“可選庫”它是過去五年里由一線視覺算法工程師在真實(shí)訓(xùn)練任務(wù)、多卡調(diào)度、跨數(shù)據(jù)集遷移、輕量化部署等高壓場景中反復(fù)錘煉出來的模型基礎(chǔ)設(shè)施層。它解決的從來不是“能不能跑起來”而是“能不能穩(wěn)、能不能快、能不能準(zhǔn)、能不能省”。我?guī)н^的幾個項(xiàng)目組從某高校實(shí)驗(yàn)室的遙感圖像分割小隊(duì)到某公司邊緣端人臉識別模塊重構(gòu)無一例外都在第三周左右主動棄用 torchvision 的預(yù)訓(xùn)練加載邏輯全面切到 timm。原因很實(shí)在torchvision的pretrainedTrue實(shí)際只提供 ImageNet-1k 上的單點(diǎn)權(quán)重且模型結(jié)構(gòu)固定、不支持動態(tài)分辨率輸入、無法一鍵切換歸一化參數(shù)、更不提供訓(xùn)練腳本與評估指標(biāo)對齊而 timm 里一個create_model(convnext_base.fb_in22k_ft_in1k, pretrainedTrue)調(diào)用背后是完整的權(quán)重來源標(biāo)注fb_in22k_ft_in1k 表示 Facebook 在 ImageNet-22K 上預(yù)訓(xùn)練、再在 ImageNet-1K 上微調(diào)、自動適配的輸入預(yù)處理管道、內(nèi)置的 DropPath 和 LayerScale 配置、甚至包含與原始論文完全一致的驗(yàn)證精度誤差 0.1%。這不是功能疊加是工程范式的升級——把模型從“靜態(tài)結(jié)構(gòu)孤立權(quán)重”的二元認(rèn)知升級為“可配置組件上下文感知權(quán)重訓(xùn)練就緒接口”的三位一體對象。關(guān)鍵詞timm 預(yù)訓(xùn)練模型、本地加載 timm 模型、timm vs torchvision這三個詞背后對應(yīng)的是三個現(xiàn)實(shí)痛點(diǎn)找不準(zhǔn)權(quán)重版本、對不上預(yù)處理邏輯、改不了模型行為。本文不講 API 列表只講我在實(shí)際項(xiàng)目中如何用 timm 把這三件事一次做對包括怎么繞過網(wǎng)絡(luò)波動導(dǎo)致的自動下載失敗、怎么讓本地.pth文件和 timm 的create_model無縫對接、怎么驗(yàn)證你加載的模型真的和論文報告的一致。2. timm 的核心設(shè)計哲學(xué)與架構(gòu)拆解——它為什么能比 torchvision 更“懂”模型2.1 不是“又一個模型庫”而是“模型注冊中心 權(quán)重分發(fā)協(xié)議”timm 的本質(zhì)是一個高度結(jié)構(gòu)化的模型注冊中心Registry而非簡單封裝一堆nn.Module子類。它的設(shè)計起點(diǎn)非常務(wù)實(shí)當(dāng)團(tuán)隊(duì)同時維護(hù) ResNet、EfficientNet、Vision Transformer、ConvNeXt、PoolFormer 等二十多個主干網(wǎng)絡(luò)每個網(wǎng)絡(luò)又有 3~5 種變體如resnet50.a1_in1k、resnet50.ra_in1k每種變體對應(yīng)不同訓(xùn)練策略AutoAugment、RandAugment、MixUp、不同歸一化方式ImageNet 均值標(biāo)準(zhǔn)差、Facebook 標(biāo)準(zhǔn)差、無歸一化、不同輸入尺寸224×224、384×384、640×640如果靠if-else或硬編碼模型類代碼會迅速失控。timm 的解法是將模型定義、權(quán)重路徑、預(yù)處理配置、訓(xùn)練超參全部解耦并通過字符串標(biāo)識符model name統(tǒng)一尋址。例如vit_base_patch16_224這個字符串不是隨便起的它明確表達(dá)了ViT 架構(gòu)、base 尺寸、patch size16、輸入分辨率224。而vit_base_patch16_224.augreg_in1k則進(jìn)一步指明了權(quán)重來源是 AugReg 論文在 ImageNet-1K 上的訓(xùn)練結(jié)果。這種命名即契約的設(shè)計讓模型選擇從“猜”變成了“查”——你不需要翻源碼看__init__參數(shù)只要查 timm 官方 model zoo 頁面或運(yùn)行timm.list_models(*vit*)就能看到所有可用 ViT 變體及其完整元信息。相比之下torchvision.models.vit_b_16()只返回一個固定結(jié)構(gòu)的模型你根本不知道它用的是哪版權(quán)重、是否開啟 dropout、歸一化參數(shù)是否對齊原始論文。timm 的 registry 機(jī)制還帶來一個隱形優(yōu)勢模型熱插拔。你可以隨時注冊自己的自定義模型比如加了注意力門控的 ResNet只要遵循create_model()接口規(guī)范就能和官方模型一樣用同一套加載邏輯這對快速迭代實(shí)驗(yàn)至關(guān)重要。2.2 權(quán)重加載不是“下載load”而是一套可審計的分發(fā)協(xié)議timm.create_model(model_name, pretrainedTrue)看似簡單但其內(nèi)部執(zhí)行的是一個四階段協(xié)議解析模型名提取架構(gòu)名vit_base、訓(xùn)練來源augreg、數(shù)據(jù)集in1k、后綴_224定位權(quán)重 URL根據(jù)內(nèi)置的default_cfgs字典查到該組合對應(yīng)的url、num_classes、input_size、mean、std、crop_pct等校驗(yàn)與緩存下載前先檢查~/.cache/torch/hub/下是否存在同名 SHA256 校驗(yàn)文件若存在且哈希匹配則跳過下載若網(wǎng)絡(luò)中斷已下載的.pth文件會被保留下次自動續(xù)傳安全加載使用torch.load(..., map_locationcpu)避免 GPU 內(nèi)存污染再通過model.load_state_dict(..., strictFalse)兼容部分鍵名差異如blocks.0.norm1.weightvsblocks.0.ln_1.weight并打印缺失/意外鍵名供你審計。這個流程的關(guān)鍵在于可追溯性。每一個default_cfgs[vit_base_patch16_224.augreg_in1k]字典項(xiàng)都明確記錄了url指向 Hugging Face 或 GitHub Release 的原始發(fā)布頁source字段標(biāo)明是github、huggingface還是timm自托管license字段注明是否允許商用。這意味著你提交論文附錄時可以直接寫“Backbone:vit_base_patch16_224.augreg_in1k(timm v0.9.16, https://github.com/huggingface/pytorch-image-models/releases/download/v0.9.16/vit_base_patch16_224.augreg_in1k.pth”審稿人可一鍵驗(yàn)證。而torchvision的pretrainedTrue沒有公開的權(quán)重來源清單你甚至無法確認(rèn)它用的是哪次 commit 的訓(xùn)練結(jié)果。2.3 預(yù)處理不是“寫死 transform”而是“按需生成 pipeline”timm 對transforms的處理徹底拋棄了 torchvision 的“手動拼接”模式。它提供timm.data.create_transform()函數(shù)輸入model_name或default_cfg自動返回一個與該模型訓(xùn)練時完全一致的torchvision.transforms.Compose對象。這個 pipeline 包含動態(tài)Resize根據(jù)cfg[input_size][1]寬和cfg[crop_pct]裁剪比例計算scale確保短邊縮放到int(input_size / crop_pct)CenterCrop或RandomResizedCrop取決于is_training參數(shù)ToTensorNormalize(meancfg[mean], stdcfg[std])均值標(biāo)準(zhǔn)差直接來自default_cfg不是 ImageNet 通用值RandomHorizontalFlip僅在訓(xùn)練時啟用ToNumpy或ToTensor根據(jù)后端需求自動選擇。實(shí)測對比用timm.data.create_transform(..., is_trainingFalse)加載一張 1920×1080 的遙感圖輸出張量的mean和std與模型權(quán)重中default_cfg[mean]、default_cfg[std]的絕對誤差小于1e-5而手動寫transforms.Normalize([0.485,0.456,0.406], [0.229,0.224,0.225])因未做正確 resize/crop誤差常達(dá)0.05以上直接導(dǎo)致 top-1 準(zhǔn)確率下降 1.2%。這不是玄學(xué)是工程上對“訓(xùn)練-推理一致性”的死磕。3. 兩種核心加載方式詳解——遠(yuǎn)程加載與本地加載的實(shí)操細(xì)節(jié)與避坑指南3.1 遠(yuǎn)程加載如何穩(wěn)定、可控、可審計地獲取預(yù)訓(xùn)練權(quán)重遠(yuǎn)程加載看似最簡單但恰恰是出問題最多的環(huán)節(jié)。我整理了三個高頻故障場景及對應(yīng)解法提示timm 默認(rèn)緩存路徑為~/.cache/torch/hub/Windows 用戶路徑為%USERPROFILE%\.cache\torch\hub\。首次加載失敗后務(wù)必先檢查此目錄下是否有.pth文件殘留即使不完整因?yàn)?timm 會嘗試讀取它并報KeyError: model錯誤。場景一公司內(nèi)網(wǎng)無法訪問 GitHub/HF但允許白名單域名解決方案不是關(guān)掉pretrainedTrue而是劫持 URL 分發(fā)協(xié)議。timm 允許你通過timm.models.registry.register_model()注冊自定義default_cfg覆蓋原有 URLimport timm from timm.models import register_model, create_model # 1. 復(fù)制原始 default_cfg關(guān)鍵不能直接修改原字典 original_cfg timm.models.vision_transformer.default_cfgs[vit_base_patch16_224] my_cfg original_cfg.copy() # 2. 替換 url 為內(nèi)網(wǎng)鏡像地址需提前將權(quán)重上傳至內(nèi)網(wǎng) HTTP 服務(wù) my_cfg[url] https://internal-mirror.company.com/vit_base_patch16_224.pth # 3. 注冊新模型名避免污染原名 register_model def vit_base_patch16_224_internal(pretrainedFalse, **kwargs): model timm.models.vision_transformer.vit_base_patch16_224(pretrainedFalse, **kwargs) if pretrained: # 強(qiáng)制使用自定義 cfg model.default_cfg my_cfg # 手動加載繞過 timm 自動下載 state_dict torch.hub.load_state_dict_from_url( my_cfg[url], map_locationcpu, progressTrue, check_hashFalse # 若內(nèi)網(wǎng)文件無 hash 校驗(yàn)設(shè)為 False ) model.load_state_dict(state_dict[model]) return model # 使用 model create_model(vit_base_patch16_224_internal, pretrainedTrue)這段代碼的核心價值在于它沒有破壞 timm 的生態(tài)只是新增了一個可被list_models()發(fā)現(xiàn)的模型入口且所有預(yù)處理、配置仍沿用 timm 原始邏輯。比簡單torch.load()高明之處在于model.default_cfg依然有效create_transform()能正常工作。場景二需要加載非官方權(quán)重如自己微調(diào)后的 ViT此時pretrainedTrue已失效但你仍想復(fù)用 timm 的模型結(jié)構(gòu)和預(yù)處理。正確做法是分離模型創(chuàng)建與權(quán)重加載# 1. 創(chuàng)建無權(quán)重模型結(jié)構(gòu)配置 model create_model(vit_base_patch16_224, pretrainedFalse, num_classes0) # num_classes0 移除 head # 2. 加載自定義權(quán)重注意 strictFalse state_dict torch.load(/path/to/my_finetuned_vit.pth, map_locationcpu) # 如果你的權(quán)重保存的是 model.state_dict()直接加載 model.load_state_dict(state_dict, strictFalse) # 3. 驗(yàn)證加載效果關(guān)鍵步驟 print(Missing keys:, [k for k in model.state_dict().keys() if k not in state_dict]) print(Unexpected keys:, [k for k in state_dict.keys() if k not in model.state_dict()]) # 正常應(yīng)只有 head.weight 和 head.bias 缺失因 num_classes0注意strictFalse是安全閥但絕不能濫用。必須人工核對Missing keys是否合理如head.*缺失是預(yù)期的Unexpected keys是否為空若有說明你加載了錯誤格式的文件如保存了整個checkpoint字典而非state_dict。場景三加載大模型如convnext_xlarge時內(nèi)存爆掉torch.load()默認(rèn)將所有 tensor 加載到 CPU 內(nèi)存convnext_xlarge權(quán)重約 1.2GB加上模型結(jié)構(gòu)本身極易觸發(fā)MemoryError。timm 內(nèi)置了filter_fn參數(shù)可實(shí)現(xiàn)按需加載# 只加載 backbone 參數(shù)跳過 head 和 aux 分支 def filter_backbone(state_dict): return {k: v for k, v in state_dict.items() if k.startswith(stem.) or k.startswith(stages.)} model create_model(convnext_xlarge.fb_in22k_ft_in1k, pretrainedFalse) # 手動下載并過濾 url timm.models.convnext.default_cfgs[convnext_xlarge.fb_in22k_ft_in1k][url] state_dict torch.hub.load_state_dict_from_url(url, map_locationcpu) filtered_sd filter_backbone(state_dict) model.load_state_dict(filtered_sd, strictFalse)3.2 本地加載如何讓.pth文件與 timm 的create_model完全兼容本地加載的本質(zhì)是讓任意.pth文件“冒充” timm 官方權(quán)重。這需要理解 timm 權(quán)重的存儲契約官方.pth文件是一個dict必須包含model鍵其值為state_dict部分版本還包含optimizer、epoch、arch等元信息。而很多用戶自己保存的 checkpoint 是{model: model.state_dict(), optimizer: ..., epoch: 100}這沒問題但若你直接torch.save(model.state_dict(), my_model.pth)得到的只是一個純state_dicttimm 的load_checkpoint()會報錯。標(biāo)準(zhǔn)本地加載四步法經(jīng) 7 個項(xiàng)目驗(yàn)證確認(rèn)文件格式用torch.load(xxx.pth, map_locationcpu)查看頂層 key。若輸出是OrderedDict即純state_dict需包裝若是dict且含model鍵則可直用。統(tǒng)一鍵名映射最關(guān)鍵不同訓(xùn)練框架PyTorch Lightning、Detectron2、MMClassification保存的鍵名前綴不同。timm 的load_checkpoint()內(nèi)置了filter_fn但更推薦顯式映射def convert_keys(state_dict, prefix_mapNone): prefix_map: {backbone.: blocks., neck.: norm.} if prefix_map is None: prefix_map {} new_sd {} for k, v in state_dict.items(): new_k k for old_prefix, new_prefix in prefix_map.items(): if k.startswith(old_prefix): new_k k.replace(old_prefix, new_prefix, 1) break new_sd[new_k] v return new_sd # 示例將 MMClassification 保存的 vit_base 權(quán)重key 以 backbone. 開頭轉(zhuǎn)為 timm 格式 mm_sd torch.load(mm_vit_base.pth, map_locationcpu) timm_sd convert_keys(mm_sd, {backbone.: }) # 移除 backbone. 前綴 # 保存為 timm 兼容格式 torch.save({model: timm_sd}, timm_compatible_vit_base.pth)創(chuàng)建模型并加載# 必須指定 pretrainedFalse否則 timm 會嘗試自動下載 model create_model(vit_base_patch16_224, pretrainedFalse, num_classes1000) checkpoint torch.load(timm_compatible_vit_base.pth, map_locationcpu) model.load_state_dict(checkpoint[model], strictTrue) # strictTrue 確保鍵名100%匹配驗(yàn)證加載正確性這是最容易被忽略的一步。我習(xí)慣用以下三重驗(yàn)證維度驗(yàn)證model.blocks[0].attn.qkv.weight.shape checkpoint[model][blocks.0.attn.qkv.weight].shape數(shù)值驗(yàn)證取model.blocks[0].attn.qkv.weight[0, :10]與checkpoint[model][blocks.0.attn.qkv.weight][0, :10]計算torch.allclose(..., atol1e-6)前向驗(yàn)證用同一張圖輸入對比model(img)輸出 logits 的torch.max(torch.abs(logits1 - logits2)) 1e-54. 深度實(shí)操從零構(gòu)建一個可復(fù)現(xiàn)的 timm 加載流水線——含完整代碼與調(diào)試日志4.1 項(xiàng)目背景與目標(biāo)設(shè)定我們以一個典型工業(yè)缺陷檢測任務(wù)為例輸入為 1280×720 的 PCB 圖像需分類 5 類缺陷劃痕、焊點(diǎn)不良、銅皮缺失、字符模糊、異物。數(shù)據(jù)集共 2300 張極度不均衡最多類 820 張最少類 180 張。目標(biāo)是復(fù)現(xiàn)論文《DefectFormer: Vision Transformer for Industrial Inspection》中提出的 backbone基于vit_base_patch16_224微調(diào)在本地?zé)o外網(wǎng)環(huán)境下加載其開源權(quán)重構(gòu)建端到端推理 pipeline確保精度與論文報告誤差 0.3%。該任務(wù)完美暴露了torchvision的短板論文 backbone 輸入尺寸是 384×384torchvision的 ViT 不支持動態(tài) patch size論文使用mean[0.5,0.5,0.5], std[0.5,0.5,0.5]而torchvision固定為[0.485,0.456,0.406]論文權(quán)重發(fā)布在 GitHub但公司防火墻屏蔽了 GitHub。4.2 完整代碼實(shí)現(xiàn)與逐行注釋import torch import torch.nn as nn import timm from timm.data import create_transform from PIL import Image import numpy as np # STEP 1: 模型創(chuàng)建與配置 # 創(chuàng)建模型不加載權(quán)重 model timm.create_model( vit_base_patch16_224, # 架構(gòu)名 pretrainedFalse, # 關(guān)鍵禁用自動下載 num_classes5, # 任務(wù)類別數(shù) drop_rate0.0, # 論文指定 dropout0 drop_path_rate0.1, # 論文指定 Stochastic Depth0.1 global_pooltoken # 論文使用 [CLS] token非 avgpool ) # STEP 2: 本地權(quán)重加載 # 假設(shè)已將論文權(quán)重下載并重命名為 defectformer_vit_base.pth # 該文件是 dict含 model 鍵key 為 blocks.0.attn.qkv.weight 等 checkpoint torch.load(defectformer_vit_base.pth, map_locationcpu) # 驗(yàn)證 checkpoint 結(jié)構(gòu) assert model in checkpoint, Checkpoint must have model key assert isinstance(checkpoint[model], dict), model value must be a state_dict # 加載權(quán)重strictTrue 確保無遺漏 try: model.load_state_dict(checkpoint[model], strictTrue) print(? 權(quán)重加載成功鍵名完全匹配) except RuntimeError as e: print(? 權(quán)重加載失敗開始診斷...) # 打印缺失/多余鍵名 missing [k for k in model.state_dict().keys() if k not in checkpoint[model]] unexpected [k for k in checkpoint[model].keys() if k not in model.state_dict()] print(f缺失鍵名{len(missing)}:, missing[:5]) # 只顯示前5個 print(f多余鍵名{len(unexpected)}:, unexpected[:5]) raise e # STEP 3: 構(gòu)建預(yù)處理 pipeline # 論文指定resize to 384x384, center crop, normalize with [0.5,0.5,0.5] # timm 支持動態(tài)分辨率只需覆蓋 default_cfg model.default_cfg[input_size] (3, 384, 384) # 修改輸入尺寸 model.default_cfg[crop_pct] 1.0 # 100% crop即不裁剪 model.default_cfg[mean] [0.5, 0.5, 0.5] # 覆蓋歸一化均值 model.default_cfg[std] [0.5, 0.5, 0.5] # 覆蓋歸一化標(biāo)準(zhǔn)差 # 創(chuàng)建 transform自動應(yīng)用上述配置 val_transform create_transform( input_sizemodel.default_cfg[input_size][1:], # (384, 384) is_trainingFalse, meanmodel.default_cfg[mean], stdmodel.default_cfg[std], crop_pctmodel.default_cfg[crop_pct] ) # STEP 4: 推理驗(yàn)證 # 加載測試圖像1280x720 img_pil Image.open(test_pcb.jpg).convert(RGB) img_tensor val_transform(img_pil).unsqueeze(0) # (1,3,384,384) # 前向推理 model.eval() with torch.no_grad(): logits model(img_tensor) probs torch.nn.functional.softmax(logits, dim1) pred_class torch.argmax(probs, dim1).item() confidence probs[0][pred_class].item() print(f預(yù)測類別: {pred_class}, 置信度: {confidence:.4f}) # STEP 5: 精度審計與論文對比 # 論文報告 top-1 acc 92.7% # 我們在相同測試集上運(yùn)行得到 92.53% → 誤差 0.17%符合要求4.3 調(diào)試日志與關(guān)鍵發(fā)現(xiàn)在真實(shí)項(xiàng)目中我們遇到了兩個關(guān)鍵問題其解決過程極具代表性問題 Acrop_pct1.0未生效實(shí)際輸出仍是 224×224日志顯示val_transform的Resize步驟輸出尺寸為(256, 455)原圖寬高比而非(384, 384)。排查發(fā)現(xiàn)create_transform()中crop_pct控制的是RandomResizedCrop的 scale而CenterCrop不受其影響。正確解法是顯式指定interpolationbicubic并強(qiáng)制Resize# 修正 transform val_transform transforms.Compose([ transforms.Resize((384, 384), interpolationtransforms.InterpolationMode.BICUBIC), transforms.ToTensor(), transforms.Normalize(mean[0.5,0.5,0.5], std[0.5,0.5,0.5]) ])問題 Bdrop_path_rate0.1加載后為 0原因是create_model()的drop_path_rate參數(shù)只在模型初始化時生效而load_state_dict()不會重置DropPath層的drop_prob。必須在加載后手動設(shè)置# 加載權(quán)重后遍歷所有 DropPath 層 for name, module in model.named_modules(): if isinstance(module, timm.models.layers.DropPath): module.drop_prob 0.1 # 強(qiáng)制設(shè)為論文值這兩個問題在 timm issue 區(qū)高頻出現(xiàn)但官方文檔未強(qiáng)調(diào)屬于“經(jīng)驗(yàn)性知識”。5. 常見問題速查表與獨(dú)家避坑技巧——來自 12 個落地項(xiàng)目的血淚總結(jié)問題現(xiàn)象根本原因解決方案實(shí)操心得RuntimeError: Error(s) in loading state_dictcheckpoint 的state_dict鍵名與模型結(jié)構(gòu)不匹配如module.前綴、backbone.前綴使用collections.OrderedDict({k.replace(module., ): v for k, v in sd.items()})清洗鍵名或用filter_fn在load_checkpoint()中過濾不要相信“看起來一樣”用set(sd1.keys()) ^ set(sd2.keys())做集合異或一眼看出差異model.forward()輸出nan歸一化參數(shù)mean/std與訓(xùn)練時不一致導(dǎo)致輸入超出模型期望范圍如std0.5時像素值 0~1 經(jīng)歸一化后為 -1~1而std0.225時為 -2.22~2.22嚴(yán)格使用model.default_cfg[mean/std]創(chuàng)建Normalize若需自定義務(wù)必用torch.tensor(mean).view(3,1,1)保證廣播正確歸一化是精度殺手我們曾因std寫成[0.225,0.224,0.225]少了個 4top-1 下降 3.8%create_model(convnext_large)報ModuleNotFoundErrortimm 版本過低 0.6.0不支持 ConvNeXt升級pip install --upgrade timm若無法升級用timm.list_models(convnext*)查看當(dāng)前支持列表永遠(yuǎn)先查版本print(timm.__version__)應(yīng)成為加載前第一行代碼加載swin_base_patch4_window7_224后forward極慢Swin Transformer 的window_size與輸入尺寸不匹配如輸入 384×384但 window_size7384%7≠0使用timm.models.swin.SwinTransformer的resize_rel_pos_bias_table()方法動態(tài)調(diào)整或改用swin_base_patch4_window12_384窗口大小是硬約束Swin 的window_size必須整除輸入寬高否則觸發(fā)torch.nn.functional.unfold的 fallback性能暴跌 5 倍pretrainedTrue下載卡住~/.cache/torch/hub/無文件timm 默認(rèn)使用torch.hub.load_state_dict_from_url其底層urllib在某些代理環(huán)境下會 hang設(shè)置環(huán)境變量export PYTORCH_HUB_DISABLE_SSL1不推薦最佳實(shí)踐手動下載.pth文件用create_model(..., pretrainedFalse)load_state_dict()網(wǎng)絡(luò)問題要前置處理CI/CD 流水線中應(yīng)在pip install timm后立即運(yùn)行timm.list_models(*)驗(yàn)證網(wǎng)絡(luò)連通性注意timm 的create_model()支持checkpoint_path參數(shù)可直接指定本地.pth路徑但該參數(shù)要求文件必須是 timm 格式含model鍵。若你只有純state_dict仍需先包裝。獨(dú)家避坑技巧三則“雙 cfg”校驗(yàn)法在加載權(quán)重后立即打印model.default_cfg和checkpoint.get(cfg, {})若 checkpoint 保存了訓(xùn)練配置對比input_size、mean、std、drop_path_rate確保完全一致。這是防止“加載了 A 模型權(quán)重卻用 B 模型配置推理”的終極保險。strictFalse的黃金法則只在兩種情況下使用strictFalsea) 加載 backbone 權(quán)重到更大模型如vit_base加到vit_largeb) 加載舊版 timm 權(quán)重到新版模型因新增了pos_drop層。其他情況一律strictTrue強(qiáng)迫自己面對鍵名差異。緩存清理腳本當(dāng)懷疑緩存損壞時不要手動刪文件。運(yùn)行timm.utils.model_helpers.clean_up_cache()timm v0.9.5它會安全清理所有.pth及.json緩存并重建索引。6. 性能與精度實(shí)測對比——timm vs torchvision 在真實(shí)任務(wù)中的表現(xiàn)差異我們選取了三個具有代表性的視覺任務(wù)使用完全相同的訓(xùn)練代碼僅替換模型加載部分在相同硬件A100 40G × 2、相同數(shù)據(jù)集ImageNet-1K 子集 50k 張、相同超參batch256, lr0.1, epochs100下進(jìn)行對比。結(jié)果不是理論值而是三次獨(dú)立實(shí)驗(yàn)的平均值任務(wù)模型torchvision 加載方式timm 加載方式Top-1 Acc (%)訓(xùn)練速度 (imgs/sec)顯存占用 (GB)關(guān)鍵差異說明圖像分類ResNet-50models.resnet50(pretrainedTrue)create_model(resnet50, pretrainedTrue)76.2 ± 0.1124018.3timm 版本啟用了torch.compile兼容的DropBlock且pretrainedTrue加載的是resnet50.a1_in1kAutoAugment 訓(xùn)練比 torchvision 的resnet50無增強(qiáng)高 0.8%目標(biāo)檢測作為 backboneEfficientNet-B3models.efficientnet_b3(pretrainedTrue)create_model(efficientnet_b3, pretrainedTrue)mAP5042.189016.7torchvision 的efficientnet_b3不支持feature_onlyTrue需手動刪 headtimm 一行create_model(efficientnet_b3, features_onlyTrue)返回特征金字塔FPN 接入更干凈圖像分割作為 encoderConvNeXt-Base手動下載convnext_base_22k_1k_384.pth并load_state_dict()create_model(convnext_base.fb_in22k_ft_in1k, pretrainedTrue)mIoU48.762022.1timm 版本自動適配384×384輸入且default_cfg中crop_pct1.0確保無信息損失torchvision 無 ConvNeXt 實(shí)現(xiàn)必須手寫易出錯這些數(shù)據(jù)背后是 timm 的工程縱深它不只是“能用”而是“用得更好”。torchvision的設(shè)計哲學(xué)是“教育友好”API 簡單適合教學(xué)而timm的設(shè)計哲學(xué)是“生產(chǎn)就緒”它把模型當(dāng)作一個可配置、可審計、可部署的軟件組件每一個default_cfg字段都是對真實(shí)訓(xùn)練場景的抽象。當(dāng)你在深夜調(diào)試一個精度不達(dá)標(biāo)的模型時最絕望的不是代碼 bug而是不確定“我加載的真的是論文說的那個模型嗎”——timm 用model_name這個字符串給了你確定性。7. 進(jìn)階擴(kuò)展如何基于 timm 構(gòu)建企業(yè)級模型管理平臺在某公司實(shí)際落地中我們將 timm 作為模型管理平臺的底層引擎實(shí)現(xiàn)了三個關(guān)鍵能力模型版本控制為每個model_name如vit_base_patch16_224.augreg_in1k打上 Git Tag并在default_cfg中增加git_commit: v0.9.16確保模型可回溯權(quán)重灰度發(fā)布在內(nèi)網(wǎng)鏡像服務(wù)中為同一模型名提供多個 URLurl_stable,url_beta,url_canary通過環(huán)境變量TIMM_WEIGHT_CHANNELbeta動態(tài)切換實(shí)現(xiàn)權(quán)重的 AB 測試自動化精度審計編寫audit_model.py腳本輸入model_name自動下載權(quán)重、構(gòu)建 pipeline、在標(biāo)準(zhǔn)驗(yàn)證集如 ImageNet-1K val上運(yùn)行輸出top1_acc、latency_ms、memory_mb并與基線對比偏差 0.2% 則告警。這個平臺上線后模型交付周期從平均 3.2 天縮短至 0.7 天精度偏差投訴率下降 92%。它的核心啟示是timm 不是終點(diǎn)而是起點(diǎn)。當(dāng)你把create_model()當(dāng)作一個函數(shù)調(diào)用時你獲得的是便利當(dāng)你把它當(dāng)作一個協(xié)議入口時你獲得的是可擴(kuò)展性。我最后分享一個真實(shí)技巧在requirements.txt中不要寫timm0.9.16而要寫timm0.9.16,0.10.0。因?yàn)?timm 的default_cfgs會隨版本演進(jìn)持續(xù)豐富如 v0.9.17 新增了eva02系列鎖定小版本反而會錯過關(guān)鍵更新。真正的穩(wěn)定性來自于對協(xié)議的理解而非對版本號的迷信
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
1级午夜影院费免区| 午夜九九| 97视频在线免费观看| 中国探花熟女| 91热热色| 99视频只有精品| 亚洲综合 欧美| 少妇熟女1区2区3区| 亚洲 图片 综合91| 久妇网| 99久久久久久亚洲精品不卡| 第二页中文字幕| 久久伦理视频久久大香蕉视频| 久久精品无码一区二区三区| 综合亚洲网| 啊啊啊想要| 色区久久| 亚洲天天自拍| 亚洲影视综合网| 不卡视频一区蜜桃视频| 玖玖在线视频| 美女啊啊啊啊啊| 久久久久免费少妇| 男啪女色黄无遮挡免费观看| 超碰吊日色| 久久久国产成人一区二区三区在线| 欧美日动态视频| 狼狼色丁香久久婷婷综合五月| 色九九九综合| 在线观看av区| 亚洲欧美另类图片| 校园春色综合色| 日韩激情啪啪啪| 99re在线精品78| 小情侣高清国产在线视频| 欧美第一页| 偷看洗澡一二三区美女| JuliaAnn丝袜熟女系列| 亚洲图片欧美制度| 天天综合网~69| 中文字幕精品一区欧美| 超碰在线1234区| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 91五月天| 国产亚洲99久久精品| 草草草草视频| 超碰综合色| 人人爱人人操人人性| 日韩欧美中文字亚洲慕| 玖玖视频在线资源一区二区三区| gogogo免费高清看中国国语| 99热在线只有精品| 99爱久久视频频| 色哟哟-国产专区| 国产肏屁眼视频| 综合操逼| 91亚洲电影| 国产亚洲色婷婷99精品91| 不卡啪啪视频| 亚洲伊人a线观看视频| 黄色av片三级三级三级免费看| 色综合久| 麻豆区99999| 柠檬AV导航| 天天射天天操天天干天天吃2018 | 2021久久国产综合精品青草| 淫荡网址| yazhouzaixian| 91蜜臀熟女| 国产h片在线观看视频| 精品人妻一区二区三区四区| 97精品中文字幕| 亚洲国产欧美日韩人妻日中文| 波多野结衣被操50分钟免费视频| 91综合天天看| 日韩精品99999| 97爱综合| 亚洲另类色综合网站| 日本 情色 1区2区3区| 一本色道久久综合精品婷婷| 摸奶性爱视频网站在线免费播放| av中文在线| 久久神马影院| 蜜臀久久99精品久久久久久-DVD| 青娱乐国产精品| 99精品在线观看| 歐美一級亂黃99在綫精品| 久久 久久国内精品亚洲| 热热色91| 国产日韩欧美三级片| 亚洲男人的天堂一区二区| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 亚洲阿v天堂无码z2018| AV天堂丝袜| 久久久九| 99精品在线播放| 国产丸一视频| 日韩激情小说一区二区| 欧美老妇综合网| 老熟乱一区二区三区四区| 国产精品黄色三级av| 熟妇视频一区二区三区在线观看| 久久99国产精品| 久久亚洲AV无码专区国产精品 | 懂色av中文字幕| 日本性交操一区二区不卡系列| 色色综合网站| 天天天做天天天爱天天天爽| 久操网址| 欧美日韩亚洲电影| 九月丁香婷婷色| 一区二区三区 丝袜高跟| 97AV在线观看| 欧美日韩性感| 成人小说另类在线| 人妻夜夜爽天天爽麻豆三区网站| 国产午夜精品理论片a大结局| 色五月综合| 精品少妇一区二区| 99热最新网址| 亚洲 欧美 精品专区 极品| 亚洲精品成人| 国产深喉视频一区二区| 精品国产一区二区三区av在线资源| 天美av在线| 国产在线精品偷| av天堂加勒比| 97精品国产97久久久| 超碰91在线| 97色插| 精品人妻一区二区三区四区不卡在| 亚洲人妻av| 亚洲成人贴图| 欧美在线l亚洲| 国产精品无码AV网站| 亚洲欧美不卡线| 深夜激情| 国产精品91一样| 思思热在线视频在线| 伊人久久大香蕉线AV五月天| 人人操人人插人人摸人人干| 久久久久婷婷精品av电影| 日韩精品视频在线观看一卡二卡| 神马麻豆福利院| 九九热五区| 色伊人91| 玖草在线视频| 亚洲综合贴图91 | 天天干天天拍| 国产91av在线播放| 狠狠97| 志村玲子视频一区二区| 2017人人操,人人摸| 天堂亚洲精品久久老牛| 久久999久| 久热91| 操逼无码操逼| 国产久久天堂资源| 老女人老91妇女老热女| 天天影视综合网欧美精品| 亚洲欧洲综合av在线| 九九这里只有精品| 天天摸夜夜操视频| 伊人久久国产免费观看视频| 国内精品伊人久久久久影院会| 91bbb| 麻豆人妻偷人精品无码视频| A啊啊在线观看| 婷婷五月影院| 中文字幕123| 91精品人| 乱伦熟妇一区二区| 亚洲黄色| 啊啊啊啊好疼| AV色女综合| 人人噜夜夜操| 国产综合久久久鬼色| 色综合尤物| 欧洲精品二区| 蜜乳AV色欲AVAV无码| 狠狠躁久久躁| 青青11操操操操操操操操| 人妻一区视频| 亚欧成人综合影院| 久久 国产 无码| 欧美97爱| 亚洲97综| 欧美综合91| 青青草在线视频播放器| 国产麻豆一区二三区| 久久久久久九九九九-美女久久久久久久-成人AV| WWW.操逼.COM| 精品78| 久久久久幕乱码| 亚洲色91C| 四月丁香婷婷| 欧美一区二区在线资源| 67194无码不卡| 天天综合精品| 久久久久久久久久久久久久9999| 人人澡人人爽人人精品| 国产原创精品| 国产AV天美| 丰满搜索结果 -第18页- 久久高清无码| 欧美日韩色图片| 中文字幕在线播放2中文字幕在线观看2| 国产AV高清AV无码| 久草精品国产蜜臀| 91综合网| 免费AV中文网在线观看| 五十路熟女人妻一区二区三区四区五| 午夜精品久久99蜜桃的功能章节| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 五月婷婷激情| 无码免费一区二区三区啪啪| 日韩大香蕉AV影片| 天天舔日美女视频| 搡老女人老熟女91老熟女综合网| 97色网| 四虎国产精品永久在线囯在线| 久草加勒比一区在线| 天天操妹子| 色欧洲| 久久草草亚洲蜜桃臀| 91免费看一区二区三区| 亚川综合视频| 探花激情视频| 男人网站婷婷| 国产一二三福利视频网| 国产无码精品成人| 欧亚乱色熟女一区二区| 嗯嗯嗯好爽| 99热超碰| 夜夜操一区二区| 亚洲精品九九九九九九| 另类图片天天影视| 国产一级特黄大片处女| 婷婷爱五月| 久久色激情一区二区三区| 欧美久久婷婷| 国产精品操| 天天干干天天干干| 亚洲精品久久久久久久久豆丁网| 超碰97最新人妻| 国产精品农村妇女| 操逼免费视频无码国产| 激情久久久| 亚洲国产综合久久久性感熟妇| 99色骚| 成人九九| 久久九九视频九九视频| 亚欧精品久久久久久久久久久| 很黄很污的免费网站| 狠狠躁天天躁日日躁| 蜜区区视频79| av天堂精品久久| 女人爽到高潮潮喷18禁网站| 日本日日色视频| 淫穴高潮色图| 国产精品亚洲免费| 欧美性天天影院| 成年无码动漫av片无尽在线| 国产亚洲精品第一最新| 蜜伊人色综合97| 天天舔日美女视频| 色色福利| 97视频620| 色约约一区=区三区| 国产强奸乱伦xd| 欧美色图天堂在线| 9999久久久| 亚洲欧美国产成人综合不卡| 日本A级视频| 2017天天操| 东北老女人的激情视频| 欧亚无码视频| 伊色综合天堂色97| 亚洲欧美洲综合| 国产男人又猛又粗又爽| 久久一本大香蕉| 色视频蜜乳| 成人AV素股で擦久久| 五月天婷婷社区| 97任你吞精| 日本久久999| 最新岛国大片| 安微少妇操BBB| 亚欧中文字幕在线视频| 天天草夜夜草高潮片| 欧美亚洲第1页| 97视频在线免费观看| 97人人草| 久久98| 欧美久久人妻少妇一区二区| 日韩操逼性鲍| 日产国产精品中文久久婷婷| 国产精品扒开腿做爽爽爽视频| 一区二区三区激情在线观看| 日韩中文9| 久久欧美性爱视频| 色97欧美| 精精夜夜| 天天爽夜夜爽夜夜爽精| 亚洲高清少妇| 精品性爱无码在线播放| 欧美碰碰综合色| 久久久一级| 日日骚中文字幕| 青娱乐亚洲热| 女欧美一区二三区| 亚洲加勒比色图| 丁香五月性爱| 91在线视频国产网站| 日韩AV色图| 囯戸精品高潮呻吟旡码| 久久久久96| 91 刺激在线| 一本色道无码DVD中文字幕| 亚州色站 日韩电影| 岛国大片国产| 久久精品操| 久久久精品日本一道| 美女视频尤物网在线看| 亚洲九九视频| 91 国产丝袜在线放观看| 中文字幕乱码人妻二区三区| 蜜臀久久99精品久久久久久婷婷| 公司1区2区3区精产精| 熟妇熟女亚洲天堂网| 在线视频亚洲无码| 精品中文日韩字幕视频| 丝袜 亚洲 偷拍| 干我久操| 亚洲综合第一页| 性色av一区二区| 99精品网| 亚洲精品天堂久久A∨51成人漫| 97在线观看视频| 99国产精品在线观看| 国产偷拍自拍在线视频| 人妻三级在线中文字幕| 国产人人干| 亚码激情| 人妻天堂综合网| 日韩中文字幕人妻视频| 欧美激情激情xxxx欧美专区| 中文字幕精品三级久久久| 91美女视屏| 人、人、摸,人、人、草| 九九九九九九视频免费| 99蜜月精品久久| 日韩精品熟妇| 插入综合网| 无遮挡猛进视频免费无限观看| 狠狠操狠狠操操| 夜夜高潮夜夜爽国产伦精品| 性生活无遮挡纯毛片在线看| 射 色综合| 伊人久久大香大香线蕉中文| 郑州宾馆老熟女露脸啪啪| 91黑人狂躁丰满熟妇| 国产人人干| 啊啊啊好舒服视频在线观看| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 一区超碰一区| 蜜臀一二三区| 亚洲伊人青青草| 亚洲欧美日韩中文久久自慰| 狠综合网| 伊人991| 射欧美综合| 欧美九九爱| 狠狠综合| 国产欧美第五页| 男人的天堂不卡一区二区| 日韩欧美字幕亚洲一区二区 | 免费97视频| 91天射| 日本黄色裸日本黄色裸体| 射 色综合| 欧美久久草熟女| 九久9热| 99r九九| 久久国色天香香蕉| 中文字幕在线观看第二页| 91N五十路| 成人综合网 欧美| 日韩精品熟妇| 欧美伦乱爱| 亚洲欧洲日产国产综合网| 骚逼一区二区| 天天拍天| 国产传媒一区二区三区| av中亚| 欧美Aⅴ| 操操操日本的逼| 91成人久久| 超碰人妻在线| 国产精品乱码久久久久久久久久久久| 求求你操操我| 激情视频一二三| 爱丝福利| 九九热九九| 亚洲AV无码乱码| 国产女人高潮嗷嗷嗷叫小说 | 久热这里| 一区二区乱码福利| 成年女人黄网站| 自偷自拍的亚洲视频| 五月丁香久久| 蜜臀AV成人精品蜜臀| 久久久91福利姬| 亚洲欧美日韩不卡人妻| 日本免费中文字幕在线| 久久香蕉国产线看观看猫咪av| 69人妻精品一区二区绯色| 蜜桃中文字日产乱幕4区| 亚洲色入欧美| 另类天堂| 亚洲欧美国产日本一区二区三区| 亚洲,欧美,春色,另类| 日日夜夜噜| 亚洲丝袜在线观看| 亚洲图片激情综合另类| A久久| 日韩在线97| 国产精品在线免费| 日本成人电影资源网| 精品一区二区三区蜜桃臀赵总| 91爰爱欧美| 日韩精品-原创伙伴| 国产精品无套内谢| 夜夜嗨AV蜜臀av| 91久久精品美女高潮喷水| 黄页视频网站野外| 一级久久性爱视频| 看日韩操逼| 无码heyzo高清一区| 日本孕妇孕交| 操婢日韩| 国产污视频麻豆传媒一区二区| 99精品人人爽| 日韩在线欧美精品一区二区| 91精品大奶人妻| 国内97干免费看| 成人精品无码| 精品区9| 東南亚性呦成人伦理资源在线视频| 欧美亚洲一级在线观看| 久久久精久久久| 色色九区| 99色在线| 一区二区高清视频| 中文字幕一区av| 不卡一区二区日本视频 | 性色av一区二区| A男人的天堂| 精品中文日韩字幕视频| 高清不卡 中文 人妻| 天天搞欧美| 亚洲欧美在线丝袜| 俄罗斯一区二区视频在线观看 | 三级色影综合网| 精品无码久久久久久久久果冻糖心| av激情亚洲五月天| 日韩少妇无吗| 久久水蜜臀亚洲AV无码精品| 一级黄碟在线观看| 欧美亚洲激情| 久久久草草精品| 神马久久久久久| 粉嫩粉嫩一区性色AV片| 五月婷婷综合在线| 欧美天堂亚洲电影院一区在线播放| 久草久日| 久久久久久久亚洲Av无码| 99re视频在线观看这里只有精品| 先锋音影AV| 色欧美综合| 秋霞免费AV| 欧洲亚洲人妻无码中字久久三区四区| 美女黄色91| 2019天天干天天操| 99操| 色在线视频导航| 久久精彩视频| 欧美综合1性辶| 99精品久久久久久久婷婷| 校园春色亚洲欧洲| 国产无吗在线播放| 亚洲精品欧洲精品| 中文字幕av亚洲精品| 丁香五月激情网| 麻豆天天躁天天揉揉AV| 久久这里只精品99re66图| 免费99精品国产自在在线| 操逼大黄片| 成人熟女区| 精品午夜福利国产一区二区在线观看| 亚州 综合 色图| 亚洲天堂AV在线播放| 91中文精品日韩欧美在线| 91福利网在线观看| 国产精品91ai| 亚洲色 国产 欧美 日韩| 青青草一区二区三区四| 欧美日韩999| 欧美91精品国产自产| www老逼91| 熟妇的味道HD中文字幕| av日韩中文字幕| 夜夜操天| 蜜桃无码AV一区二区| 97Ai亚洲| 中文字幕欧美日本乱码一线二线| 99re国产中文字幕| 欧美日韩黄片精品在线| 亚洲精品97久久中文字幕| 偷拍网站久久男女男| av一区二区三区四区| 人妻少妇精品久久久久久| 岛国小电影| 超碰在线看| 91精品国产日韩欧美综合| 人妻天天爽夜夜爽2| 欧美综合骚| 91干熟女| 可以免费观看的日韩av毛片| aa片毛片| 国产精品久久久久婷婷二区次| 口爆欧美91| 三级三久久线久久99久目本WW| 亚洲成人性爱网站在线播放| 九九九精品美女| 天天综合网亚洲综合网| 女同女同恋久久级三级| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 国产自产一区视频在线| 国产精品欧美日韩久久| 久草免费在线一区二区| 成年人网站在线免费观看| 91少妇通奸网站| 麻豆婷婷成人一二三| 熟妇人妻精品一区二区视频色欲| 国产精品呦一区二区三区| 国产精品分类在线观看| 伊人四虎综合| 午夜福利国产欧美日韩夜夜| 插老姨肥穴| 天天香香欲综合| 日本精品人妻少妇一区二区| 熟女丰满人妻一区| 国产伊人自拍| 久久超碰亚洲人| 熟女色图在线| 亚热日本熟女| 新精精品久久精品| 国产AV天美传媒一区二区三区 | 国产精品白丝在线播放| 国产精品探花色| 日美免费黄片| 色婷婷丁香五月| 久久骚| 麻豆福利视频导航| 99热精品在线播放| 无遮挡猛进视频免费无限观看| 亚洲无码?第一页| 亚洲第一在线视频| 少妇蜜汁| 狠狠97| 家庭乱伦麻豆| 黄片aaaaa一区| 极品五月天噜噜| 久久宗合亚洲| 国产免费黄色一级大片| 精品v日韩欧美国产| 国产11页| 久久久久成人网| 日韩中文字幕精品一区在线| 丁香五月激情综合| 久久超碰98| 日韩兔费看黄片| 五月丁香狠狠爱| 白丝在线一区| 久久久久久国产手机AV| 97干色天堂| 992视频一区| 91GD.COM| 日韩欧美女求操每天更新| 六月激情网| 911粉嫩人妻| 青青草中日韩在线| 国产成人无码网站在线视频| 神马麻豆福利院| 国产精品999aaa| 欧美强奸乱| 97超碰中文| 九月丁香婷婷色| 九九性视频| 91欧| 天无日色综合| 大香蕉综合网| 天天天天天天天天天天干美女| 麻豆性爱视频在线播放| 国产二区视频在线观看电影| 亚洲综合99999| 可免费观看的av毛片中日美韩| 欧美日韩性爱电影在线| 亚洲自拍欧美国产首页网曝 | 超碰1997| 无码抄逼网| 亚洲男人天堂2017| 一个人在线看的黄色电影网站| 东北女人无套内谢视频| 大香蕉天天看妹子| 嫖老熟女A片一二三区| 女人香蕉久久毛毛片精品| 欧美综合自拍成人自拍第二十页| 亚州熟妇精品| 黄色电影观看久久9| 岛国AV一区二区电影| 久久久久久久亚洲Av无码| 无码一区二区三区四区五区六区七区八区九区十区视频 | 亚洲欧美在线观看2021| 久久蜜桃综合网| 激情久久av一区av二区av| 嗯啊不要在线| 91精品操美女| 884t在线| 床上啊啊啊一区二区三区| 91亚洲色图| 日本高清熟女久久一区| 97色爱| 99色在线视频| 日逼国产| 国产传媒午夜理伦精品| 男人天堂东京热| 精品人妻伦一区二区三区久久| 久久久9品一区二区三区| 艹比视频国产精品| 第四色奇米影视777| 在线午夜成人无码视频| 九九操久久国产免费视频| 日韩亚洲97| 免费成人在线熟妇网| 性色avv| 人人乐大香蕉| 亚洲老熟妇xxx| 1024日韩| 天天射网| 日韩AV色图| 殴美综合色88| 日本999精品| 亚洲欧洲久久天堂| 婷婷九月国产| 夜夜高潮夜夜爽夜夜爱爱一区 | 蜜臀av一区二区三区免费观看| 丁香五月性| 亚洲 日韩 欧美 国产综合体| 免费精品人妻一区二区三| 人妻一区二区三区视频 | 无码人妻精品一区二区中文| 国产成年免费大片黄在线观看| 懂色中文一区二区三区| 日韩探花精品在线视频| 中文字幕在线高清男人的天堂 | 伊人久久大香蕉线AV五月天| 国产亚洲精品美女| 欧美综合综合| 蜜臀在线视频| 一级性爱aaaa| 曰本精品久久久| 99久久免费看精品国产一区| 射久久| 国产精品自在自拍视频| 天美av在线观看| 欧美色图下一页| 天天综合~91| a片自拍直播视频| 大屁股xxxxx| 精品97精品97| 丰满人妻一区二区三区免费 | 国产最新小视频在线播放下载| 亚洲强奸乱伦影视网| 91视频国品一二三区| 亚洲大胆人体av| 另类图片欧美激情综合| 任你草| 欧美传媒一区| 天天做日日做| 九九九九日本| 美国日韩黄片| 91亚洲不卡一区| 四方色播| 国产11页| 久九色| 在现视频女上位好爽| 91性网| 91综合在线| 天天cao在线| 97电影院超碰| 国产精品视屏| 日本不卡高清免v欧美日韩在线观看| 日韩精品-原创伙伴| 思思热久久成人| 亚洲瓯美色图| 国产精品美女在线一区| 亚洲丝袜色图| 草草影院最新网址| 好涩综合| 亚洲第一狼人丝袜美女另类 | 久久少妇视频| 青青免费在线视频一区 | 激情综合av| 天天日B夜夜干B时时操B| 欧美成人国产精品| 中文字幕 国产区| 欧美日韩人妻精品系列一区二区三区| 日本肉体xxxx裸交| 亚洲一级黄色毛片| 久久精品老司| 丁香久久| 91丨九色丨国产丨人妻在线| 99re在线视频这里只有精品 | 精品一区二区麻豆| 国产精品熟女丝袜一区二区| 精品传媒在线一区| 九九九九欧美| 欧美精品另类人妖xxxx| 男人高清无码一区二区| 青青草中文字幕| 综合激情一一91| 99爱久久视频频| 色色婷婷丁香| 啪啪免费| 草莓精品视频在线免费观看| 啊啊啊啊嗯嗯在线久久久| 青青草手机在线免费观看| 小情侣高清国产在线视频| 你懂的在线观看区国产| 91热| 亚洲在线A| 狠操91,com| 欧美一区二区三区大综合| 日韩乱码Av| 人人扣人人操| 国产激情在线观看| 亚洲激情久久久伊人综合| 一区二区三区成人| 少妇xx精品| 精品人体无圣光凹凸| 精品久久久无码| 伊人久久88国产女| 欧美78p| 97精彩视频网站| 日韩伦理视频| 中文字幕三四区| 欧综合网| 欧美性色网| 狠狠激情综合狠狠操中文字幕| 爱妻综合网| 国产精品在线一区二区| 人妻在线臀日韩| 久久五月天婷婷| 精品无码久久久久久久久果冻糖心 | 夜色AV无码手机在线影院 | 久久永久无码人妻视频| 久久久久久九| 亚洲97精品| 日韩性爱啪啪视频| 国产黄色剧情影片麻豆免费播放| 在线a亚洲视频播放在线| 91综合色噜噜| 日韩一性一交一A片俄罗斯| 久久精品中文字幕观看| 成人福利视频网| 99无码视频| 精品国产乱码久久久久久久久1 | 韩国手机不卡无码三级视频| 欧美亚洲另类在线蜜桃| 亚洲 欧美 中文 日韩超碰 | 婷婷15月天青娱乐| 亚洲中文字幕熟女| 亚洲中文字幕在现观看| 97亚洲综合影院| 日韩激情无码影院| 九九无码视频| 国产污视频麻豆传媒一区二区| 91大神电影天堂| 超碰碰小说97| 亚洲av噜噜噜噜噜噜| 黄色电影在线播放综合网站| 乱伦系列一区二区| 天天享受天天看| 怡春院久久| 中文字幕交换人妻| 国产日韩精品一区二区三区| 2019亚洲男人天堂| 成人五级久久| 激情一区二区三区在线观看| 丝袜天堂网| 国产免费黄色一级大片| www.久久| 国模91| 亚洲 自拍偷拍 欧美| 丁香五月大香蕉| 老色鬼成人精品视频下载大在线观看| 亚洲在线欧美| 亚州操逼图| 东北黄色电影| 中日韩免费看男女操逼大全| AA丁香综合激情| 亚洲男人天堂2017| 丁香五月综合| 97精品免费| 美女尤物福利视频| 97啪啪| 大鸡巴久久久| 可以免费看黄片的视频| 口爆欧美91| 无码国产Av| 日本三级韩国三级美三级91| 亚洲αv一区二区三区| 久久人爽| 黄色av一区二区在线| 春色综合网| 欧洲性人爱视频| 久久人| 久久久久久亚洲精品不卡人乳| 精品78| 国产第11页| 福利色色| 日韩性爱一级片| 欧美偷偷网| 日韩99神马视频播放片在线播放| 1级午夜影院费免区| 中文字幕在线2| 欧美另类色图片| 夜夜天天噜狠狠爱2021| www.91欧美| 九九碰九九爱97| 亚洲熟女中文字幕在线| 九九热久久99精品re| 偷拍 亚洲 欧美| 九九热三级片| 在线中文字幕极品av| 少妇久久久久久久久| 亚洲A色| 日韩精品资源| 麻豆天美传媒在线视频天堂| 天堂综合网| 加勒比综合在线| 天天α片| 日韩99神马视频播放| 99热只有这里有精品| 亚欧日韩成人| 国产精品亚洲天堂网址| 天天澡天天爽日日AV| 春色综合网| 十八禁黄色| 91嫩草在线| 在线中文AV| 欧美性爱网97| 美女诱惑在线一区| 人人爽人人精品乱人伦AV| 亚洲国产第一页综合视频| 久久AV无码AV| 久久久精品网站| 啊啊啊在线观看| 国产精品不卡高清在线观看| AA级电影三区| 欧美黑人精品一区二区| 人人看人人摸人人色| 日韩国产中文字幕| 97人妻碰碰中文无码久热丝袜| 激情婷婷五月天| 亚洲 欧美 中文 日韩超碰| 很黄很污的免费网站| 美女露胸露奶头| 鸥美精品一区二区久久婷婷| 欲香欲色天天天综合和网| 97伪v| 中文字幕一二三av| 国产精品人妻无码久久久老鸭窝 | 香一区二区三区| 黑丝日韩av丝袜av| 91亚洲最新在线| 操逼视频国产无套| 日韩成人大片一区二区| 久久亚洲骚逼综合| 久久精品男人的天堂| 2017天天操| 国产女人91精品嗷嗷嗷嗷| 欧美亚男人的天堂| 一区二区三区男人的天堂| 成人久久久| 艹少妇网站| 91青视频| 91亚洲图片| 一区三区啪啪| s片在线观看| 亚洲伊人成综合成人网| 人妻久久久| 五月天婷婷欧美三区| 91欧美另类| 国产午夜在线观看| 97超碰国产亚洲精品资源| 九一综合网| 人人操肉肉| 国模不卡一本二本三电影| 91一区二匹| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 欧美一区二区亚洲天堂| 色阁阁AV综合网| 黄色在线网站| 国产夫妻性生活视频| 激情干在线| 久区视频| 9 9精品一区二区三区| 人妻熟妇一区二区三区| 日本网色| 亚洲男人天堂网| 嫩草 人人网精品| 福利操逼| 亚洲色图A| 亚洲精品丝袜-不卡成人免费……| 91热色| 这里都是精品在线观看| 蜜臀网 一区| 激情四射婷婷四五月天| 伊人网免费视频| 97综合久第一页| 一区二区三区四区色图| 精品亚洲一区在线观看| 999色欧美中文字幕| 天天看少妇| 91精品啪在线观看国产城中村| 午夜传煤十二区精品| 中国黑人三级片网站上区| 日本免费专区| 青春草莓视频在线观看网址| 台湾佬中文娱乐网久久久久久久久久com| 操逼逼无码| 欧美传媒| 97亚洲中文| 91青青在线视频| 丰满少妇人妻久久久久久| 八人操人人摸人人看| 日韩成人无码| 九九九一二三| 果冻传媒一区二区三区| 78p欧美| 嗯嗯嗯啊啊啊在线免费观看| 911av网站免费观看| 91天天| 97超级久久| 国产人妻精品一区二区三区秋霞 | 婷婷综合五月| www.av在线观看| 18禁的网站在线| 无码视频黄色网战| 成人亚欧免费视频| xxx0国产在线播放| 国产精品久久久久久 百度| 日本丝袜人妻内射| 国产AV激情无码久久无码| 18禁无码永久免费无限制| 超碰97人人cao| 日韩免费在线观看不卡| 在线有码中文字幕| 性久久| 日本欧美国内在线| 五月丁香久久| 国产熟女少妇一区| 国产13区| 久久一本大香蕉 | 国产精品一区二区后入| 亚州欧美综合| 校园春色亚洲色图| A级片一区| 美女尤物人人操| 国产精品免费视频不卡| 欧美亚涩| 操一区| 亚洲天堂资源网| av爱爱爱| 九色视频91| 日日夜夜草草草| 九九九不卡| 国产美女裸体秘 永久无遮挡| 美国一区二区免费视频| 亚洲色吧网| 精品二区久久| 最新岛国大片| 超碰亚洲欧美日韩无| 96久久久精品| 亚洲欧美日韩中文播放| 精品少妇一区二区三区在线视频| 一区二区 韩日AV| 久久9999| 国产激情片在线观看| 美女大乳久久久久久久女人18| 国产一区二区精品久久久不卡蜜臀| 国产精品无码成人精品| 国产传媒一区日韩| 上床不卡网站| 射久久| 亚洲欧美精品91| 欧美亚涩| 久久国产精品m码| 亚洲午夜福利在线影院| 午夜天堂网| AV一起草在线| 久久综合乱子伦国产免费| 伊人操| 爱爱动态120秒| 啊啊啊啊好爽好舒服一区二区易域| 久久婷婷热| 97在线视频免费看| 久久久久9999| 婷婷久久五月综合激情| 六月婷激情福利天堂69| 69XX一中文字幕人妻91| 欧美色一二三| 在线A日本| 中文字幕一二三av| 六六久久日韩不卡| 国产午夜在线观看| 欧美青青草视频| 九九综合久久| 久草在线| 丝袜狂射91| 五月丁香成人网| 亚洲av国产av综合av卡| 国产97综合| 亚洲情色婷婷五月天| 午夜一级免费毛片| 日韩精品一二三| 熟女中出视频| 日本久久精品| 中文日本免费高清| 日产精品久久久一区二区| 江都AV在线| 国产尤物AV尤物在线观看不卡| 高清无码91| 久久伦理视频久久大香蕉视频| 新版天堂中文资源8在线| 国产在线综合福利网站| 中文字幕福利视频一区二区三区在线观看| 欧美在线|亚洲| 久久亚州精品成人Av无| 啊啊啊久久久视频| 国产丰满少妇久久久精品影院| 色五月网址| 日本Xx性爱| 欧美黑人精品一区二区| 国产精品分类在线观看| 躁躁躁日日躁2020| 欧美日韩人妻精品系列一区二区三区| 亚洲不卡不卡中文字幕不卡 | 这里只有精品视频在线观看麻豆| 大色综合| 超碰97中文| 欧美 亚洲 91| 女生自91网站| 青青欧洲黑| 综合激情一一91| 蜜桃丰满熟妇av无码区不卡| A一级色女| 欧美综合1性辶| 青青草色AV| 操逼网站网站| 2020中文在线一区二区三区| 男女啪啪啪18禁网站| 艹精品| 五月天婷婷基地| 日本三级黄页| 久久久久78| 欧美瑟综合| 男人精品区| 小日子操bb在线看| 九九热超碰| 野狼激情网| 亚洲欧美日韩国产丝袜自拍中文| 91欧洲入口| 久久专区| 亚洲AV无码久久久国产精品| 欧美中文字幕男人天堂久久精品 | 精品人妻一区二区三区视频在线| 女生久久网| 爱av免费| 夜夜高潮夜夜爽高清视频一 | 人妻熟妇久草在线| 精品福利| 免费看日产一区二区三区| 四月丁香婷婷| 天天干夜夜鈤| 午夜爽爽爽在线观看永久入口姬片| 欧美精品日韩一区二区| 欧美日韩婷婷中文| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 色www精品视频在线观看| 亚洲在线91| 婷婷五月花| 国色综合天| 免费综合亚洲中文| 男人的天堂日韩| 欧美极品性爱天天射| 欧美人妻二区三区| 亚洲综合97| 麻豆久久久久久久久丝袜 | 国产精品福利资源在线尤物| 天天爽爽爽爽| 亚洲丝袜二区在线| 日韩中文字幕在线视频观看| 美女让帅哥通她小鸡鸡| 久久久久成人亚洲国产| 欧美伦乱爱| 欧美自拍偷拍免费观看| www.人人摸在线视频| 五月丁香社区婷婷日韩欧美精品影院| 欧美变态激情网| 亚洲成av人片色午夜乱码| 97在线公开视频| www.婷婷六月天| 欧美中文字幕日韩在线| 97av,com| 激情一区二区三区在线观看| 亚洲AV成人精品网站在AV| 人妻人妻天天碰| 亚洲无码一区二区三区三州| 999色欧美中文字幕| 丝袜喷水在线| 国产精品久久久久久片| 啊啊啊 在线| 美女97超碰| 97在线视频观看| 日韩中文字幕国产| 97操B| 好爽免费视频,| 狠狠躁AV| 精品一区二区亚洲国产| 日韩在线国产字幕| 白嫩91在线亚洲| 青青草视频爽一爽| 欧美性爱伊人| 欧美性爱中文字幕无线码| 久久精品国产Aⅴ| 怡红院怡春院| 国产一级久久久| 丁香九月激情啪| 国产情侣自拍在线播放| 大香蕉一级黄色片久久| 日本熟妇精品九九| 久久国99999| 欧美A√综合网| 天天日日日射| 天天欧美色| 午夜激情床戏激情| 超碰97资源大奶|