色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合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 庫——一個(gè)被低估的模型加載中樞如果你還在用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不是另一個(gè)“可選庫”它是過去五年里由一線視覺算法工程師在真實(shí)訓(xùn)練任務(wù)、多卡調(diào)度、跨數(shù)據(jù)集遷移、輕量化部署等高壓場景中反復(fù)錘煉出來的模型基礎(chǔ)設(shè)施層。它解決的從來不是“能不能跑起來”而是“能不能穩(wěn)、能不能快、能不能準(zhǔn)、能不能省”。我?guī)н^的幾個(gè)項(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 里一個(gè)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這三個(gè)詞背后對應(yīng)的是三個(gè)現(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)證你加載的模型真的和論文報(bào)告的一致。2. timm 的核心設(shè)計(jì)哲學(xué)與架構(gòu)拆解——它為什么能比 torchvision 更“懂”模型2.1 不是“又一個(gè)模型庫”而是“模型注冊中心 權(quán)重分發(fā)協(xié)議”timm 的本質(zhì)是一個(gè)高度結(jié)構(gòu)化的模型注冊中心Registry而非簡單封裝一堆nn.Module子類。它的設(shè)計(jì)起點(diǎn)非常務(wù)實(shí)當(dāng)團(tuán)隊(duì)同時(shí)維護(hù) ResNet、EfficientNet、Vision Transformer、ConvNeXt、PoolFormer 等二十多個(gè)主干網(wǎng)絡(luò)每個(gè)網(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這個(gè)字符串不是隨便起的它明確表達(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è)計(jì)讓模型選擇從“猜”變成了“查”——你不需要翻源碼看__init__參數(shù)只要查 timm 官方 model zoo 頁面或運(yùn)行timm.list_models(*vit*)就能看到所有可用 ViT 變體及其完整元信息。相比之下torchvision.models.vit_b_16()只返回一個(gè)固定結(jié)構(gòu)的模型你根本不知道它用的是哪版權(quán)重、是否開啟 dropout、歸一化參數(shù)是否對齊原始論文。timm 的 registry 機(jī)制還帶來一個(gè)隱形優(yōu)勢模型熱插拔。你可以隨時(shí)注冊自己的自定義模型比如加了注意力門控的 ResNet只要遵循create_model()接口規(guī)范就能和官方模型一樣用同一套加載邏輯這對快速迭代實(shí)驗(yàn)至關(guān)重要。2.2 權(quán)重加載不是“下載load”而是一套可審計(jì)的分發(fā)協(xié)議timm.create_model(model_name, pretrainedTrue)看似簡單但其內(nèi)部執(zhí)行的是一個(gè)四階段協(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并打印缺失/意外鍵名供你審計(jì)。這個(gè)流程的關(guān)鍵在于可追溯性。每一個(gè)default_cfgs[vit_base_patch16_224.augreg_in1k]字典項(xiàng)都明確記錄了url指向 Hugging Face 或 GitHub Release 的原始發(fā)布頁source字段標(biāo)明是github、huggingface還是timm自托管license字段注明是否允許商用。這意味著你提交論文附錄時(shí)可以直接寫“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自動返回一個(gè)與該模型訓(xùn)練時(shí)完全一致的torchvision.transforms.Compose對象。這個(gè) pipeline 包含動態(tài)Resize根據(jù)cfg[input_size][1]寬和cfg[crop_pct]裁剪比例計(jì)算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)練時(shí)啟用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)定、可控、可審計(jì)地獲取預(yù)訓(xùn)練權(quán)重遠(yuǎn)程加載看似最簡單但恰恰是出問題最多的環(huán)節(jié)。我整理了三個(gè)高頻故障場景及對應(yīng)解法提示timm 默認(rèn)緩存路徑為~/.cache/torch/hub/Windows 用戶路徑為%USERPROFILE%\.cache\torch\hub\。首次加載失敗后務(wù)必先檢查此目錄下是否有.pth文件殘留即使不完整因?yàn)?timm 會嘗試讀取它并報(bào)KeyError: model錯(cuò)誤。場景一公司內(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)這段代碼的核心價(jià)值在于它沒有破壞 timm 的生態(tài)只是新增了一個(gè)可被list_models()發(fā)現(xiàn)的模型入口且所有預(yù)處理、配置仍沿用 timm 原始邏輯。比簡單torch.load()高明之處在于model.default_cfg依然有效create_transform()能正常工作。場景二需要加載非官方權(quán)重如自己微調(diào)后的 ViT此時(shí)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是否為空若有說明你加載了錯(cuò)誤格式的文件如保存了整個(gè)checkpoint字典而非state_dict。場景三加載大模型如convnext_xlarge時(shí)內(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文件是一個(gè)dict必須包含model鍵其值為state_dict部分版本還包含optimizer、epoch、arch等元信息。而很多用戶自己保存的 checkpoint 是{model: model.state_dict(), optimizer: ..., epoch: 100}這沒問題但若你直接torch.save(model.state_dict(), my_model.pth)得到的只是一個(gè)純state_dicttimm 的load_checkpoint()會報(bào)錯(cuò)。標(biāo)準(zhǔn)本地加載四步法經(jīng) 7 個(gè)項(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]計(jì)算torch.allclose(..., atol1e-6)前向驗(yàn)證用同一張圖輸入對比model(img)輸出 logits 的torch.max(torch.abs(logits1 - logits2)) 1e-54. 深度實(shí)操從零構(gòu)建一個(gè)可復(fù)現(xiàn)的 timm 加載流水線——含完整代碼與調(diào)試日志4.1 項(xiàng)目背景與目標(biāo)設(shè)定我們以一個(gè)典型工業(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確保精度與論文報(bào)告誤差 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個(gè) 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: 精度審計(jì)與論文對比 # 論文報(bào)告 top-1 acc 92.7% # 我們在相同測試集上運(yùn)行得到 92.53% → 誤差 0.17%符合要求4.3 調(diào)試日志與關(guān)鍵發(fā)現(xiàn)在真實(shí)項(xiàng)目中我們遇到了兩個(gè)關(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ù)只在模型初始化時(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è)為論文值這兩個(gè)問題在 timm issue 區(qū)高頻出現(xiàn)但官方文檔未強(qiáng)調(diào)屬于“經(jīng)驗(yàn)性知識”。5. 常見問題速查表與獨(dú)家避坑技巧——來自 12 個(gè)落地項(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)練時(shí)不一致導(dǎo)致輸入超出模型期望范圍如std0.5時(shí)像素值 0~1 經(jīng)歸一化后為 -1~1而std0.225時(shí)為 -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]少了個(gè) 4top-1 下降 3.8%create_model(convnext_large)報(bào)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 模型配置推理”的終極保險(xiǎn)。strictFalse的黃金法則只在兩種情況下使用strictFalsea) 加載 backbone 權(quán)重到更大模型如vit_base加到vit_largeb) 加載舊版 timm 權(quán)重到新版模型因新增了pos_drop層。其他情況一律strictTrue強(qiáng)迫自己面對鍵名差異。緩存清理腳本當(dāng)懷疑緩存損壞時(shí)不要手動刪文件。運(yùn)行timm.utils.model_helpers.clean_up_cache()timm v0.9.5它會安全清理所有.pth及.json緩存并重建索引。6. 性能與精度實(shí)測對比——timm vs torchvision 在真實(shí)任務(wù)中的表現(xiàn)差異我們選取了三個(gè)具有代表性的視覺任務(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)必須手寫易出錯(cuò)這些數(shù)據(jù)背后是 timm 的工程縱深它不只是“能用”而是“用得更好”。torchvision的設(shè)計(jì)哲學(xué)是“教育友好”API 簡單適合教學(xué)而timm的設(shè)計(jì)哲學(xué)是“生產(chǎn)就緒”它把模型當(dāng)作一個(gè)可配置、可審計(jì)、可部署的軟件組件每一個(gè)default_cfg字段都是對真實(shí)訓(xùn)練場景的抽象。當(dāng)你在深夜調(diào)試一個(gè)精度不達(dá)標(biāo)的模型時(shí)最絕望的不是代碼 bug而是不確定“我加載的真的是論文說的那個(gè)模型嗎”——timm 用model_name這個(gè)字符串給了你確定性。7. 進(jìn)階擴(kuò)展如何基于 timm 構(gòu)建企業(yè)級模型管理平臺在某公司實(shí)際落地中我們將 timm 作為模型管理平臺的底層引擎實(shí)現(xiàn)了三個(gè)關(guān)鍵能力模型版本控制為每個(gè)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ù)中為同一模型名提供多個(gè) URLurl_stable,url_beta,url_canary通過環(huán)境變量TIMM_WEIGHT_CHANNELbeta動態(tài)切換實(shí)現(xiàn)權(quán)重的 AB 測試自動化精度審計(jì)編寫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% 則告警。這個(gè)平臺上線后模型交付周期從平均 3.2 天縮短至 0.7 天精度偏差投訴率下降 92%。它的核心啟示是timm 不是終點(diǎn)而是起點(diǎn)。當(dāng)你把create_model()當(dāng)作一個(gè)函數(shù)調(diào)用時(shí)你獲得的是便利當(dāng)你把它當(dāng)作一個(gè)協(xié)議入口時(shí)你獲得的是可擴(kuò)展性。我最后分享一個(gè)真實(shí)技巧在requirements.txt中不要寫timm0.9.16而要寫timm0.9.16,0.10.0。因?yàn)?timm 的default_cfgs會隨版本演進(jìn)持續(xù)豐富如 v0.9.17 新增了eva02系列鎖定小版本反而會錯(cuò)過關(guān)鍵更新。真正的穩(wěn)定性來自于對協(xié)議的理解而非對版本號的迷信
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
色狠狠一区二区三区香蕉| 91网站18禁| 亚码激情| 亚洲熟妇丝袜在线观看| 国产精品久久久久久 百度| 强奸国产精品视频| 东京太热久久久| 亚洲脚交| 日本99视频| 热热色综合网| 99久久99九九99九九九| 日本一区二区三区欧美日韩中文字幕| www.91理论| 啊啊啊啊啊操我视频| 另类小说欧美激情校园春色| 久久婷婷六月综合| 综合熟妇一区二区三区| 国语av最新自产拍在线观看| 九草九九九| 先锋音影AV| 久草线上视频免费看| 国产无吗在线播放| 九九毛片这里只有精品| 美女久久久久久久久久久| 色婷婷亚洲婷婷| 99热97| 久久9精品| 日韩欧美女优电影| 欧美一区二区日韩传媒搭讪精品| 北京专精特新企业招聘信息| 少妇综合| 夜草欧美| 国产精品老师| 国产大陆天天艹| 色情亚洲日本成人| 99国产在线 精品 视频| 中文字幕一品色图| 99精品在线| 久久东京热久久| 色妹子A V| 岛国黄片网站| 91欧美性| 能看的av| 亚洲AV操| 亚洲开心网| 美欧老女人97| 中文字幕啊啊啊在线观看视频| 欧美亚洲小说| 亚洲好色人妻| 色噜噜国产在线| 91天堂色男人的天堂| 欧美色图欧美| 夜夜做夜夜爽精品视频| 男人的天堂,欧美亚洲另类国产日韩,日本高清一区二区 | 精品中文日韩字幕视频| 久久天堂婷婷网| 国产亚洲福利第一页丝袜| 韩国女主播青草在线| 3d成人精品一区二区| 欧美性爱网97| 伊人久久大香线蕉无码| 久久久9品一区二区三区| 91亚州| 免费αV在线视频| 欧综合网| 亚洲综合性网址| 3p国产欧美99热| 五月综合视频| 中文字幕精品人妻丝袜| 在线中文字幕极品av| 亚洲国产天堂| 成人情色综合网| 99国产精品在线观看| a v网站在线播放| 日韩啊V| 大香交| 91电影色诱| 97人人射| 亚欧高清在线| 国产亚洲国产超碰| 日本不卡一二区| 欧美天堂在线| 97视频免费| 狠综合网| 国产精品久久| 久久免费99精品久久久久久| 欧美在线啊啊| 国产粉嫩蜜臀av一区二区三区| 影音资源男人日韩| 操逼操网| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV| 26uuu最新| 91综合网在线| 久久久国产护士丝袜美腿一| 亚洲 国产 精品一区| 亚洲欧综合另类无码一区| 久久内射| 亚洲精品乱码久久久久久蜜桃麻豆 | 成人一级二级| www.男人天堂| 丁香五月天激情综合| 人人色人人射人人妻| 9色在线| 免费看A片毛毛片在线播| 人人操人人爽人人操人人| 超碰色大香蕉| 啊啊啊啊免费视频| 91狠狠综合久久| 久久久久久人| 欧洲一区二区| 欧美性夜| 美女黄网| 中文字幕一区二区三区字幕| 最新av网站在线观看| 亚洲欧洲av影音| 综合网亚洲| 清纯唯美亚洲| 99亚洲精品| 亚洲av综合伊人久久| 一中国女人毛片水真多| 一起草三级AV电影在线观看| 黄片www视频免费| 亚洲欧美清纯| 三级日韩一区二区三区| 欧美专区日本专区| 日韩一级片在线看| 99综合网| 国产传媒美日韩av| 大香蕉一人在线| 激情小说亚洲视频| 97资源亚洲| 欧美加勒比| 一区在线精品中文字幕| 视频国产欧美在线播放| 国产又黄又粗的视频| 亚洲AV噜噜狠狠网址蜜桃动漫| 欧美日本国产日韩激情视频| 99re6久热只有精品6在线直播| 天天舔天天| 亚洲美女精品| 亚洲天天自拍| 91精品国产91综合久久蜜臀| 国产精品自在线发布| 黄色av一区二区在线| 天天干,夜夜爽| 欧美后入式| 91岛国动作片| 日本操色导航| 欧美一级三级| 中文字幕人妻资源在线| 欧美久久人妻少妇一区二区| 新怡红院| 无码精品久久| 天天日天天插| 97久久免费| 国产蜜臀精品一区二区尤物| 国产精品爽爽v| www.人人cao| 综精品久久久aaaa| 综合亚洲网| 欧美一级在线观看成人| 国产女性无套 免费观看| 熟女丰满人妻一区| 九99久久| 免费观看网黄| 中文字幕五区| 男人天堂导航| 日本精品高清一二区一本到| 欧洲综合视频| 日韩精品一二三| 国产亚洲精品无码三区| 亚洲国产精品无码AV久久| 免费又黄又裸乳的视频| 天美av在线观看| 99在线啪| 翔田千里Av在线| 九九在线精品| 呻吟 欧美 日本 中出| 欧美成人一级麻豆| 志村玲子视频一区二区| 99av| 丰满的三级少妇欧美久久久| 亚洲欧美校园| 一区三区啪啪| 久久久三区二区一区| 老司机深夜18禁污污网站| 久久精品国产精品亚洲艾通辽熟妇 | 黄网在线播放| 亚洲一区制服诱惑| 亚洲AV秘 精品久久老牛影视| 国产欧美一区二区| 三上悠亚在线毛片91| 色婷婷电影网| 久久伊人影院| 亚洲最大的黄色电影网站。| 综合网亚洲| 天美精品av| 天堂性色| 日韩精品三区四区| 国产高清亚洲日韩一区| 中文字幕 av v| 91欧美经典| 精品色色| 日韩一二三区| 红桃视频高潮| 欧美国产欧美在线观看| 日韩欧美偷拍美女视频| 曰韩欧美国产传媒麻豆第一区| 欧美中文字幕男人天堂久久精品| 日日干夜夜操视频h| 日韩超碰97| 口爆综合网| 91国模| 天堂蜜桃无码视频一区二区| 在线αⅴ| 97色涩| 国产精品一级特黄aaa大片在线观看 | 春色综合网| 亚洲天堂中文字幕无码男同| yiqicaoav| 蜜臀久久99精品久久久久久成人小说 | 乱论91| 男女激烈网站最新| 亚洲va有码在线天堂| av凤凰久久久| 免费视频97| 无码免费精品高清| 蜜臀va69| 人妻一区二区三区| 国产强上视频在线观看| 综合少妇网| 亚洲青青青视频在线| 强奸乱伦免费网站| 亚洲精品蜜桃久久久| AA丁香综合激情| 欧美另类色| 12一15性XXXX粉嫩国产| 美腿丝袜高跟网免费视频免费视频| 日欧亚洲二三区大片不卡| 欧美日本视频一区| 91九九九馒头| 久久性视频| 亚洲精品国语在线播放| 人妻激情在线视频| 97舔舔| 三级特黄60分钟播放| 日韩大香蕉精品在线视频| 蜜乳av首页| 狠狠色伊人亚洲综合网站色| 人妻少妇精品无码专区二区密桃| 情色av电影| 精品一二三区久久AAA片| 中文视频在线观看| 亚洲欧美校园| 青青草白白色| 97视频在线视频| 怡红院怡春院| 国产做?爰片久久毛片?片美国| 96精品久久久久久久久| 伊人嫩草| 狠狠做深爱婷婷久久二区| 久久女人一区二区三区| 亚洲成人无码影院| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 成人日本精品九区| 我爱大香蕉| 激情五月综合开心五月| 97这里有精品| 大香蕉2017| 人人摸人人干| 青青草女人天天干| 亚洲视频精选| 欧亚性爱视频免费看| 日少妇视频| 丝袜色综合| 综合网亚| 色五月69夫妻| AV天堂电影网| 综合网,亚洲,欧美| 天天做天天爽| 日韩国语字幕| 免费少妇一区二区| 色女综合| 又大又长又粗又爽又黄| 国产精品视频在线播放 | 人人操人人摸人人看人人干| 日韩黄色电影网站| 中日韩久久久| 黄色二级片网站| 天综合中文| 九九九九精品精| 95精品在线| 色综合网1| 亚洲精美粉嫩嫩泬在线观看| 色欲久久久久综合网| 96久久久| 亚洲天堂精品日韩电影| 综合 亚洲 欧美| 亚洲精品99| 岛园激情| 黑人免费福利视频| 日本不卡高清免v欧美日韩在线观看| 一级久久性爱视频| 国产女同视频在线播放| 91操人| 欧美一级特黄淫片在线观看| 欧美国产欧美在线观看| 四虎国产精品永久地址入口| 欧美久久人人网| 久久亚洲AV无码专区国产精品| 久久riav中文精品| 中文久久爆乳| 久久精品国产精品亚洲艾通辽熟妇| 日本黄 R色 成 人网站| 婷婷五月天色色| 六月丁香网| 毛片中心9视频99| 欧色综合| 中文字幕午夜精品久久久| 蜜臀99久久精品| 人妻激情视频| 婷婷伊人五月| 少妇高潮对白在线观看| 九九热九九| 色蜜AV| 99re在线观看| 久久久久九九九九九| 风间由美日韩欧美久久| 国产中出内射一区二区| 日韩欧美俄罗斯A片| 天天色播亚洲综合网站| 欧美春色| 日韩福利综合一区| 人人摸人人叼| 久久偷偷色综合蜜桃| 操久久久久久| 欧美日韩操操操| www狠狠| 亚洲美乱| 插入粉嫩少妇视频| 综合 亚洲 欧美| 人人弄人人摸| 蜜乳AV色欲AVAV无码| 4tube欧美女厕所| 成人久久无码www| 日本高清加勒比| 亚洲天堂资源在线| 国产高清精品一区二区三区毛片| 人妻AV在线| 欧美日韩人人早| 91网站18+| 九九九九精品九九九九| 亚洲精品中文字幕一区在线视频 | 日日摸夜夜夜夜爽| 人妻三级在线中文字幕| 国产精品无套内谢| 午夜精品99久久久久传媒| 夜夜骑操视频| 无码外流操逼视频| 日韩有码一区三区| 超碰在线日韩一区| 大香蕉免费乱伦视频| 内射日韩大臀美女| 神马午夜久久| 免费A V在线| 九九热在线精品视频| 啊啊啊啊好多水| A 天堂在线观看视频| 嗯嗯嗯不要不要免费视频| 老鸭窝在线视频播放| 黄片免费视频2019| 久久久久久久久久久人妻| 九九免费影片| 7777奇米影视久久| 色老汉色| 国产成人拍国产亚洲精品| 能看的av| 国产白丝网站| 五月丁香狠狠爱| 美女让帅哥通她小鸡鸡| 精品成人动漫一区二区| 婷婷情色五月天| 欧美 亚洲| 色综合五月天| 亚91网| 欧美特大黄一级片片免费| 最新av在线| A级国产欧美激情在线| 91狠狠色丁香婷婷综合久久精品| 无马一区二区| 欧美色图天堂在线| 精品视频一区二区| 丝袜内射| 成人AV超碰免费在线| 极品丝袜无码| 国内毛片欧美香蕉精品| 屌妞视频久久久久久久 | 日本最新免费韩国1区2区视频播放| 久久久少妇| 91久久国产综合久久| 少妇一区二区三区| 91av天美性媒精品视频| 黄色片A级一区二区三区| 黄色小说亚洲| 日韩色欲久久一二三四区| 加勒比AV网| 国产精品久久久久久照片| 欧美A√综合网| 色婷婷激一区二区三区| 精彩久久中文| 午夜大香蕉| 91丝袜视频在线观看| 婷婷五月天成人网| 亚洲欧美日韩中文播放| 熟女中出视频| 色婷婷视频| 视频在线观看青青99国产| 不卡免费av在线播放| 伊香蕉综合久久久久久久噜噜噜 | 国产精品免费视频不卡| 性91| 久久鲁夜| 九月丁香| 欧美亚洲素人制服精品| 国产精品另类一区大香蕉| 久久一二三四五六七八九区区区| 日本熟女不卡视频| 香蕉国产97| 2020中文字幕| 99国产在线 精品 视频| 亚洲第一视频 欧美风情 日韩| 国产一区96在线| 中日亚韩免费视频| 精品夜夜澡人妻无码AV| 97干天天| 精品精品精品| 亚洲AV无码黄色强奸| 美女啊啊啊啊啊啊| 黄久在线| 97综合在线观看| 99性爱在线观看| 黑人综合网| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 综合激情97 | 亚洲国产av中文字幕久久| 高清孕妇孕交 交孕妇| 欧美亚洲国内自拍| 久精品无码av一区二免费国产在线观看| 91爱网| 久久久成人精品| 九九精品美女高溯喷水| a级理论午夜日本| 欧美一级黄色免费专区| 91痴汉| 国产超碰在线一区| 亚州伊人色综台| 91狠婷| 日韩欧美中文日韩欧美色| 日韩BBN| 国产亚卅97| 激情99| 午夜福利视频在线一区| 激情熟女12P| 91欧美经典| 天堂涩涩| 日韩色女精品| 99热18这里只有精品| 丰满人妻一区二区三区在线| 久综合网| 人人考人人摸人人干| 91成人久久| 人人人干干人人干| 五月丁香激情综合网| 一起草欧美| 久久性爱视频免费看| 国内一级精品| 欧美亚洲系列| 天天综合91入口| 男人的天堂久久狠| 欧美激情久| 久久爽爽精品| 国产精品网站免费| 久久久中文版| 18岁禁 茉莉成人久久| 欧美性爱97超碰| 婷婷久草一区二区三区| 黑丝少妇| 97亚洲综合电影| 欧美黄页在线| 人人澡人人爽人人精品| 男人天堂.AB| 澳门成人网站久国产日韩| 91亚·色| 一区二区首页| 美女主播色欲91抠b在线播放| 一区麻豆 高清中文字幕| 麻豆av一区二区三区| 久久精品免费| 夜夜人妻爽| 加勒比人妻综合| 亚洲精品人伦一区二区| 中文字幕色AV| 日韩大香蕉AV影片| 少妇久久| 国产自产自拍| 久久激情网| 97干日韩| 九九成人精品| 熟女熟妇伦久久影院毛片一区二区| 视频在线观看青青99国产| 啊啊啊啊无码| 欧美亚洲自拍另类人妻| 2019久久久久久久久福利| 婷婷视频在线免费观看| 日本大片日本一区二区免费高清| 国产女上位好爽在线| 久久的网站啊啊啊啊啊| 一区二区三区色综合| 久久久久96| 亚洲欧美高清| 性爱视频啪啪啪啪| 日本人妻A片成人免费看片| 在线观看一卡二卡| 亚洲综合九| 日韩一级二级三级| 狠狠色噜噜狠狠狠狠2018| 亚洲精品影视老司机| 婷婷精品视频| 亚洲高清无毛一区二区| 成人免费福利在线观看| 丝袜熟女2P| 老鸭窝黄色视频网站| 亚洲一区二区av| 影音先锋日本乱伦| 激情综合色| 目产99999久久999| 91观看 国产白丝| av一区二区三区不卡| 亚洲综合一区二区| 亚洲色图a| 骚鸭AV| 免费观看国产小粉嫩喷水精品午| 99自拍视频在线| 麻豆福利视频导航| 日本天天干天天操一区| 国产AV无码AV| 96免费视频在线| 欧美色另类| 色伊人91| 日本 免费 一区二区三区 久久香蕉| 中文字幕精品专区搜索结果91| 亚洲无992tv| 动漫爆乳3D奶水一区在线观看| 91国产大片| 人妻天堂网| 亚洲一本大道中文字幕无码在线| 国产AV天美| 欧美懂色综合网| 日本日逼视频网| A男人的天堂| 亚洲伊人久久综合97| 成片免费观看视频大全| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 久久久久久人| 看一级特黄a大一片| 欧美永久激情一区二区| 17c嫩草51久久91嫩草| 97色色婷婷| 女上位精品在线| 91c色| 噜噜噜久久亚洲精品色情| 大象AV在线| 六六久久日韩不卡| 中文字幕一区二区三区人妻不卡| 在线啊v一区| 久久一区二区加油站| 三级AV入口| 乱性AV| 淫色网综合| av激情亚洲五月天| 久九九九九九九热| 日韩精品第3页| 国产二区三区粉嫩在线| 97超碰超| 天美传媒av一区二区| 96精品久久久久中文字幕| 上床啊啊啊| 久草婷婷| av中亚| 午夜精品99久久久久传媒| 精品福利| 97天天做| 91人妻做a观看视频| 欧美亚洲se91| 欧美日韩香蕉| 国内毛片四区| 亚洲性爱高潮影院| 亚洲AV成人精品网站在AV| 久久综合久久综合人久久夜精品| 18禁看网站一区| 欧美亚洲美少妇一区二区| 99精品欧美一区二区三区桃色| 1024午夜激情男人的天堂| 亚洲欧美日韩夜夜| 夜夜爽夜夜操| 九九热超碰97亚洲最新香蕉| 操逼不卡中文字幕| 亚洲深夜福利| 日韩二三区| 福利在线观看一区二区| 欧美写真视频一区| 嗯嗯,好大,好爽,好骚| 一级黄色牲爱A级片| 日韩久射综合| 操B久久| 伊人丁香五月婷婷| 爱丝福利| 好爽免费视频,| 午夜久久无码1000合集| 久久大香蕉97| 国产超碰在线一区| 福利视频一区二区微拍| 男人天堂新在线| 欧美加勒比| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 91久久久老司机| 久热香蕉精品在线视频| 超碰色美女| 99.色网| 国语精品内射在线观看| 91色欧美| 女人的天堂大香蕉网| 亚洲超碰AV| 超碰午夜| 中文子幕一二三| 乱操乱伦AV| 四季av一区二区凹凸精品小说| 久久久久久久强迫| 亚洲日韩av一区二区三区百合| 超碰人妻97| 日韩偷拍色图| 97综合在线| 欧 美 自 拍 偷 拍| 97网站在线观看 | 色97欧美| 亚洲图片 激情小说| 天天综合色| 搡老女人老熟女91| 国产夫妻性生活视频| 91日韩在线| 日本1区2区不卡视频| 91青青在线| 97操在线| 日韩国产品视频中文字| 91一起操| av在线一区二区三区| 最新无码国产| 女生久久网| 天天综合~91| 欧天美中出| 国产极品久久久| 色女免费在线观看视频网址| 亚州伊人色综台| 操美女高潮抽搐白浆| 久久久99免费| 久久久9999| 黄站在线免费观看| jiujiujiujingpin| 大鸡吧尹人在线| 99色色网| 久久午夜色播影院免费高清| 国产精品香蕉| 欧美日韩国产传媒在线精品| 人人爱人人操人人性| aaa亚无码专区| 91日韩国产欧美亚洲另类精盘州至城都| 欧美亚洲高清不卡| 男人天堂2012| 综合色图亚洲欧美| 激情综合五月| 精品在线观看视频在线| 一区二区三区黄色片a| 2024年最新色情网站在线观看| 极品色综合| 五月天AV资源| 人妻少妇精品无码专区二区密桃| 欧美日韩大陆黑人少妇99| 花野真衣| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 男人的天堂2018东京热啪啪啪| 探花精品视频| 欧美精品日韩一区二区| 五月婷婷六月丁香| 丁香五月色| 国产精品久久久鸭无码的功能| 搡老女人老妇女AAA一VU麻豆| 亚洲最大成人a毛毛片| 老司机天天操| 可以在线观看的黄色网址| 免费一级精品啪啪视频| 日本视频在线中文字幕| 国产精品久久久久无码Av网曝门| 一级性爱视频免费在线| 亚洲人妻中文在线视频| 亚洲密乳AV| 狠狠狠狠狠| 亚洲性少妇| 日逼视频日本| 欧美性生活男人的天堂| 91色人妻| 亚洲国产一区二区入口| 国产精品自在线发布| 天天躁日日躁AAA片李宗瑞| 国产成人自拍视频在线| 国产熟女免费观看久久| 日韩性爱一级片| 亚洲色图尤物视频| 激情啪啪拍91| 99色在线| 日本 欧美 亚中文字幕| 91在线|亚| 干b在线性社区| 欧美国产操逼| 久久线上视频免费看| 国产深夜福利| 中国一级操逼视频| 国产日逼视频| 久久久免费一级黄片| 天天日天天爽| 亚洲熟女一区| 97视频播放| 亚洲精品性爱片| 国内自拍 日韩激情 99| 密臀在线免费观看| 美女网站黄页| 91在线精品一区二区三区| 又大又长又粗又爽又黄| 99色| 91美女看B| 久久嫩草| 精品高清一区二区三区三州| 久久成人国产| 亚洲日本韩国极品一区二区| 熟女一区二区| 九九热国产| 操操吧亚洲乱伦视频| 精品久久久久久亚洲| 97色涩| 国产精品美女久久久久久网站| 97久久精品亚洲中六字幕| 久久精品中文字幕女同| AV中亚| 婷婷AV一区二区三区| 高清不卡国产| 97网色| 精品中文字幕一区二区l - 百度| 亚洲宗合电影| 欧美性夜| 国产又爽又黄| 无码男人天堂| 天天色黄色影院天天操| 在线播放中文字幕| 天操天操夜操夜月操月年年操操| 亚洲本色精品一区二区久久| av国产无码| 情色五月天久久久| 日韩15p| 无遮挡猛进视频免费无限观看| 激情亚洲天堂| 91骚熟女| 男人的天堂网免费| 大香蕉手机在线| 国产成年免费大片黄在线观看| 91久精品| 人妻一区二区三区熟女| 国产人妻天天干精品| 久久久久久波多野吉衣高潮| 婷婷五月天激情四射| 国产女性无套 免费观看| 欧美另类自拍| 日韩免费a级毛片无码a∨| 五月婷久久| 亚洲骚男同com| 91人妻做a观看视频| 久久久久久91香蕉国产| 97在线视频观看| 97婷婷色| chaopen97久久| 在线99热| 999 久久久| 欧美日韩不卡a片| 欧美日韩亚洲天堂网| 久久久久久99AV无码免费网站| 久久国产精品91| 五月天亚洲色图| 一区二区三区四区色图| 超碰人妻久久| 婷婷五月天影院| 日韩情色一区二区| 欧美美女自慰一区二区三区| 九热久| 欧日韩不卡视.频| 青青草毛片| 熟妇高潮一区二区免费视频| 欧亚日韩中文在线| 玖玖人人爱| 日韩操啪| 久噜噜| 色情乱伦AV| 国产超碰97| 国内外色色色色色成人视频| 国产成人五月天丁香花| 极品色社| {男男暴菊gay无套网站| 久久久久久久久久久久久久久久9| 蜜乳Av成人片网站| 美女91网址| 青草视频在线看看看看看看看看看| 欧美一级在线观看成人| 久插综合| 久久性爱城| 精品亚洲天堂| 久噜噜| 欧美另类综合久久| 欧美色图第一页| 亚洲激情在线| 日韩熟女无码| 1024午夜激情男人的天堂| 欧美黄片视频在线观看免费 | 国产精品一区二区 尿失禁| 精品无码一区二区三区| 偷拍欧美激情| 成人性爱视频在线看| 日本在线伊人啪啪| av操操不卡| 99综合免费视频| 沈阳熟女高潮对白视频| 精品国产乱码久久久久久日本公司| 美国aaaaa一级黄片| 色色色色网站| 亚洲熟女人妻中文字幕一区二区 | 久久久久96| 久久,精品一二三| 国产成人拍国产亚洲精品| 日韩欧美成人综合在线| 亚洲色天堂九9| 青青草九九九九九| 激情五月天丁香社区| 992大香蕉| 成人片视频| 日韩精品高清资源在线| 五月天黄色激情视频| 久久精品电影在线| 亚洲诱惑| 欧美内射少妇| 操美女高潮抽搐白浆| 婷婷伊人五月| 久久精品噜噜噜成人看免欧美大片| 中文字幕片| 91九九| 很黄很色的视频在线观看| 国产熟女无套内射| 欧洲亚洲综合| 欧美婷婷久久| 九九成人| 欧美特大黄一级片片免费| 欧美大波激情xxxx| 九一国产精品| 不卡码视频| 97九色人妻| 亚洲成人碰碰| 美女自卫慰黄网站免费| 奇米四色影视777久久久| 神马久久久久久久| 91欧美网| 国产午夜福利合集| 久久一本大香蕉 | 婷婷久月| 日韩不卡a级视频专区| 欧美精品99久久久**| 国产精品久久久吖| 亚洲在线欧美| 少妇三p| 综合色久欲| 蜜臀一二三区| 国产精品久久久久久夜夜夜夜| 97一区二区三区视频| 天天综合影院91| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 亚洲日韩天堂| 欧美天天干| 新91视频.cmp| 天天综合,91入口| 无码二级三级| 成人精品久久| 97碰久久| 91高潮| 久久9久| 亚洲性爱成人| 国产精品成人久久一区二区三区 | 美女91av| 国产精品在线一区二区| 亚洲drav色图| 成人天天爽| 91国产丝袜美女| 欧美日韩另类字幕中文| 中文字幕亚洲欧美在线不卡| 夜夜高潮夜夜爽高清视频一| 内射中出日韩在线观看视频| 日本高清有码网址视频| wwwcaobibi| 亚洲日本韩国在线| 亚洲熟妇极品| 日本不卡高清免v欧美日韩在线观看| 人妻精品4K4K4K4K4| 欧美日韩国产在线| 色 婷97| 日日日大屁股骚女人精品| 日韩大香蕉精品在线视频| 欧美天天在线| 亚洲同性aV综合| 囯产精品久久久久久久久久梁医生| 蜜臀网 一区| 91在线视频国产网站| 少妇一级婬片免费放一级a性色.| 国产中文大片资源中文字幕| 精品久久人妻成人网| 九九色综合| 九九热超碰97亚洲最新香蕉| 夜夜爽妓女| 亚洲青青草| www.男人的天堂| 欧美精品精品一区二区| 91操人| 99热网站| 老汉网| 曰本道人妻久久久在线不卡色视频| 欧美97av| 国产人妖的免费的视频| 国产黄色小视频网站| 天天天天天干夜夜夜夜夜操| 97色在线观看| 国产视频大全| 屁股久久久久久久| 奇米四色影视777久久久| 狠狠干婷婷| 欧美婷婷久久| 操逼网免费无码视频| 成年女人18级毛片毛片免费观看| 99热亚洲天堂| 久久精品无码熟妇一区二区三区视频导航 | 欧美亚州综合网图片| 91综合网| 岛国黄色大片网站| 亚洲另类综合欧美| 超碰在线97国产| 欧美综合天天| 国产三级多多影院2022国产AA一级毛片无码 | 99久草| 天天操天天射天天日| 激情五月婷婷综合| 久九9精品| 99久久亚洲精品无码毛片潘甜甜| 天天草天天干天天日| 天天插天天舔舔天天干| 香蕉大久久久| 超碰九7免费| 在线观看亚洲成人精品| 亚洲精品久久久久久久蜜桃臀| 嗯~啊~快点 死我视频| 亚洲男人天堂网站| 手机在线播放国产福利| 青青草久久一区网| 日韩猛交| 日日操免费视频| 激情一区二区三区在线观看| 亚洲十八禁止| 色欲无码人妻日韩欧美精品| 亚洲伊人久久精品狠狠在线| 亚洲天天影视色综合| 日韩熟女乱伦中出| 极品五月天噜噜| 这里都是精品| 日韩欧美俄罗斯A片| 九九国产| 岛国网址国产| 少妇69中文| 久久久久久99AV无码免费网站| 亚洲五月天激情| 亚州欧美另类| AV电影在线播放| 日韩欧亚太美不卡| 超碰在线日韩一区| 亚洲免费成人精品电影| 亚州色图狠狠干| 久久专区| 乱人伦 国语对白:视频直接看| 色噜噜狠狠色综无码久久| 国产中文大片资源中文字幕| 91在线限制级| 97人亚洲综合字幕| 日韩熟女操逼| 五月天亚洲色图| 天天日少妇逼AV| 色香综合| 99久久精品国产高潮| 亚洲色图综合网| 亚洲美女自拍偷拍视频| 免费看黄片现成| AV丝袜少妇| 青草一区二区| 国产日本熟女顶级一区二区三区视频| 上特色A在线| 中亚精品极乱| 欧美97| 婷婷色五月激情| 一本久道久久综合狠狠爱一密臀精 | 最新亚洲风情电影| 成人av影院在线观看| 四季AV一区二区凹凸精品小说| 国产精品久久久久无码A√| 婷婷在线播放| 久久精品国产亚洲AV先锋| 另类亚洲图色| 黄色av网站在线播放| 天天天天天天天天综合| 亚洲色图欧美视频| 99操逼| 少妇无码太爽| 国产精品白丝在线播放| 欧美精品久久| 欧美一级A片在线看视频性色| 亚洲精品乱码久久久久久蜜桃麻豆| 91黑丝在线播放| 日韩一级欧美一级国产一级台湾| 欧色综合| 伊人久久大香大香线蕉中文| 欧美在线干| 国产欧美精品日韩区二区麻豆天美| 免费成人在线观看91| av天天在线| 五月丁香大香蕉| 久久久精品中文字幕爱豆| 神马久久网| a在线观看| 黄色工厂这里只有精品| 精品射1999| 久久欧美性爱视频| 91超碰在线观看| 精品无吗久久| 91精品久久综合熟女| 毛片麻豆91糖心精品毛情片| 亚洲,欧美,春色,另类| 日韩乱伦AⅤ| 97伊人超碰| 北京美女一区二区| 99热精品在线在线| 国产在线综合网| 久久国产精品视频| 99热精品青草在线| 国产网站在线播放| 黑人娇小av在线播放| 熟妇熟女一区二三区| 国产精品自在自拍视频| 精品一区二区三区国产| 超碰97在线中文| 精品黑人一区二区| 午夜a成v人电影| 青草成人免费视频一COm| 97色色国产视频| 国产91美女高潮| 精品性爱无码在线播放| 久久天堂| 精品少妇99| 97欧美色综合| 97色色网| 亚洲精品成人激情在线| 国产亚洲女v在线观看| 色香av| julia ann久久| 中文字幕十五区| 一本道综合色图| 婷婷丁香五月天综合东京热| 亚洲精品天天影视综合网 | 性色A∨91| 久9综合在线| 超碰97导航| 欧美性天天影视| 欧美日韩性爱视屏免费看了| 新久久AV| 欧美高清18A片| 精品午夜福利| 国产精彩女在线观看视频| 精品国产一区二区三区久久久蜜臀| 中文字幕 国产 精品| 午夜精品五区| 精品国产91av一区二区三区| 精品九九九| 三上悠亚在线毛片91| 97久久超碰日韩精品| 人妻激情在线视频| 亚洲日韩久久精品一区| 国产乱弄免费在线视频。| 大香蕉在线视频15| 国产青一二三| 婷婷啪啪| 日韩Va亚洲va欧美Ⅴa久久| 亚洲国产成人福利在线观看| 在线观看一级α片刺激高潮视频| 中文操逼字幕| 97视频网站| 久久 精品| 伊人天天久久动态图| 91熟女丨91老女人| 久久精品操| 手机在线大香蕉| 大香蕉草草| 日本熟妇人妻一区二区三区| 亚洲高清91| 日韩大香蕉| 精品久久97观看在线视频| 91日韩网站| 人妻久久一区二区三区| 99夜夜操| 国内外内射高清视频| 天天上日日上日韩精品| 家庭乱伦麻豆| 综合亚洲欧美精品日韩?v| 人人操我人人干| 嗯啊抽插大香蕉网页| 91高清无码下载| 97人人模人人爽人人| 综合色图区| 超碰久久性爱| 国产精品久久9| 试看福利| 午夜视频久久久| 熟妇人妻精品一区二区| 日本不卡五区| 久久首页| 午夜福利免费精品视频| 狠狠操狠狠插| 日韩99神马视频片| 久热99999| 亚洲色婷婷综合久久久久中文| 欧美亚洲高清| 黄页网站免费高清在线观看| 国产精品 久久久精品一牛| 日美免费黄片| 五月天丁香欧洲日韩| 麻豆人妻精品一区二区| 91精品大奶人妻| 日韩精品.久久精品.AV女优.天美传媒| 美女黄页| 69久久久久久久久久久久久| 美女十八禁| 成人国产二区三区在线,男女精品。| 啊啊啊啊操死我| 成年女人黄网站| 精品国产乱码久久久久久影片|