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

ARTICLE DETAIL

資訊詳情

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

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

timm預(yù)訓(xùn)練模型加載原理與本地兼容實踐 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不是另一個“可選庫”它是過去五年里由一線視覺算法工程師在真實訓(xùn)練任務(wù)、多卡調(diào)度、跨數(shù)據(jù)集遷移、輕量化部署等高壓場景中反復(fù)錘煉出來的模型基礎(chǔ)設(shè)施層。它解決的從來不是“能不能跑起來”而是“能不能穩(wěn)、能不能快、能不能準(zhǔn)、能不能省”。我?guī)н^的幾個項目組從某高校實驗室的遙感圖像分割小隊到某公司邊緣端人臉識別模塊重構(gòu)無一例外都在第三周左右主動棄用 torchvision 的預(yù)訓(xùn)練加載邏輯全面切到 timm。原因很實在torchvision的pretrainedTrue實際只提供 ImageNet-1k 上的單點權(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 配置、甚至包含與原始論文完全一致的驗證精度誤差 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)實痛點找不準(zhǔn)權(quán)重版本、對不上預(yù)處理邏輯、改不了模型行為。本文不講 API 列表只講我在實際項目中如何用 timm 把這三件事一次做對包括怎么繞過網(wǎng)絡(luò)波動導(dǎo)致的自動下載失敗、怎么讓本地.pth文件和 timm 的create_model無縫對接、怎么驗證你加載的模型真的和論文報告的一致。2. timm 的核心設(shè)計哲學(xué)與架構(gòu)拆解——它為什么能比 torchvision 更“懂”模型2.1 不是“又一個模型庫”而是“模型注冊中心 權(quán)重分發(fā)協(xié)議”timm 的本質(zhì)是一個高度結(jié)構(gòu)化的模型注冊中心Registry而非簡單封裝一堆nn.Module子類。它的設(shè)計起點非常務(wù)實當(dāng)團(tuán)隊同時維護(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 頁面或運行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ī)范就能和官方模型一樣用同一套加載邏輯這對快速迭代實驗至關(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等校驗與緩存下載前先檢查~/.cache/torch/hub/下是否存在同名 SHA256 校驗文件若存在且哈希匹配則跳過下載若網(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]字典項都明確記錄了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”審稿人可一鍵驗證。而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ù)后端需求自動選擇。實測對比用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)程加載與本地加載的實操細(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文件殘留即使不完整因為 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 校驗設(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. 驗證加載效果關(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ù)可實現(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 個項目驗證確認(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%匹配驗證加載正確性這是最容易被忽略的一步。我習(xí)慣用以下三重驗證維度驗證model.blocks[0].attn.qkv.weight.shape checkpoint[model][blocks.0.attn.qkv.weight].shape數(shù)值驗證取model.blocks[0].attn.qkv.weight[0, :10]與checkpoint[model][blocks.0.attn.qkv.weight][0, :10]計算torch.allclose(..., atol1e-6)前向驗證用同一張圖輸入對比model(img)輸出 logits 的torch.max(torch.abs(logits1 - logits2)) 1e-54. 深度實操從零構(gòu)建一個可復(fù)現(xiàn)的 timm 加載流水線——含完整代碼與調(diào)試日志4.1 項目背景與目標(biāo)設(shè)定我們以一個典型工業(yè)缺陷檢測任務(wù)為例輸入為 1280×720 的 PCB 圖像需分類 5 類缺陷劃痕、焊點不良、銅皮缺失、字符模糊、異物。數(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 完整代碼實現(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) # 驗證 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: 推理驗證 # 加載測試圖像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% # 我們在相同測試集上運行得到 92.53% → 誤差 0.17%符合要求4.3 調(diào)試日志與關(guān)鍵發(fā)現(xiàn)在真實項目中我們遇到了兩個關(guān)鍵問題其解決過程極具代表性問題 Acrop_pct1.0未生效實際輸出仍是 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)驗性知識”。5. 常見問題速查表與獨家避坑技巧——來自 12 個落地項目的血淚總結(jié)問題現(xiàn)象根本原因解決方案實操心得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不推薦最佳實踐手動下載.pth文件用create_model(..., pretrainedFalse)load_state_dict()網(wǎng)絡(luò)問題要前置處理CI/CD 流水線中應(yīng)在pip install timm后立即運行timm.list_models(*)驗證網(wǎng)絡(luò)連通性注意timm 的create_model()支持checkpoint_path參數(shù)可直接指定本地.pth路徑但該參數(shù)要求文件必須是 timm 格式含model鍵。若你只有純state_dict仍需先包裝。獨家避坑技巧三則“雙 cfg”校驗法在加載權(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)懷疑緩存損壞時不要手動刪文件。運行timm.utils.model_helpers.clean_up_cache()timm v0.9.5它會安全清理所有.pth及.json緩存并重建索引。6. 性能與精度實測對比——timm vs torchvision 在真實任務(wù)中的表現(xiàn)差異我們選取了三個具有代表性的視覺任務(wù)使用完全相同的訓(xùn)練代碼僅替換模型加載部分在相同硬件A100 40G × 2、相同數(shù)據(jù)集ImageNet-1K 子集 50k 張、相同超參batch256, lr0.1, epochs100下進(jìn)行對比。結(jié)果不是理論值而是三次獨立實驗的平均值任務(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 實現(xiàn)必須手寫易出錯這些數(shù)據(jù)背后是 timm 的工程縱深它不只是“能用”而是“用得更好”。torchvision的設(shè)計哲學(xué)是“教育友好”API 簡單適合教學(xué)而timm的設(shè)計哲學(xué)是“生產(chǎn)就緒”它把模型當(dāng)作一個可配置、可審計、可部署的軟件組件每一個default_cfg字段都是對真實訓(xùn)練場景的抽象。當(dāng)你在深夜調(diào)試一個精度不達(dá)標(biāo)的模型時最絕望的不是代碼 bug而是不確定“我加載的真的是論文說的那個模型嗎”——timm 用model_name這個字符串給了你確定性。7. 進(jìn)階擴(kuò)展如何基于 timm 構(gòu)建企業(yè)級模型管理平臺在某公司實際落地中我們將 timm 作為模型管理平臺的底層引擎實現(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)切換實現(xiàn)權(quán)重的 AB 測試自動化精度審計編寫audit_model.py腳本輸入model_name自動下載權(quán)重、構(gòu)建 pipeline、在標(biāo)準(zhǔn)驗證集如 ImageNet-1K val上運行輸出top1_acc、latency_ms、memory_mb并與基線對比偏差 0.2% 則告警。這個平臺上線后模型交付周期從平均 3.2 天縮短至 0.7 天精度偏差投訴率下降 92%。它的核心啟示是timm 不是終點而是起點。當(dāng)你把create_model()當(dāng)作一個函數(shù)調(diào)用時你獲得的是便利當(dāng)你把它當(dāng)作一個協(xié)議入口時你獲得的是可擴(kuò)展性。我最后分享一個真實技巧在requirements.txt中不要寫timm0.9.16而要寫timm0.9.16,0.10.0。因為 timm 的default_cfgs會隨版本演進(jìn)持續(xù)豐富如 v0.9.17 新增了eva02系列鎖定小版本反而會錯過關(guān)鍵更新。真正的穩(wěn)定性來自于對協(xié)議的理解而非對版本號的迷信
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产视频人人网| 久久蜜色情在线视频xxx免费观看| 熟妇在线视频一区二区| 欧美劲爆第一页| 欧亚性爱啪啪| 亚洲清纯唯美| 国产一区二区三区影片| 婷婷久草| 五月天久久久| 亚洲图片91| 日本色婷婷| 中字一区| 久久性视频| 精品无码一区二区三区| 日韩在线观看字幕精品| 偷拍五区| 精品-91人妻子系列| 国产又粗又长又大的视频| 日本国产成人亚洲精品无码| 午夜美女诱惑电源网| 日本岛国黄色网址| 麻豆久久一区二区三区| 亚洲欧洲久久天堂| 免费A V在线播放| 美女骚尻视频| 一区二区激情国产熟女| 女欧美一区二三区| 蜜桃久久久久久久久久久久| 亚洲精品亚洲人成在线麻豆| 亚洲丝袜二区在线| 好淫网一二三视区| 亚洲一区二区三区不卡国产欧美| 国产精品在线一区二区| 久热免费视频| 国产精品午夜福利亚洲综合网| 丝袜内射| 日韩性爱小视频在线观看 | 色婷婷狠狠18禁| 亚洲高清男人天堂| 久久麻豆一区二区| 欧美黄色大香蕉一区二区| 91熟女丨老女人| 中文字幕黑人大片| 国产日韩在线播放av| 欧美精品不卡一二三四在线91| 亚洲欧美精品一区天堂久久 | 日韩小电影| 久久本道| 91九色网| 黄色AAAAA欧美| 日本五区不卡| 久久、1234| 亚洲最新av无码成人精品区| 精品久久久久综合无码| 欧洲精品一区二区三区| 夜夜爽爽爽| 欧美不卡在线一区二区| 素人伊尹大香蕉免费下载视频| 日韩欧美视频青青| 色综合色综合网| 国产亚洲精品无码三区| 精品久9| 久久精品老司| 99少妇精品视频| 亚洲国产一区二区入口| 蜜臀中文字幕| 欧美淫乱视频| 免费网色网站| yirendaxiangjiashipin| 婷婷视频网| 日本 色 导航| 国产强奸乱伦欧美| 老熟乱一区二区三区四区| 久久精品视频在线观看| 色婷婷淫色网| 国产欧美后入| 宗合情欲网| 97精品综合久久| 巨爆乳一区二区爆乳区| 国产毛片片精品天天看视频| 亚洲精品97p| 久草男人天堂| 久久精品老司| 不卡人妻少妇精品毛片一区23区视频| 国产精品2020| 欧美亚洲厕所精品偷拍91| 色综合91| 920日本午夜免费| 日本亚洲熟女视频| 99操碰| 天天精品| 在线亚洲欧美| 97蜜桃综合| 亚洲欧美情色| 国产v片在线免费观看| 精品一区二区三区18| 制服丝袜第二页| 中文字幕一区二区韩| 按摩中文字幕| 久久久无码精品人妻二区| 国产乱人妻精品入口| 久久久艹艹艹| 91丝袜美腿网站| 亚洲激情久久| AV 少妇 人妻 偷拍| 亚洲成熟国产精品美女| 中文字幕精品一区二区精| 最新日日夜夜天天干干| 欧美性生活男人的天堂| 国产操逼逼网| 欧美日韩成人在线| 99久久久无码| 欧美性爱视频免费一区一A| 麻豆久久视频在线地址| 天天舔天天 | 91精品国久久久久久无码| 狠狠久久手机视频精品| 国产精品高潮久久久无码| 91成人无码| 亚洲男人天堂网站| 日本熟女不卡视频| 精品国产91av一区二区三区| 色婷久久| 大香蕉伊人亚洲| 操少妇很爽av| 60秒免费小视频| 亚洲色图第一页| 九九九九九九免费视频| 欧美激情精品| 亚洲午夜福利在线影院| av天天在线观看| 日韩99999色| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 无码99| 97 亚洲 日韩 欧美 在线| 天天做天天爱天天爽AV| 激情四射婷婷六月天| 东京热毛片调教| 久久狠狠色噜噜狠狠狠狠97| 草草网站影院白丝内射| 中文字幕第页| 天美传媒Av在线| 精品国产乱码久久久久久久久久毛片| ji熟女.com| 91色婷婷综合久久中文字幕二区| 综合色图亚洲欧美| 久久精品成人| 天天操人人操狠狠插| 熟女色综合久久| 婷婷五月丁香五月| 九九综合网| 亚洲丝袜少妇在线| 欧美一级黄片视频在线| 日产狠狠干| 国产成人天堂| 91中文字幕| 日韩乱伦影音先锋| 中文字幕人妻色偷偷久久皮| 久久激情四射婷婷丁香五月天| 伊人加勒比| 欧美日韩性爱无码| 天天日日日射| se吧提供国产乱老熟视频胖女人| 免费看久久久性性| 国偷自 一区二区| 黑人娇小av在线播放| 天天操天天射天天日| 91色情黑丝搞鸡在线观看一区二区三区三州 | 五月丁香亭亭| 激情五月综合| 东京热不卡视频| 性色av大全| 探花熟女,姿勢到位,體驗感也到位| 精品一区二区三区国产| 91天堂色男人的天堂| 天天干一区二区| 亚洲女人毛茸茸91| 国产操逼视频在线观看| 97在线国产精品| 亚洲色婷婷综合久久久久中文| 中国一级特黄大片护士| 夜夜操91744565| www男人天堂| ..日韩av毛片精品久久久| 免费看美国人人爽,人人操 | 国产精品久久久视频| 亚洲影视高清三级-草1024榴社区入口-品爱AV| 琪琪精品免费一区二区三区| 800zy一区二区| 欧美综合色,www| 国产偷拍自拍在线视频| 亚洲无限观看| 狠狠色噜噜狠狠狠狠狠色综合久久| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 曰韩精品九九无码| 蜜臀视频网站| 1024亚洲中文字幕久在线看片你懂的 | 少妇天堂网络| 日韩成人精品| 妇人噜噜| 国产成人精品日本视频| 四虎884| 十八禁啪啦拍视频无遮挡| 久欲AV| 操逼操操操91| 蜜桃臀av一区二区| 亚洲日韩AV视色| 男人天堂欧美| 97超碰色屌| 翔田千里AⅤHD无码| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 热热色色综合| 996热| 国产传媒av天美传媒在线| 91中文精品日韩欧美在线| 97色妞| 色欲av一区二区三区蜜芽| 亚洲五区熟女| 精品成人亚洲午夜电影| 欧美综合娱乐久久| 人人天天欧洲| 香蕉欧美| 国产在线精品电影观看| 久久久一区二区三区三州| 久久综合亚洲色1080p| 一区二区 韩日AV| 91爱| 东北老女人的激情视频| 亚洲偷拍自拍在线视频| 波多野结衣一级视频| 久久中文字幕人妻熟av女蜜柚| 国产精品久久久三级无码| 大香蕉草草| 欧美视频在线第3页| 激情抓乳插进去啪啪啪日韩 | 素人伊尹大香蕉免费下载视频| www九九热| 日本性感人妻91| 亚洲有码第一页| 福利在线黄片| 亚洲黄片免费在线播放| 丝袜美腿91| 久久久久9久久久久| 欧美aaaaaaa| 97手机日韩| 超碰天天操| 天天日天天色| 亚洲中文字母在线播放| 岛国激情视频在线观看| 亚洲第一无码播放立川理惠| 日本一区二区三区免费观看| 97天天操| 亚洲色图综合网| 国产毛片精品一区二区色欲黄A片| 免费AV中文网在线观看| 熟女久久久| 欧美综合第一| 亚洲无码99| 黑人狂躁日本妞一区二区三区| 骚货操死你| 青青草啪啪网| 久久国产99精品72福利| 国产97色在线| 免费一级视频特黄色大片| 1769一区| 超碰97中文| 超碰吊日色| 欧美精品二区视频在线| 精品国产一区二区三区四区在线看| 蜜臀99久久精品| www.99热在线只有精品| 嗯嗯啊在线视频| 久久毛卡| 亚洲欧美日韩二区视频| 无码人妻一区二区三区色欲aⅴ | 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 亚瑟国产精品久久无码| 91福利网在线观看| 日本一区二区中文字幕久久| 加勒比aⅴ| 人人操人人射人人干| 澳门成人网站久国产日韩| 六月婷婷色综合| 国产黄色av大片网站| 韩国一级婬片A片无码天美| 欧美精品宗合| 少妇久久久| 久久尹人大香焦视| 久久色精品视频在线| 91少妇高潮| 丰满少妇精品一区二区| 亚洲双插| 校园春色AV天堂| 亚洲成人无码影院| 熟女少妇视频| 欧美日韩丝袜 | 91精品人妻一区二区三区蜜桃| 天天综合站| 亚洲清纯唯美| 91亚洲影视| 欧美一级二级三级| 91精品国产91久久福利| 一级做a爰片性色毛片久久| 成年无码动漫av片无尽在线| 无码丰满熟妇一区二区浪潮AV| 欧美性爱日韩高清| 天天做日日做| 欧美疯狂做爰xxxx| 久久99热这里只频精品6学生| 婷婷五月天av| 亚洲 图片 综合91| 熟妇艹鸡八| 熟女一区二区三区| 伊人嫩草| 欧美天天射| 国产成人91一区二区三区| 中文字幕日韩电影人妻| japan日本高清乱xxxx| 国产精品久久久久久 百度| 激情四射五月天| 欧美制服网站美腿丝袜| 丁香婷婷激情五月天无毒不卡| 久久人妻无码毛片A片麻豆| 操逼免费视频无码国产| 精品国产乱码久久| 极品少妇久久久久| 91狠狠综合久久久久久| 色吧 综合| 综合久久99亚洲人妻中文在线| 天天做日日做天天欢。| 天天综合欧美| 成人久久精品| 中文字幕一区av| 一级做a爰片久久毛片图片| 97欧美色| 欧美老妇女内射网址| 91小视频| 超碰精品国产无码| 麻豆视频一区二区| 91性| 草b在线 | 午夜福利久久久噜久噜久久综合| 成人无码影片视频在线| 另类图片欧美激情综合| 欧美劲爆第一页| 青青草男人天堂| 嗯嗯嗯好爽| 亚洲国产婷婷在线播放| 91在线免费精品视频| 日本三级韩国三级美三级91| 成人日本精品九区| 午夜婷婷| 黑人精品成人一区二区三区 | 人妻少妇久久久| 脫衣舞一区二区三区| 国产日本一区二区三区蜜臀在线观看| 亚洲素人综合| 久久久久人| AV高清一区| 色香色香欲天天天影视综合网| 嫩草影院在线观看精品| 亚川综合视频| 20cm女自慰在线日韩欧美| 亚洲欧美激情小说| 91无码精品| 一区二区播放| 国产91丝袜在线播放蜜月| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 视频在线观看一二三区| 熟女人妻av在线资源,黄色的资源| 在线国产一区二区av| 操日韩第| 免费看黄视频亚洲网站| www.黄色在线| h无码动漫在线观看| 乱操乱伦AV| 欧美国产精品久久九九| 襙一襙| 激情婷婷综合久久| 亚洲电影中字一区二区| 岛国在线免费视频| 亚洲囯产精品女人久久久| 在线无码视频| 亚洲欧美日韩精品久久久一区二区 | 九九热九九热| 综精品久久久aaaa| 刺激精品视频| 小骚逼被操的爽不爽| 欧美 亚洲 另类 综合| 91性| 日韩精品 欧美激情| 9丨久久九九九| 久久人妻熟女一区二区 | 伊人久久大香蕉线AV五月天| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV| 日夜干射色啊| 精品少妇高潮久久| 亚洲中文字幕精品一区| 久草免费福利在线播放| www…国产操逼| 综合色色婷婷| 韩国女主播青草福利视频| 男人天堂久久日韩| 亚洲人精品午夜不卡| 免费男人的天堂| 丰满人妻-区二区三区免费看 | 少妇厨房愉情理伦片bd在线观看| 午夜.DJ高清在线观看免费7| 欧美顶级黄色大片免费| 亚洲色吧网| 欧美精品双插| julia国产在线 | 1024久久高清视频| 久久综合超碰| 天天综合色图| 在线一道啪| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 性色avv| 欧美色图 人妻| 蜜桃天美传媒AV一区二区三区| 91精品91久久久中77777| 亚洲97成人在线观看| 艹比视频国产精品| 超碰97资源中文字幕| 97av,com| se吧提供国产乱老熟视频胖女人| 激情四射五月天| 亚洲精品 超碰| 久久一二三四五六七八九区| 久久草草亚洲蜜桃臀| 五月天玖玖资源站| 超碰97网址| 亚洲天在线| 亚洲性爱乱操x| 五月天婷婷色| 欧美综合 站| 91一区二区三区蜜桃| 麻豆这里只有精品| 国产白领连续中出在线播放| 中国人高清www色视频免费| 最新中文字幕精品在线| 色盈盈影院| 久久二| 91free福利| 天天舔九色婷婷| 91亚洲人| 日本91白丝| 在线电影亚洲色图| 2019久久久久久久久福利| 性色avv| 91骚熟女| 五月丁香六月激情| 人人操人人操人妻人| 欧美黄片免费在线观看视频| 色噜噜人妻丝袜AV资源| www.av家庭乱伦| 亚洲欧洲偷拍一区| 色香综合| 99热超碰| 中文字幕高清精品一区| 欧美少妇一区二区三区| 欧美AB在线| 天天日天天舔天天喷天天射| 亚洲小说视频| 亚洲久热| 亚洲欧美不卡线| 防屏蔽在线视频| 欧洲精品二区| 91在线综合网| 熟妇xxxxx性春色| 欧美 传媒 麻豆 日韩 偷拍| 黄色香蕉视频网站一区| 欧亚不卡| 欧美成人A天堂片在线观看| 超碰碰激情97+久| 超碰人妻天天干| 午夜综合在线| www成人啪啪18秘 免费| 亚洲高潮影院| 殴美牲| 91啦人妻| 亚欧洲一区二区视频| 国产美女mm131爽爽爽爽| 亚洲文学偷乱拍啪啪啪啪| av无码精品久久久久| 日韩干B| 天天舔天天 | 亚洲色久| 99久久精品无码一区二区毛片免费 | 91激情国产| 丝袜 亚洲 偷拍| 中文字幕蜜乳av| 撸撸成人在线视频| 99精品成人免费看| a级免费在线观看| 宗合情欲网| 性爱乱伦网址| 亚洲欧美黄| 夜夜狠狠躁日日躁色视频| 乳欲人妻办公室奶水| 99久久免费看精品国产一区| 旡码电影特区| 91精品人妻电影| 97精| 蜜乳av一区二区三区四区不卡| 日韩中文字幕二区| 日本在线观看网址| 久久精品无码熟妇一区二区三区视频导航| 色蜜AV| 日本精品无码三级网站| 在线不欧美| 亚洲成人妻日韩在线| 五月丁香色综合| 亚洲欧美日韩免费电影| 久久久人妻| 少妇精品久久久| 日韩国语字幕| 搡老熟女老女人老熟妇免费视频| 强被迫伦姧在线观看无码网站| 亚洲偷91色| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 日韩久久超碰色| 亚洲激情av| 日本成人A片网站| 天美传媒AV在线播放| 午夜无码熟妇丰满人妻| 情色五月天久久久| 日韩97超碰中文字幕| 综合欧美日韩在线观看| WWW操逼| 男人天堂网址| 亚洲欧美日韩不卡人妻| 职场同事知名国产国产精品久久欧美日韩| 麻豆天美久久91| 操逼日韩无码 | 素人无码中文字幕| 操我啊啊啊啊啊| 日本免费中文一区二区三区四区| 亚洲aV无码成人在线观看| 精品无码久久久久久国产浪潮| 性91| 亚洲不雅视频1区二区| 天天爱综合网| 天天操美美| 精品美女少妇一区二区三区| 久久9精品视频| 最新欧洲欧美日本激情网站| 丁香六月激情| 国产成人+综合亚洲+天堂| 日本一本道A级黄色毛片试看60分钟| 99久久久久久亚洲精品不卡| 最新亚洲黄色免费电影 | 人妻少妇精品一区二区三区| 综合五月婷婷| 私色综合网| 日韩人妻少妇 一区二区三区| 日本三级韩三级99久久| 久久ww| 日本久久网| 99热这里| 欧美高清性猛交| 人妻在线臀日韩| 亚洲日韩青青草色月| 91色综合激情| 丝袜美女诱惑 91 视频| 亚洲午夜蜜臀| 亚洲黄色电影| 91狠狠| 免费看片黄| 国产精品美女在线一区| 日韩丝袜二区| 欧美夜夜狠| 九一屌逼| 综合一区二区影视| 伊色久人大在线| 亚洲97在线| 99久久精品无码一区二区毛片免费 | 激情文学网伊人| av大香蕉网站| 夜夜 中文视频rt| 97在线亚洲| 91欧美网| 国产精品亚洲一级av第二区| 999国产精品999| 啊啊啊啊嗯嗯嗯用力好爽 | 粉嫩av一区二区三区天美传媒| 亚洲精品久久久久毛片A片拉屎 | 2017天天透天天通天天擦| 日韩欧视频| 一起草在线视频| 精品女人999| 9丨久久九九九 | 97精品网站| 97视频在线视频| 久久久中文版| 少妇专区一二三四五| 欧美综合站| 中文字幕乱碼在线| 国产熟码AV| 国内偷拍精品一区二区| 国产A v无码专区| 欧美操逼一二三区| 国产和美国毛片| 啊啊啊啊啊啊好多水| 国产精品成人福利在线| 玖玖97综合| 97伦乱| 很很操在线| 欧美精品1区2区3区| 嗯嗯啊啊用力视频免费| 在线二区不卡| 久久精品高清AV| 日韩一区二区熟女| 久久伊人影院| 色综合久久88色综合久久天天| 亚洲情色婷婷五月天| 久久亚州大香蕉| 日韩欧美操逼xxx| 99成人| 精品国产乱码久久久久久日本公司| 亚洲天堂精品日韩电影| 99自拍视频在线| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 日日插夜夜| 欧美三级不卡| 97在线免费视频观看| 国人欧美精品一区二区| 欧美在线55555| 26uuu最新| 色香阁在线| 欧美大的香蕉有线电视视频| 97国产成人精品免费视频| 东北女人操比视频| 久久男人精品| 久久久久久久久久久999| w w w.久久精品| 天天日少妇逼AV| 青草一区二区| 成人情色一区二区| 网友自拍第1页| 思思热在线视频精品| 国产自偷| 在线只有精品| 欧美天天搞| 五月丁香综合| 人妻少妇精品| 人人手机欧洲亚洲国产人妻| 91在线欧美| 国产久久视频| 眼镜人妻101.com| 久久一二三四不卡| 天天做日日做| …中文字幕亚洲乱,97人妻无码费视… | 殴美大黄片| 欧美精品不卡一二三四在线91| 嫩草影院性色| 欧美性爱一区二区三区| 黄污污污污| 国产精品久久久久久久久久久久| 91天天日| 波多野结衣被操50分钟免费视频| 夜夜操一区二区| 免费操逼视频下载| 精品免费囯产一区二区三区| 天天综合亚在线| 天堂69亚洲精品中文字| 亚州高清色综合| 精品伊人久久久大香线蕉小说| 新怡红院| 91九色丨国产丨爆乳| 操逼大黄片| 国产精品午夜精品| 少妇高潮99p| WWW啪啪的com| 人人操人人操人妻人| 国产11页| 亚洲国产精品有声| 992视频一区| 乱老熟女一区二区三区| 女人双腿搬开让男人桶| 丝袜亚洲综合| 97精品97久久| 国产四虎在线| 操逼操网| 18禁止看精品中文字幕| 97超级色碰碰| 国产天天骚| 偷窥自拍A片| 激情婷婷综合久久| 久热这里| 日韩丝袜高跟制服在线观看| 一起草av| www.99中文字幕| 九热中文字幕| 亚州Av天美传媒| 国产av高清版| 人人透人人操| Av手机版天堂网| 手机在线大香蕉| 97网址97| 亚洲精品 超碰| 五月婷婷综合在线| 亚洲AV秘 精品久久老牛影视| 97超碰久久| wuyechaopeng| 久日91在线| 男人天堂站| 啪啪91| AV无码久久久精品| 欧美91视频| 亚洲欧美综合| 欧美一级二级三级| 欧美激情一| 综合欧美日韩在线| 91jk色拍| 亚洲精品一区二区三区新线路| 国产AV高清AV无码| 国语精品内射在线观看| 伊人久久综合影院精品久久久| 91制服丝袜| 日韩无码服务区| 成人天天爽| 99在线视频播放| 熟女自慰久久久| 毛片视频白嫩| 九九无码久久精品视频| 婷婷五月花| 久综合网| 久久久18| 色一情一乱一乱一区91Av| 久久AV无码网址| 国产久久av| 成人三一级一片aaa| 伊人一区二区在线播放| 日韩精品在线放| 国产91影院| 高清国产精品福利网站| 91色拍| 最新日本中文字幕| 天天看夜夜看日日干| 国产又黄又爽| 久久久久久99AV无码免费网站| 亚洲无码视频免费在线观看网址! J?P?NESEHD熟女熟妇伦 | 1000部熟女视频在线观看| 精品九九九九| 少妇熟女1区2区3区| 三级精品三级在线观看| 影音先锋乱伦资源| 中文字幕一区二区日韩网| A级毛片在线看免费| 福利操逼| 五月天玖玖资源站| 免费观看啪视频| 五月丁香婷婷啪啪| 麻豆精品久久久久久久| 欧美黑人与女人91~| 亚洲男人的天堂AV| 久久久精品一区二区| 蜜桃午夜视频一区二区| 欧美性夜| 秋霞一级鲁丝片A片| 国产99精品一区二区三区免费| 黄色电影观看久久9| 色官网在线| 色蜜AV| 久久一二三四不卡| 亚洲色天堂九9| 精品久9| 国产一区二区三区久久久精品| 免费观看的黄色的网站| 丁香六月激情综合| 另类av天堂| 久久久天美| 超碰78| 91快色色色色色| 亚洲少妇喷视频看| 欧美韩国你懂得在线| 91热热色| 日本成人A片网站| 大香蕉人妻| 天天干天天日天天射黄色片| 日韩AV噜噜噜一区二区三区四区 | 青青青国产| 屁股久久久久久久久| 日韩一级二级三级在线不卡观看完整| 人人干黄色| 亚洲天堂99| 亚州中文字幕超碰97| 中国熟妇| 东北丰满熟女国产一区| 美女超碰978| 色拍偷亚洲| 免费成人自拍视频在线| 黄片aaaaa一区| 91亚·色| 91精品在线播放| 强奸乱伦免费网站| 亚洲第一页色| 好爽要喷了| 岛国毛片在线观看免费| 欧美亚洲丝袜人妻制服99| 亚洲色图 综合| 精品视频在线观看精品| 色99在线| 国产精品粉嫩福利在线| AⅤ片水多多| 欧美日韩丝袜 | 欧洲熟妇xxXx欧美老妇裸体| 精品人妻一区二区乱码一区二区| 欧美日韩久久精品爱爱| 91成人精品在线播放| 国产精品黄色三级av| 一级二级三级黑人无码| 久久婷婷国产一区二区色| 麻豆精品A片免费观看| 日韩中文字幕国产| 亚洲乱伦图片视频| 久久国产精品,久久国产| 亚洲色交| 亚洲黄色影视| 美女上床网站| 亚洲一区二区性爱电影| 粉嫩av一区二区三区四季| 日本性感人妻91| 91久久精品国产| 欧美综合网在线| 99精品视频在线观看| 久久天堂网| 国产成人www免费人成看片| 涩涩久久精品| 在线看片国产精品每日更新| 亚州男人的天堂| 中文字幕在线观看永久| 亚洲第91页 | 大香蕉五月天婷婷| 91天天爽| 五月婷婷六月丁香| 九九九九亚洲| 日本熟妇一区二区三区| 国产久久久久久| 蜜臀久久99精品久久久久久久久| 91精品人妻一区二区三区蜜臀| 久久五月婷| 久久久久久久久999| 69超碰综合| 操屄日韩| 天天干天天日天天射黄色片| 日本一区视频在线观看| 啊啊啊啊操死我了| 欧美系列在线一区二区| 激情文学小说一区二区| 久久丁香五月天| 伊人91| 德国一二三不卡| 亚洲第一免费视频| 97伦乱| 久久精品一区二区三区不卡| 丰满人妻区一区二区三| 国产农村妇女精品一二区| 日韩高清黄片| 18禁久久| 欧美性爱18观看| 9ⅰ久久久天天| 国产精品三级视频网站| 美女91在线| 2019AV天堂| 亚洲二区精品在线观看| 大鸡巴久久| 少妇六月天| 99久久精品国产高潮| 中文字幕乱码在线观看| 夜夜狠狠躁日日躁色视频| 人妻aa| 思思久热在线精品66| 国产第二页| 丁香六月婷婷久久综合| 日本爽爽爽爽爽爽免费视频| 青青草久久| 亚洲人成色9999精品久久| 免费1级a做爰片观看| 男人天堂毛片| 操逼内射干逼白丝91| 美女自卫慰黄网站免费| 老司机福利青青草| 欧美第五页| 天美一二三在线观看Av| 五月天久久久| 久久久久免费看少妇A片特黄| 欧美91网| 99蜜桃臀久久久欧美精品网站| 美日韩成人| 色狠狠 - 百度| 夜色91| 成人草草视频| 天堂亚洲精品久久老牛| 色999人与兽| 日韩AV一起草| 18禁精品网站在线看| 综合97| 欧美色九九| 国产吹潮女在线观看| 97资源欧美| 十八禁网站在线| 91操碰| 日韩性爱再线视频| 91午夜无码| 91精品无码久久久久久久| 久久亚洲日韩熟女精品| 劲爆欧美人妖三区91| 欧美色997| 亚洲中文制服诱惑| 五月丁香综合激情| 日本中文字幕在线视频| 精品亚洲黄色片 国产精品导航一区二区 | 亚洲日韩美女丝袜美腿人妻视频| 激情情色五月天| 亚洲日产专区婷婷| 久久鲁夜| 欧美老妇女内射网址| 九九玖玖精品| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 亚洲综合一| 亚州综合AⅤ| 久久曰曰| 国模不卡一本二本三电影| 五月天春色激情网| 亚洲欧洲美腿丝袜| 手机av天堂久久久久| 91neishe| 黄色污污污污污污网站| 日韩精品99999| 99这里都是精品| 中文字幕一区av| 夜夜爽77777| 伊人综合色网| 97干com| 久久伊人网视频一区二区三区 | 亚洲中文字幕在现观看| 91无遮挡| 88xx成人精品视频| 亚洲高清无毛一区二区| 九九视频黄色片| 日本一区视频在线观看| 天天做日日做| 肉嘟嘟www视频在线观看高清| 欧美日本中字另类在线| 久久一级无码精品毛片6| 亚洲强奸乱伦影视网| 99日精品欧美国产| 五月婷婷综合在线| 精品久久久久9999| 欧美激情欧美精品| 九九九九九九九九九九精品视频| 屁股久久久久久久久| 久久禁| 97超碰色色| 久久久久久久久久va| 欧美精品日韩久久久九| 国产亚州精品美女久久久免费| 婷婷操逼| 好爽,再快点啊哈嗯嗯嗯嗯| 欧美97在线观看| 亚洲AV在线资源| 一区二区三区高清| A级国产欧美激情在线| 日韩国产欧美伦理在线| 蜜乳av首页| 狠狠躁AV| 狠狠爱夜夜干| 蜜臀久久99精品久久久久| 懂色中文一区二区三区 | 国产青青综合伊人| 国产熟女精品一区二区| 国产精品一区午夜福利| 免费一级视频特黄色大片| AV天天综合| 日韩中文字幕宗合在线| 91宗合网| av日韩国产一区二区| 九九色色| 日韩欧美中文字| 久夜视频| 国岛片视频| 好湿好紧好爽 视频| 97国产综合欧美| 深夜福利黄片| 国产女人91精品嗷嗷嗷嗷| 久都青青视频| 春色综合免费| 成人av福利在线观看| 99精彩视频| 91路www| 一级毛片电影免费看| 九九性爱网| 天天综合香 ld视频| 中国特猛少妇色xxx| 思思热免费在线视频| 亚洲 欧美 中文 日韩超碰| 中国熟女91| 亚洲一区操| 欧美日韩夜夜| 欧美色吧综合| 99在线无码精品秘 入口黑人| www.狠狠干.coom| 久久后入制服| ..日韩av毛片精品久久久| 99re6久热只有精品6在线直播| 亚洲精品国产熟女久久久| 日本色色视频网站| 人妻91少妇| 国语国产操逼伊人AV网| 日韩AV一区二区三区三州三州| 热热色综合网| 乱伦图av| 天天日天天干天天整| 日本操逼二区| 色婷婷成人综合| 极品国产内射| 夜夜肏2021| 午夜噜噜噜| 丰满人妻-区二区三区免费| 国产精品久久久 | 成人国产二区三区在线,男女精品。| 强奸a片网| 天天日夜干| 亚洲男人的天堂亚洲| 日韩三级久久久| 亚洲AO在线| 男人的天堂 在线一区| 五月丁香六月婷综合成人综合| 欧美日韩亚洲五月天婷婷| 看免费的黄片| 中文字幕在线观看网页| 亚洲男人电影天堂| 天天色香欲综合网| 亚洲色人| 欧美中文字幕男人天堂久久精品| 九九九九九九九九九国产精品 | 亚洲综合五月天| 少妇的嫩逼图片| 99免费在线视频| 97这里有精品| 欧美日不卡| 精品久久久久久中文字幕视频免费| 92福利社视频| 亚洲精品97| 97玖玖超碰| 久久亚洲AV无码专区首页| 精品中文日韩字幕视频| 嫩草影院性色| 久久久一区二区三区麻豆| 丁香六月综合激情| 懂色av一区二区三区天美传媒| 久久色激情一区二区三区| 国产在线视频午夜精华在| 亚洲情色一区三区| 高清一区AV无码| 超碰在线综合97| 看日韩美女二区三区免费操逼视频| 熟妇视频一区二区三区在线| 91亚洲不卡一区| 国产在线强奸视频| 操老熟女AV| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 南澳成人一级片在线播放| 五月天色图影视| 色视频蜜乳| 东京热99999| 亚洲精品男人的天堂| 天天看夜夜看日日干| 亚码人妻| 丁香六月婷婷久久综合| 亚洲影院365| 亚洲熟妇综合久久久久久| 丁香六月婷婷综合| 亚洲āv网址在线观看| 人妻五十路在线| 伊人久久88国产女| 久久久久亚洲三级电影| 国产精品第一页国产大屁股视频免费区i| 丁香五月婷婷啪啪| 在线有码中文字幕| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 欧美一区二区观看在线| 国产精品久久久久久久久久久久久久吹 | 撸撸成人在线视频| 天美麻花大全视频| 色综合国产在线观看| 天欧美在线| 96AV久久久| 国产高潮AA片免费看| 日日干天天干夜夜爽| 91在线丝袜| 久久久久久91香蕉国产| 大香蕉五月天婷婷| 精品人妻中文字幕4399| 不卡视频一区蜜桃视频| 日韩无码AB| 久久本道| 日本熟女中文| 人人操肉肉| 国产 日韩 欧美一区| 99日视频在线免费| 97超级欧美| 欧美熟妇视频| 色狠狠色| a v网站在线播放| 91P0RNY大屁股人妻| 亚洲第一页色网| 经典丝袜一区| 欧美大香蕉97| 色九久| 人妻激情在线视频| 欧美狠狠弄| 日本特黄f c2| www.色综合| 成人乱码一区二区三少妇| 91被操| 久久大黄片| 亚洲 在线| 国产美女高潮视频| 99日免费视频中文字幕| 午夜精品久久久久久久99热影院| 黄色AV影视| 日本三级中国三级99人妇网站| 蜜桃无码AV一区二区| 国产精品久久久久久无码红治院| 麻豆视频国产一区二区| 久久久久夜夜夜夜| 60秒不遮不挡| 国产激情在线| 男生通女生屁股| 欧美综合色图片| 亚洲图片视频小说| 国产精品粉嫩福利在线| 人妻天天爽| 超碰97在线中文| 色老牛| 色阁阁AV综合网| 欧美超碰人妻97| 在线五区| 国产精品一区二区麻豆| 97久久天天综合色天天综合色电影| 亚洲污污网站| 久操av在线| 亚洲91射| 欧美激情 亚洲色图| 日韩欧视频| 伊人网高清| 国产品精品自在在线午夜免费| 精品78| 三级精品三级在线观看| 久久黄片国产一区二区| 17c在线成人免费A片观看| 美女极品一区二区三区| 成人aⅴ一区二区三区| 亚洲午夜福利在线影院| 久久久九九网站| 欧美淫穴| 搞中出视频在线观看|