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

ARTICLE DETAIL

資訊詳情

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

多模態(tài)情感分析實(shí)戰(zhàn):PyTorch實(shí)現(xiàn)文本語(yǔ)音視頻三模態(tài)融合

多模態(tài)情感分析實(shí)戰(zhàn):PyTorch實(shí)現(xiàn)文本語(yǔ)音視頻三模態(tài)融合 簡(jiǎn)介基于PyTorch框架的多模態(tài)情感分析系統(tǒng)源碼包面向希望掌握情感計(jì)算、多模態(tài)特征融合與PyTorch工程實(shí)踐的計(jì)算機(jī)方向開(kāi)發(fā)者。系統(tǒng)針對(duì)文本-圖像配對(duì)數(shù)據(jù)設(shè)計(jì)完成積極、中性、消極三分類(lèi)任務(wù)文本模塊基于預(yù)訓(xùn)練BERT提取語(yǔ)義向量圖像模塊使用輕量神經(jīng)網(wǎng)絡(luò)抽取視覺(jué)特征并將兩類(lèi)特征融合后送入分類(lèi)器工程內(nèi)還包含數(shù)據(jù)預(yù)處理、劃分訓(xùn)練/驗(yàn)證/測(cè)試集、訓(xùn)練循環(huán)、驗(yàn)證評(píng)估與預(yù)測(cè)結(jié)果保存等完整環(huán)節(jié)。壓縮包共22個(gè)文件以7個(gè)Python源碼文件為核心配套JSON格式的標(biāo)注數(shù)據(jù)、JPG圖像樣本、TXT數(shù)據(jù)列表、依賴清單、模型目錄及說(shuō)明文檔整體僅325KB便于快速下載部署。項(xiàng)目結(jié)構(gòu)清晰集中管理參數(shù)并支持命令行靈活調(diào)整訓(xùn)練與測(cè)試設(shè)置。目前已有86人學(xué)習(xí)下載適合入門(mén)多模態(tài)情感分析并搭建可運(yùn)行基線后續(xù)可在源碼基礎(chǔ)上替換骨干模型、增加數(shù)據(jù)增強(qiáng)或擴(kuò)展多任務(wù)。1. 多模態(tài)情感分析系統(tǒng)是什么為什么 PyTorch 成了這套工程的地基多模態(tài)情感分析系統(tǒng)要把同一段話里的文本、語(yǔ)音、視頻幀一起消費(fèi)輸出積極、消極、中性這類(lèi)標(biāo)簽。PyTorch 是這個(gè)方向最常見(jiàn)的落地框架動(dòng)態(tài)計(jì)算圖讓三個(gè)分支各自 forward 后再合并的處理接近直覺(jué)torchaudio、transformers、torchvision 三個(gè)生態(tài)庫(kù)正好覆蓋音頻、語(yǔ)言和圖像三路數(shù)據(jù)。系統(tǒng)要解決的是純文本模型在諷刺、矛盾表達(dá)上翻車(chē)的問(wèn)題——嘴上說(shuō)“挺好的”但語(yǔ)氣低落、畫(huà)面灰暗時(shí)單模態(tài)模型很容易判錯(cuò)多模態(tài)系統(tǒng)靠融合信息拿準(zhǔn)。它適合做輿情監(jiān)測(cè)、客服質(zhì)檢、視頻人物情感分析這類(lèi)任務(wù)。如果你手里已有多模態(tài)標(biāo)注數(shù)據(jù)這套源碼整理出來(lái)的工程方案可以直接作為第二版基線上線。2. 多模態(tài)特征提取與 PyTorch 數(shù)據(jù)管線的三個(gè)分支怎么選2.1 文本分支BERT 還是詞向量中文場(chǎng)景怎么選文本是所有模態(tài)里最容易出信號(hào)的一路工程上建議直接用預(yù)訓(xùn)練編碼器而不是從零訓(xùn)練詞向量。常見(jiàn)做法是加載bert-base-chinese輸入用AutoTokenizer做截?cái)嗪?padding輸出取[CLS]向量作為整句話的語(yǔ)義表示。詞向量加 BiLSTM 的方案只有在推理機(jī)器非常老舊、不能帶 transformer 時(shí)才值得考慮否則它在遇到一個(gè)詞被同音字寫(xiě)錯(cuò)時(shí)會(huì)直接帶偏整句話的情感極性。參數(shù)選擇上有一套默認(rèn)值max_text_len64對(duì)短評(píng)、客服對(duì)話足夠新聞長(zhǎng)文本提到 128paddingmax_length盡量做右側(cè) padding因?yàn)橹形那楦信袛喑R蕾嚲渥游膊緽ERT 是雙向編碼左側(cè) padding 會(huì)干擾序列的語(yǔ)義落點(diǎn)凍結(jié)策略在上線初期很關(guān)鍵剛跑通時(shí)只放開(kāi)第 11 層和 pooler顯存能省接近一半等數(shù)據(jù)量上來(lái)了再打開(kāi)全部層微調(diào)。這里提醒一句AutoTokenizer的詞典對(duì)繁體字支持不好中文語(yǔ)料先做繁轉(zhuǎn)簡(jiǎn)再進(jìn) tokenizer否則會(huì)在錯(cuò)別字和異體字上浪費(fèi)訓(xùn)練時(shí)間。多模態(tài)數(shù)據(jù)集的文本字段也往往帶特殊表情符號(hào)清洗階段先統(tǒng)一去掉或替換成占位符否則 tokenizer 會(huì)產(chǎn)生一堆無(wú)用片段。2.2 音頻分支log-mel 頻譜比原始波形更穩(wěn)音頻分支常見(jiàn)有兩種輸入。一是直接把波形點(diǎn)送進(jìn)一維卷積理論上是信息無(wú)損的但實(shí)際對(duì)采樣率和噪聲很敏感情感短句往往只有一兩秒卷積下采樣后特征不夠穩(wěn)定。二是先算 log-mel 頻譜把波形壓成 64 路梅爾濾波器再送一維卷積這個(gè)路徑在語(yǔ)音情感數(shù)據(jù)集上表現(xiàn)更穩(wěn)也是多數(shù)視頻人物情感分析工程的主流選擇。mel_spec torchaudio.transforms.MelSpectrogram( sample_rate16000, n_fft400, hop_length160, n_mels64) log_mel torch.log(mel_spec(wav) 1e-6)這里的參數(shù)不要隨手改大n_fft400對(duì)應(yīng) 25ms 窗長(zhǎng)hop_length160對(duì)應(yīng) 10ms 幀移這套配置在語(yǔ)音識(shí)別和情感識(shí)別里都是通用配合n_mels64是性價(jià)比比較高的值提到 128 會(huì)讓 mel 行數(shù)翻倍準(zhǔn)確率通常只漲不到 0.5 個(gè)點(diǎn)。1e-6是給 log 運(yùn)算墊底的小量不能省否則靜音段會(huì)算出負(fù)無(wú)窮。音頻的文件格式盡量統(tǒng)一成 wavmp3 在 torchaudio 加載時(shí)容易因編碼器缺失報(bào)錯(cuò)統(tǒng)一轉(zhuǎn)碼是最穩(wěn)的做法。音頻長(zhǎng)度問(wèn)題在第 4 章會(huì)重點(diǎn)講這里先記住一個(gè)原則音頻尾部往往是情緒落點(diǎn)pad 時(shí)寧可截頭部也不要截尾部反過(guò)來(lái)對(duì)視頻抽幀情緒高峰多在中后段所以要均勻抽幀而不是只取開(kāi)頭。2.3 視頻分支直接用預(yù)提取特征別在訓(xùn)練時(shí)跑整份視頻視頻分支最常見(jiàn)的翻車(chē)點(diǎn)是直接把 ResNet 甚至 3D CNN 放進(jìn)模型去抽幀16G 顯存在 batch_size 8 下就會(huì)告急。工程上更常見(jiàn)的是離線階段先抽幀用預(yù)訓(xùn)練模型把每段視頻轉(zhuǎn)成固定維度的向量緩存成.npy或.pt文件訓(xùn)練階段只加載這些向量特征。我一般用 ResNet18 或 CLIP 的 image encoder 做特征抽取每個(gè)視頻均勻抽 8 幀取平均。CLIP 的好處是它的圖像編碼空間和文本語(yǔ)義空間天然對(duì)齊后續(xù)和 BERT 特征融合時(shí)線性投影的負(fù)擔(dān)更小。具體操作注意三件事視頻按均勻時(shí)間間隔抽幀不要只抽第一幀人物表情變化集中在中間段。每段視頻輸出一個(gè)[D]向量D 常見(jiàn)為 512來(lái)自 ResNet18 倒數(shù)第二層或 CLIP ViT-B/32 的 CLS 輸出。特征文件命名必須和音頻、文本樣本一一對(duì)應(yīng)同一個(gè)樣本 id 貫穿三個(gè)模態(tài)否則對(duì)齊會(huì)亂成一團(tuán)。復(fù)雜場(chǎng)景下多模態(tài)情感預(yù)測(cè)的數(shù)學(xué)建模和算法設(shè)計(jì)最后能不能落地很大程度取決于這三路特征在時(shí)間軸上是否對(duì)齊。視頻和音頻必須先按原視頻時(shí)間戳對(duì)齊后再切樣本不能音頻一段是 0 到 3 秒、視頻抽幀是 5 到 8 秒那種數(shù)據(jù)喂給模型只會(huì)得到一堆隨機(jī)噪聲。2.4 融合層級(jí)怎么選直接拼接、加權(quán)求和還是跨模態(tài)注意力融合層的設(shè)計(jì)直接決定這套系統(tǒng)值不值得做。最樸素的是 early fusion把文本[CLS]、音頻特征、視頻特征拼在一起送全連接。實(shí)現(xiàn)最短但三個(gè)模態(tài)特征分布差異大拼接后讓全連接自己學(xué)內(nèi)部關(guān)系小數(shù)據(jù)集上容易過(guò)擬合。更穩(wěn)的是 late fusion每個(gè)模態(tài)先各自過(guò)一個(gè)分類(lèi)頭得到 logits最后對(duì) logits 加權(quán)求和。梯度更新穩(wěn)定但模態(tài)之間沒(méi)有交互遇到“文本說(shuō)開(kāi)心、音頻卻很低沉”這類(lèi)矛盾表達(dá)學(xué)不到聯(lián)合判斷。多模態(tài)融合論文里出現(xiàn)頻率最高、落地也最實(shí)用的還是跨模態(tài)注意力。常見(jiàn)做法以文本[CLS]作為 query視頻特征作為 key/value 進(jìn)入nn.MultiheadAttention讓文本去挑選和它語(yǔ)義相關(guān)的視頻信息再把注意力輸出和音頻特征拼接起來(lái)。這個(gè)結(jié)構(gòu)多不了多少顯存但能額外產(chǎn)出一個(gè)注意力權(quán)重后面做樣本級(jí)排查時(shí)非常好用。融合方式參數(shù)量梯度穩(wěn)定性可解釋性適合場(chǎng)景直接拼接early fusion低一般差數(shù)據(jù)量大、特征維度一致logits 加權(quán)l(xiāng)ate fusion最低最好中數(shù)據(jù)少、快速出基線跨模態(tài)注意力中較好好數(shù)據(jù)量中等以上需要分析樣本三種方式在驗(yàn)證集上差距通常不超過(guò)兩三個(gè)點(diǎn)但有注意力權(quán)重的那一版會(huì)讓你在線上定位“為什么把這條差評(píng)判錯(cuò)”時(shí)多一條路。我建議先出 late fusion 基線再上跨模態(tài)注意力作為正式方案。3. 用 PyTorch 把多模態(tài)情感分析模型跑通Dataset、模型與損失權(quán)重3.1 數(shù)據(jù)集封裝文本、音頻、視頻在同一個(gè) Dataset 里對(duì)齊源碼包里最核心的是 Dataset。它要完成三件事讀出元數(shù)據(jù)里的文本和標(biāo)簽、把音頻轉(zhuǎn)成固定長(zhǎng)度的 log-mel 頻譜、把離線抽好的視頻特征加載進(jìn)來(lái)。以下是我常用的一套結(jié)構(gòu)import json import numpy as np import torch import torchaudio from torch.utils.data import Dataset from transformers import AutoTokenizer class MultimodalSentimentDataset(Dataset): def __init__(self, meta_json, max_text_len64, max_mel_frames96): with open(meta_json, encodingutf-8) as f: self.meta json.load(f) # 每一項(xiàng)含 text / wav_path / video_npy / label self.tokenizer AutoTokenizer.from_pretrained(bert-base-chinese) self.max_text_len max_text_len self.max_mel_frames max_mel_frames self.mel_spec torchaudio.transforms.MelSpectrogram( sample_rate16000, n_fft400, hop_length160, n_mels64) def __len__(self): return len(self.meta) def __getitem__(self, idx): item self.meta[idx] # 1) 文本BERT tokenizer 截?cái)? padding text_ids self.tokenizer( item[text], truncationTrue, max_lengthself.max_text_len, paddingmax_length, return_tensorspt) # 2) 音頻resample - log-mel - 固定幀數(shù) wav, sr torchaudio.load(item[wav_path]) if sr ! 16000: wav torchaudio.functional.resample(wav, sr, 16000) mel torch.log(self.mel_spec(wav) 1e-6).squeeze(0) # [64, T] if mel.shape[1] self.max_mel_frames: mel mel[:, :self.max_mel_frames] # 截尾部會(huì)丟情緒落點(diǎn)慎用 else: mel torch.nn.functional.pad(mel, (0, self.max_mel_frames - mel.shape[1])) # 3) 視頻讀取離線預(yù)提取特征向量已經(jīng)是固定維度 video_feat torch.tensor(np.load(item[video_npy]), dtypetorch.float32) return { text_ids: text_ids[input_ids].squeeze(0), text_mask: text_ids[attention_mask].squeeze(0), mel: mel, video: video_feat, label: torch.tensor(item[label], dtypetorch.long), }這段代碼的關(guān)鍵是三個(gè)返回張量的形狀。text_ids和text_mask是[max_text_len]mel是[64, max_mel_frames]video是[D]。三者并不強(qiáng)制同長(zhǎng)到模型里才在特征維度上相遇所以 Dataset 階段不要強(qiáng)行把它們 pad 成同一種長(zhǎng)度那樣只會(huì)浪費(fèi)讀寫(xiě)時(shí)間。max_mel_frames怎么定按hop_length160算1 秒音頻產(chǎn)生 100 幀頻譜3 秒就是 300 幀。先統(tǒng)計(jì)訓(xùn)練集音頻長(zhǎng)度分布取 95 分位作為這個(gè)參數(shù)比拍腦袋定 96 更穩(wěn)。另一個(gè)常見(jiàn)選擇是離線把所有音頻統(tǒng)一轉(zhuǎn)成固定幀數(shù)的 npy訓(xùn)練時(shí)直接讀矩陣而不現(xiàn)算 mel。這樣能縮短每個(gè) epoch 的時(shí)間但每次改n_mels或hop_length就要重新生成一遍緩存。我一般在小數(shù)據(jù)集上現(xiàn)算數(shù)據(jù)量過(guò)萬(wàn)段再做離線緩存。3.2 模型結(jié)構(gòu)三個(gè)編碼分支加一個(gè)融合分類(lèi)頭模型側(cè)的關(guān)鍵不是把 BERT、CNN、線性投影簡(jiǎn)單堆起來(lái)而是給每個(gè)分支都留一個(gè)分類(lèi)頭讓單模態(tài)也能輸出 logits。這樣訓(xùn)練時(shí)可以同時(shí)監(jiān)督模態(tài)分支避免某個(gè)分支變成看不見(jiàn)的黑匣子。import torch.nn as nn from transformers import BertModel class MultimodalSentimentNet(nn.Module): def __init__(self, num_classes3, video_dim512, text_dim768, audio_dim128): super().__init__() # 文本分支BERT 中文預(yù)訓(xùn)練 self.bert BertModel.from_pretrained(bert-base-chinese) for name, p in self.bert.named_parameters(): # 初期只放開(kāi)最后兩層和 pooler省顯存 if encoder.layer.11 not in name and pooler not in name: p.requires_grad False # 音頻分支一維卷積 全局池化輸入 [B,64,T] self.audio_conv nn.Sequential( nn.Conv1d(64, 128, kernel_size3, padding1), nn.ReLU(), nn.Conv1d(128, 128, kernel_size3, padding1), nn.ReLU(), nn.AdaptiveAvgPool1d(1), ) self.audio_proj nn.Linear(128, audio_dim) # 視頻分支離線特征已是向量線性投影到文本維度 self.video_proj nn.Linear(video_dim, text_dim) # 跨模態(tài)注意力文本為 query視頻為 key/value self.cross_attn nn.MultiheadAttention(text_dim, num_heads4, batch_firstTrue) # 四個(gè)分類(lèi)頭 self.text_head nn.Linear(text_dim, num_classes) self.audio_head nn.Linear(audio_dim, num_classes) self.video_head nn.Linear(text_dim, num_classes) self.fusion_head nn.Sequential( nn.Linear(text_dim audio_dim text_dim, 256), nn.ReLU(), nn.Dropout(0.3), nn.Linear(256, num_classes), ) def forward(self, text_ids, text_mask, mel, video): bert_out self.bert(text_ids, attention_masktext_mask).last_hidden_state text_cls bert_out[:, 0] text_logits self.text_head(text_cls) audio_feat self.audio_conv(mel).squeeze(-1) # [B,128] audio_feat self.audio_proj(audio_feat) audio_logits self.audio_head(audio_feat) video_feat self.video_proj(video) # [B,768] video_logits self.video_head(video_feat) attn_out, attn_weight self.cross_attn( text_cls.unsqueeze(1), video_feat.unsqueeze(1), video_feat.unsqueeze(1)) fusion_in torch.cat([text_cls, audio_feat, attn_out.squeeze(1)], dim-1) fusion_logits self.fusion_head(fusion_in) return { fusion_logits: fusion_logits, text_logits: text_logits, audio_logits: audio_logits, video_logits: video_logits, attn_weight: attn_weight, }音頻分支的AdaptiveAvgPool1d(1)會(huì)把任意長(zhǎng)度 mel 壓成[B,128,1]訓(xùn)練和推理時(shí)允許音頻長(zhǎng)短不一進(jìn)入模型這是對(duì)付音頻長(zhǎng)度抖動(dòng)的一個(gè)很實(shí)用的手段比大段 pad 邏輯省事得多。視頻分支只有一個(gè)Linear因?yàn)轭A(yù)處理階段已經(jīng)把整段視頻濃縮成了單一向量如果你選擇每段抽 8 幀、輸出[8,512]的特征就需要在進(jìn)入融合前先做幀間聚合。直接 mean pooling 已經(jīng)能打好基線我沒(méi)有在初版里加幀級(jí)時(shí)序建模。凍結(jié)參數(shù)的邏輯要看清named_parameters()里的encoder.layer.11會(huì)同時(shí)命中第 11 層的子參數(shù)pooler是 BERT 的池化層習(xí)慣上和第 11 層一起放開(kāi)。初期這樣為了省顯存跑通后建議逐步解凍全部層重新訓(xùn)練。提示正式訓(xùn)練前先跑一個(gè) batch 的前向確認(rèn)返回 dict 里每個(gè) key 的 shape 都符合預(yù)期再進(jìn)循環(huán)。多模態(tài)模型的報(bào)錯(cuò)信息經(jīng)常在多層嵌套里被吞掉前向驗(yàn)證能省半天時(shí)間。3.3 訓(xùn)練循環(huán)融合主損失加三個(gè)分支輔助損失訓(xùn)練時(shí)不能只算融合 logits 的交叉熵三個(gè)分支的 loss 也要帶進(jìn)來(lái)這就是多模態(tài)項(xiàng)目里常說(shuō)的 loss weighting。完整代碼from torch.utils.data import DataLoader from torch.optim import AdamW device torch.device(cuda if torch.cuda.is_available() else cpu) model MultimodalSentimentNet(num_classes3).to(device) train_loader DataLoader(dataset, batch_size16, shuffleTrue, num_workers2) optimizer AdamW([p for p in model.parameters() if p.requires_grad], lr2e-5) criterion nn.CrossEntropyLoss() aux_weight 0.3 # 分支輔助損失權(quán)重正式實(shí)驗(yàn)前先跑一組 0 做對(duì)比 for epoch in range(15): model.train() epoch_loss 0.0 for batch in train_loader: text_ids batch[text_ids].to(device) text_mask batch[text_mask].to(device) mel batch[mel].to(device) video batch[video].to(device) label batch[label].to(device) out model(text_ids, text_mask, mel, video) loss criterion(out[fusion_logits], label) loss loss aux_weight * criterion(out[text_logits], label) loss loss aux_weight * criterion(out[audio_logits], label) loss loss aux_weight * criterion(out[video_logits], label) optimizer.zero_grad() loss.backward() torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm1.0) optimizer.step() epoch_loss loss.item() print(fepoch{epoch:02d} train_loss{epoch_loss / len(train_loader):.4f})aux_weight0.3的含義是讓融合頭為主導(dǎo)三個(gè)分支保持“能單獨(dú)判斷但不帶偏主路”的狀態(tài)。如果某個(gè)模態(tài)數(shù)據(jù)噪聲特別大例如音頻里大量靜音或環(huán)境音把對(duì)應(yīng)分支的權(quán)重降到 0.1如果某個(gè)分支 loss 明顯不降說(shuō)明該分支特征質(zhì)量太差先修數(shù)據(jù)不要硬調(diào) lr。clip_grad_norm_(max_norm1.0)在融合模型里幾乎必加。BERT 和隨機(jī)初始化的 CNN 分支梯度尺度能差一到兩個(gè)數(shù)量級(jí)不加裁剪前幾個(gè) step 一次大梯度就可能毀掉整個(gè)融合頭。AdamW 的lr2e-5是 BERT 微調(diào)常用值但要看到新初始化的層學(xué)得慢常見(jiàn)做法是給音頻 CNN 和視頻投影單獨(dú)開(kāi)lr5e-4BERT 保持2e-5。想快速出第一個(gè)有效模型先把 BERT 全部?jī)鼋Y(jié)只訓(xùn)分支和融合頭穩(wěn)定后再解凍微調(diào)。3.4 保存、加載與驗(yàn)證拆分保存時(shí)統(tǒng)一存state_dict不要存整個(gè)模型對(duì)象。加載前先創(chuàng)建同結(jié)構(gòu)的模型實(shí)例再load_state_dict。驗(yàn)證拆分最好提前固定一個(gè)val_loader每個(gè) epoch 結(jié)束用驗(yàn)證集算一次準(zhǔn)確率然后做最樸素的早停連續(xù) 3 個(gè) epoch 驗(yàn)證指標(biāo)不漲就回退到之前最好的 checkpoint。best_val_acc 0.0 patience 0 for epoch in range(15): # 訓(xùn)練循環(huán)略... val_acc evaluate(model, val_loader, device) if val_acc best_val_acc: best_val_acc val_acc torch.save(model.state_dict(), best_model.pt) patience 0 else: patience 1 if patience 3: breakmap_location在加載時(shí)寫(xiě)清楚torch.load(best_model.pt, map_locationdevice)否則在 CPU 機(jī)器上訓(xùn)練、GPU 上推理時(shí)會(huì)因?yàn)槿鄙?CUDA 報(bào)錯(cuò)。checkpoint 文件名帶 epoch 號(hào)每次保留前一個(gè)版本晚點(diǎn)你就知道這有多重要。4. 多模態(tài)情感分析避坑記錄五個(gè)常見(jiàn)報(bào)錯(cuò)與排查順序4.1 現(xiàn)象DataLoader 在 batch 階段報(bào) shape 不一致的 RuntimeError常見(jiàn)于換了一批數(shù)據(jù)后某條樣本音頻較長(zhǎng)mel 計(jì)算出來(lái)超過(guò)max_mel_frames但__getitem__里沒(méi)有走截?cái)噙壿嫽蛘咭曨l特征文件輸出的是[8,512]而不是預(yù)期的[512]batch 內(nèi)維度對(duì)不上。原因Dataset 返回張量形狀必須一致默認(rèn)collate_fn用torch.stack堆疊任何一維不一致都直接崩。而且 DataLoader 的 worker 進(jìn)程會(huì)吞掉原始 traceback只在終端打一行 RuntimeError。解決在__getitem__里對(duì)音頻和視頻各做一次 shape 防御先打印當(dāng)前樣本 id 和實(shí)際 shape再在__init__里預(yù)掃描所有wav_path和video_npy把形狀異常的樣本直接過(guò)濾掉。這比在訓(xùn)練循環(huán)里 try/except 高效得多。4.2 現(xiàn)象訓(xùn)練正常每次跑驗(yàn)證的 epoch 結(jié)束就 CUDA OOM訓(xùn)練 loss 在下降一到驗(yàn)證就CUDA out of memory。原因驗(yàn)證代碼沒(méi)有包在torch.no_grad()里。model.eval()只改了 dropout 和 BN 行為沒(méi)有關(guān)梯度驗(yàn)證一樣保留計(jì)算圖。另外驗(yàn)證集 DataLoader 仍shuffleTruebatch_size 又和訓(xùn)練一致峰值顯存自然更高。解決驗(yàn)證循環(huán)統(tǒng)一寫(xiě)成model.eval() with torch.no_grad(): # 推理循環(huán)驗(yàn)證 DataLoader 設(shè)shuffleFalsebatch_size 降為訓(xùn)練的一半。還 OOM 就把訓(xùn)練 batch_size 從 16 降到 8再看max_mel_frames。判斷順序先降 batch_size再降音頻幀數(shù)因?yàn)?BERT 激活值占的顯存往往比音頻更大。4.3 現(xiàn)象多模態(tài)融合后的驗(yàn)證指標(biāo)不如單獨(dú)的文本分支這是最打擊人的一種加了音頻和視頻F1 反而比只跑 BERT 還低。原因三個(gè)分支收斂速度不匹配。BERT 是大容量預(yù)訓(xùn)練模型第一輪就能學(xué)到文本信息音頻 CNN 和視頻線性層隨機(jī)初始化早期輸出接近噪聲而融合頭被這些噪聲帶著跑偏。另一個(gè)常見(jiàn)原因是輔助 loss 權(quán)重配比失調(diào)某支噪聲大的分支把融合頭拖住了。解決前兩輪先用aux_weight0只看融合 loss等文本分支穩(wěn)定后再加回輔助權(quán)重。損失權(quán)重建議從w_text0.3, w_audio0.2, w_video0.1起步融合主 loss 權(quán)重保持 1。多模態(tài)模型最忌諱一上來(lái)三個(gè)分支完全平等數(shù)據(jù)質(zhì)量不均衡時(shí)平等訓(xùn)練等于讓短板帶節(jié)奏。4.4 現(xiàn)象import torch后cuda.is_available()為 False加載時(shí)報(bào) CUDA 相關(guān)錯(cuò)誤這個(gè)坑多數(shù)出現(xiàn)在 Anaconda 環(huán)境里。常見(jiàn)流程是先pip install torch裝了 CPU 版后面又用 conda 混裝同一環(huán)境出現(xiàn)多個(gè) torch。原因PyTorch 的 CUDA 支持是通過(guò)預(yù)編譯 wheel 綁定的pip 默認(rèn)裝 CPU 版本conda 如果 torch 和 cudatoolkit 版本不匹配也會(huì)識(shí)別不到卡。解決不要在原環(huán)境里修直接建一個(gè)干凈環(huán)境conda create -n mmsa python3.9 conda activate mmsa conda install pytorch torchvision torchaudio cudatoolkit11.8 -c pytorch -c conda-forge python -c import torch; print(torch.__version__, torch.cuda.is_available())裝完立刻打印驗(yàn)證。Apple 芯片機(jī)器不要裝帶 cu 的 wheel直接用 pip 安裝 macOS 版 PyTorch。CUDA 驅(qū)動(dòng)太舊時(shí)裝新 wheel 也會(huì)在第一步驗(yàn)證處失敗先用nvidia-smi看驅(qū)動(dòng)支持的 CUDA 版本再選對(duì)應(yīng)包。4.5 現(xiàn)象load_state_dict報(bào) missing key 或 unexpected key報(bào)錯(cuò)內(nèi)容常見(jiàn)是Missing key(s): bert.embeddings.word_embeddings.weight或者Unexpected key(s): module.classifier.0.weight。原因訓(xùn)練時(shí)用了nn.DataParallel或 DDP 包裝過(guò)模型保存的權(quán)重帶module.前綴加載的模型是裸模型鍵名對(duì)不上。另一類(lèi)是保存時(shí)不小心存了整個(gè) model 對(duì)象而不是state_dict()。解決統(tǒng)一按state_dict保存加載時(shí)做一次鍵名清理ckpt torch.load(best_model.pt, map_locationcpu) if module. in list(ckpt.keys())[0]: ckpt {k.replace(module., ): v for k, v in ckpt.items()} model.load_state_dict(ckpt)同時(shí)把best_epoch、損失權(quán)重、凍結(jié)層配置單獨(dú)寫(xiě)一份 json 存起來(lái)。多個(gè)實(shí)驗(yàn)之間靠文件名猜配置是后期最耗時(shí)間的事。5. 模型驗(yàn)證與上線前的最后一課用注意力權(quán)重給預(yù)測(cè)上“后悔藥”5.1 先看分類(lèi)報(bào)告別只看準(zhǔn)確率多模態(tài)情感數(shù)據(jù)大多數(shù)不平衡中文評(píng)論尤其明顯中性樣本可能占五成正負(fù)樣本各兩成。驗(yàn)證階段直接打印分類(lèi)報(bào)告不要只盯準(zhǔn)確率from sklearn.metrics import classification_report preds, all_labels [], [] model.eval() with torch.no_grad(): for batch in test_loader: out model(batch[text_ids].to(device), batch[text_mask].to(device), batch[mel].to(device), batch[video].to(device)) preds.extend(out[fusion_logits].argmax(-1).cpu().tolist()) all_labels.extend(batch[label].tolist()) print(classification_report(all_labels, preds, digits4))如果某一個(gè)類(lèi)別 recall 明顯低不要急著調(diào)閾值先看這一類(lèi)樣本是否集中在長(zhǎng)句、音頻帶噪或視頻抽幀不均這幾類(lèi)原因上。5.2 用注意力權(quán)重做樣本級(jí)降級(jí)判斷模型結(jié)構(gòu)里除了 logits 還返回attn_weight它是[B,1,1]的權(quán)重表示文本從視頻里挑出的信息量大小??梢宰鲆粚咏导?jí)保險(xiǎn)融合預(yù)測(cè)置信度低、文本分支置信度高時(shí)信任文本分支fusion_prob torch.softmax(fusion_logits, dim-1).max(dim-1).values text_prob torch.softmax(text_logits, dim-1).max(dim-1).values final_pred fusion_logits.argmax(dim-1) fallback (fusion_prob 0.6) (text_prob 0.8) final_pred[fallback] text_logits[fallback].argmax(dim-1)在驗(yàn)證集上跑一版統(tǒng)計(jì)有多少樣本走了 fallback。如果命中率只有 2% 到 3%說(shuō)明視頻或音頻特征確實(shí)在個(gè)別樣本上拖后腿值得繼續(xù)優(yōu)化如果超過(guò) 10%說(shuō)明融合頭本身沒(méi)訓(xùn)好要回去重調(diào)損失權(quán)重而不是依賴這條兜底邏輯。5.3 上線前的部署檢查固定輸入長(zhǎng)度再導(dǎo) ONNX本地驗(yàn)證通過(guò)后如果目標(biāo)是 CPU 服務(wù)推薦把模型導(dǎo)出成 ONNX 再用 ONNX Runtime 推理。導(dǎo)出前有三個(gè)準(zhǔn)備工作模型置 eval、輸入張量全部固定形狀、文本分支換掉。BERT 是推理耗時(shí)的大頭把bert-base-chinese換成 DistilBERT 中文版本整個(gè)模型推理時(shí)間能壓到原來(lái)的三分之一。ONNX 導(dǎo)出要求輸入動(dòng)態(tài)軸盡量少否則引擎會(huì)頻繁使用動(dòng)態(tài) shape速度反而更差。最后說(shuō)一個(gè)我踩過(guò)好幾輪的教訓(xùn)。多模態(tài)模型的變量實(shí)在太多三個(gè)分支要不要分開(kāi)設(shè)學(xué)習(xí)率、損失權(quán)重怎么配、checkpoint 存的是哪個(gè) epoch、凍結(jié)了哪幾層。不寫(xiě)配置文件的實(shí)驗(yàn)就是黑匣子。我現(xiàn)在訓(xùn)練腳本第一行就讀一個(gè) config.json把所有參數(shù)連同隨機(jī)種子一起記檔每次實(shí)驗(yàn)復(fù)制一份帶時(shí)間戳的配置備份。遇到指標(biāo)退步時(shí)能快速回滾到上一個(gè)能用的權(quán)重而不是靠記憶猜。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久亚洲精品成人av| 最新一二三区视频| 天美传媒婬乱在| 亚洲熟女中文字幕在线| 伦理第一页| 日韩传媒在线| 超碰人人超在线观看| 亚洲风情在线观看| 九九九九九用不成了| 国产乱人伦AVA麻豆软件.| 好吊色综合| 超碰人人妻| 影音先锋日本乱伦| 玖玖资源视频一区二区三区| 久久精品72| 五月天综合网| 色婷亚洲五月在线观看| 影音先锋国产精品| 亚洲国产欧美另类自拍| 日本人妻最新在线中| 婷婷九月丁香| 国产2.3.4区| 一本色道久久综合熟妇| 久久精品中文| 亚洲精品蜜桃久久久| 99国产精品免费| 色性荡荡荡荡视频| 中文字幕版| 人妻少妇精品一区二区三区| 亚洲四虎熟女精品| 丁香色色网| 亚卅熟女乱色| 97人人射| 婷婷丁香在线| 99久久9| 网页导航五月天免费一二三区 | 免费啪啪一级视频| 99这里只有精品国产| 天堂无码| 青娱乐欧美激情一区二区| 私人尤物在线精品不卡| 国产精品九九九| 一二三区精品视频| 亚洲97超碰| 亚洲欧美综合图片| 91综合网在线| 欧美片第一页| 亚洲无码超碰免费| 曰韩操B| 亚洲欧洲综合成人av一区| 久久超碰网| 天美精品原创av片国产| 天天色天天干天天爱| 亚洲密乳AV| 啪啪啪精品| 一级毛片久久久久久久女人18| 98久久| 人妻精品免费一二三区| 国产性爱在线视频一区二区| 做爱A级亚欧| 亚洲一级特黄大片在线播放91| japan日本高清乱xxxx| 亚洲 自拍偷拍 欧美| 91艹B视频| 粉嫩av在线一区二区| 激情色播| 91撸色网 玖玖网 欧美| 欧美在线第五页| 欧美se综合| 啊啊啊免费| 国产精品久久妻无码网站 | 二对二中文字幕。| 国产情色第一第二页在线观看| 韩国嫰模上门援交视频| 欧美18老人禁| 操逼视频免费日韩无码| 国产免费大片| 超碰导航97| 亚洲色交| 老司机老司机午夜影院| 小少妇| 女生自91网站| 国产精品片| 亚洲最新中文字幕免费| 久久久久久久极品香蕉视频| 精品少妇人妻一区二区三区| 国产资源中文字幕在线| 色香色欲天天综合网天天来吧| 色五月av| 精品大全99999| 亚洲图片色图欧美另类| 狠狠操天天干| 大香交| 欧美激情性爱视频网站| 久久,精品一二三| 黄站在线免费观看| 欧美A片中文字幕| www.zbzhongsen.com| 加勒比日本在线 | caorenqi shipin| 人妻少妇色综合| 午夜欧美精品久久久| 国产一区二区三区免费视频在性观看| 日本精品一区三区| 欧美岛国精品在线观看| 中文字幕丝袜人妻| 亚洲色阁| 三级三久久线久久99久目本WW| 人妻内射一区二区在线视频| 明星性猛交ⅹxxx乱大交| 91狠狠综合久久久久久| 黄久在线| 高清孕妇孕交 交孕妇| 揉揉揉夜夜| 久久久久久久一级黄色打同平台| 97在线资源| 超碰在线人妻中文字幕| 色婷婷婷五月天激情四射| com 首页 18岁 禁区 女优 免费 精选 同城| 国产 日韩,欧美 自拍| 久久精品国产72国产精品福利| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 亚洲一区二区精品福利| 黄色一区三区| 亚洲夜夜欢无码一区二区| 韩日精品福利视频一区不卡在线免 | 操操操日本的逼| 欧美激情欧美精品| 欧美的性爱网站免费| 亚洲欧美九九九| 国产白丝精品在线观看| 国产精品小视频一区二区三区| 日韩在线观看三级电影| 少妇被玩视频二三区| 欧美精品精品一区二区| 91精品国久久久久久无码| 中文人妻av高清一区| 天堂国产AV| 亚洲欧美综合区自拍另类| 国产精品一区二区后入| 久草福利在线资源站| 久久一本大香蕉| 人妻-91porn| 久久久96| 天天综合网~91综合网| 精品婷婷| 亚洲无码成人精品| 四虎精品永久在线观看| 欧美一区二区在线资源| 色999五月色| 国产精品99999| 久久神马影院| 大香蕉五月天| 成人午夜高潮av猛片| 日韩国产十八禁| 香蕉人人操tv| 1769一区| 操久久久久| 内射中出日韩在线观看视频| 黄色欧美性爱视频| 久久透逼视频| 91人人操| 天天澡天天爽日日AV| 秋霞男人网| 五月丁香激情啪啪| 97精品一区二区视频| 亚洲日产专区婷婷| 你草精品在线视频| 激情五月天丁香| 欧美性爱免费短视频| 四虎影视国产精品| 日韩无码AB| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 蜜臀av网址| 男人的天堂亚洲| 这里只有精品视频在线观看麻豆| 国产丝袜啪啪| 无码久| 120分钟婬片免费看| 成年人黄色视频免费| 精品一二三区四视频| 99在线精品视频| 国产福利一区二| 综合亚州欧美| 艳尻美人妻| 男人兔费天堂| 国产美女mm131爽爽爽爽| 亚洲欧美一区二区网址| 四虎在线视频| 我想要啊 啊 啊| 亚91亚洲网| 久久久999日本大片| 乱伦1色页| 欧洲欧美视频一区二区| 资源新线在线天堂| 欧美日韩传媒| 麻豆色约约| 中文字幕欧美日本乱码一线二线 | 国产欧美成人精品| 青青色综合| 天天流夜夜操| 六月丁香五月婷婷| 狠狠爱综合| 人妻人人做人人澡人人爽欧美一区| 一级毛片电影免费看| 国产精品久久久久999| 丁香婷婷激情五月天无毒不卡| 六月天婷婷| 免费AV播放| 操逼1区| 福利社区午夜一区二区| 午夜啪| 操碰97| 大香蕉伊人75| 亚洲欧美天堂| 精品对白久久不卡| 成年人网站在线免费观看| 亚洲蜜臀精品视频久久| 口爆吞精在线观看| 黄色电影观看久久9| 日本三级一区二区 在线| 综合久久9| 日本乱人伦片中文三区| 亚洲欧美高清无码| 天天综合网日韩7799| 97在线精品观看视频| 亚洲色图尤物视频| 黑人美精品 A片| 户外裸露刺激视频第一区| 精品高清一区二区三区三州| 欧美日韩国内不卡| 国产AV高清AV无码| 99久久com免费视频′| www.婷婷六月天| 欧美躁死她一区二区| 色婷婷狠狠| 18一区二区三区| 中文字幕一区 二区三四五 区日 日骚| 蜜臀久久99精品久久久老,,| 亚洲情色1区| 亚洲视频二区 | 成人综合视频久久| 使劲用力艹少妇视频一区二区| 麻豆精品三区视频| KK色在线影院| 精品国产无码中文| 蜜乳AV一区二区三区四| 九色97| 69AV女优男人的天堂| 欧美日韩一干二干| 婷婷激情四射| 熟女这里只有精品6| 大香焦A片| 欧美夜夜狠| 日韩AV电影网站| 色在线69堂| 国产美女口爆吞精| 91爱啪| 亚欧视频在线| 97天堂| 91麻豆一二三区| 亚洲中文字幕久久无码精品| 久久欲| 91干熟女| 日韩专区久久久| 国产精品网址| 九九AV| 亚洲淫色网中文| 亚洲男人天堂手机版| 视频一区二区免费在线| 亚洲精品人妻吞精av| 五月黑AⅤ| 久久久久婷婷精品av电影| 亚洲风情在线观看| 日韩AV熟女乱伦| 999热这里只有精品| 男女性感激情网站| 久久久久骚| 亚洲精品九九九九九九| 久久丁香久草综合网| 中文字幕在线播放2中文字幕在线观看2| 人人污日韩一区二区| 清纯唯美综合| 国产午夜激片Av毛片不卡| 女人一区| 9Ⅰ超碰| 婷婷AV一区二区三区| 国产乱人妻精品入口| 超碰九7免费| 亚洲无码99| 在线情色电影 91大| 综合影院永久入口国产| 黄污污污污| 一本久久久精品| 亚洲二区精品在线观看 | 丰满人妻-区二区三区| 人妻激情偷乱视三区频一区二区| 性色avv| 欧美爱爱97| 五月综合色| 中文字幕熟女人妻丝袜丝| 操我无码| 妇女乱色二区| 天天狠| 熟女熟妇一区二区三四区| 国产一区二区三区影片| 日本一级不卡一二区| 日本国产高清色www视频在线| 一区黄二区黄| 国产亚洲日韩欧| 日本一区三级韩国| 伊人五月天婷婷| 1024亚洲中文字幕久在线看片你懂的| 久久在线观看免费视频| 9/A片| a片久久久久久久久久久久 | 四虎免费视频| 国产精品亚洲一区二区三区四区| 高清视频一区| www.99色| 蜜臀久久99精品久久久久久-DVD原版全| 色嘟嘟人妻天堂网| 大学生美女口爆| 日韩懂色网| 久综合国内精品自在自线| 青草影院内射高潮| 国产免费久久久久| 欧美黄色大片在线观看 | w w w.久久精品| 丝袜无码a片| 岛国大片在线观看网站入口| 不卡二三区人妻少妇| 色婷婷亚洲婷婷| 熟女人妻精品一区二区视频| 日日日骚女人精品| 久久亚洲精品成人av| 麻豆精品.欧美精品.日韩精品.| 99热色精品| 狠狠操官网| 婷婷在线视频在线观看| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 91美女视频电影| av天堂影视中文在字幕在线中文| 久草精品国产99| 超碰在线第一页| 丁香婷婷啪啪| 免费综合亚洲中文| 亚洲中文字幕精品一区| 九热超碰| 超碰超碰欧美| 韩国午夜理伦三级好看| 97啪啪| 久久久男人的天堂| 97干在线看| 嫩草影院性色| 黑人白女精品一区| 91bbb| 国产精品国产| 九九九综合精品| 国产 三级自拍| 欧美亚洲| 熟妇人妻精品一区二区| 高跟伊人julia ann| 国产精品一二三区福利| 欧美黄片免费在线观看视频| 亚洲伊人久久综合97| 懂色av中文字幕一区二区三区天美| 97人妻色| 在线免费观看日韩一区| 日本高清免费一本视频在线观看| 97久久网| 在线天堂资源亚洲| 国产精品97超碰| 91精品国产综合久久久蜜臀| 欧洲天天在线| 青青草操逼逼视频| 91麻豆天美国产欧美| 97精品熟女少妇一区 | 亚洲国产高清福利视频| 免费黄色片。| 国产精品 久久久精品一牛| 天天综合网91| 99久在线精品99re8| 色偷偷超碰亚洲| 日韩不卡网操逼中文字幕日韩| 日韩三级久久久| 美女诱惑爱爱| 色婷婷影院| 超碰人妻在线| 丁香色色网| 99这里都是精品| 国产精品网站www| 久久一区,青青青青草视频在线播放| 插欧洲美女欧美精品| 久久91视频| 八人操人人摸人人看| 国产日韩精品无码去免费专区国产| 97精品一区二区视频| 老熟女综合| 九九九九国产| 亚洲国产美女久久久久| 日韩中文字幕视频| 久草免费福利在线播放| 日韩一级特黄av毛片| 久久亚洲AV成人精品无码| 一级黄色视频网| 日本操BAV| 亚洲欧美精品福利在线| 精品国产乱码久久久久久久久1 | 九九九九九九视频| 国产精品伦理| 91综合熟女| 91在线精品一区二区三区| 日本欧美中文字幕| 亚洲制服欧美另类内射| 久久久久久午夜男人的天堂| 宗合情欲网| 综合激情一一91| 国产97综合| 久久啊啊啊| 日欧操屄| 久久久com| 97 超碰 人人做 人人爱| 美女97超碰| 91天天爽| 国产亚洲色婷婷久久99精品91 - 百度| 99久久精品无码一区二区毛片免费| 国产兽交视频在线播放| 日韩性爱播放| 人妻少妇蜜桃视频欧美一区| 香蕉av一区二区三区| 少妇的嫩逼图片| 青娱乐淫乱1314| 在线国产探花| AV高清一区| 国产91丝袜 在线播放| 操b在线观看| 丁香五月电影| 激情文学 国产一二三aV| 中文字幕精品亚洲熟女| 国产亚洲日韩欧| 亚洲成?V人片在线观看福利| 日韩紧密久久| 骚日日av| 国产树林里野战在线看| 91青视频| 日本精品999| 玖玖资源综合在线视频| 国产欧美一区二区| 97在线免费看视频| 在线观看精品国产免费| 骚女高跟AV在线| 日日操夜夜操天天操免费观看麻豆| 国产精品久久久久亚洲av| 97电影院超碰| 久久男人| 日本精品无码三级网站| 欧美三级免费伊人| 狠狠91| 久久 国产精品 一区| 天堂射| 婷婷色五月激情| 国产熟妇一区二区| 91狠狠综| 大香蕉在线视频15| 99re超碰| 伊人AAA| 美女91| 99精品久久久久久久婷婷蜜桃| 加勒比东京热五月天天堂网| wwwxxx日本爽| 黑人精品久久97| 精品成人动漫一区二区| 亚洲成人妻日韩在线| 秋霞一级A片黄色视频| 久草久热| 欧美日韩国产另类综合| 神马久久久久久久久久久久| 天天插夜夜操| 久久免费老司机精品| 啊啊啊啊啊啊在线观看| 91人妻丝袜无码| 国产精品网址| 精品美女在线视频| 日韩AV无码网站| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 久热色情精品| 18禁在线视频| 久久 亚洲 日韩 人妻| 日本欧美一区二区三区视频麻豆| 中文字幕一区av| 91搡老女人老妇女老熟女歌词翻译| 麻豆一区在线| 伊人久久久日韩一区| 午夜120视频在线观看| 国产白丝AV| A级片一区| 中文字幕精品探花视频| 色综合一区二区三区| 少妇无码av专区线| 9长久久精品| 国产精品亚洲一区二区三区四区| AV老汉| 日韩久久.一级黄色片| 久久久久久99999国产精品| 天堂8在线新版官网| BBBBB97COM| 亚殴在线| 亚洲国产高清福利视频| 97色97干| 色制服丝袜夫妻av一区| 日韩三级一区| 欧美十八禁视频| 中文字幕二区| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 夜夜免费视频| 亚洲影视第一页| 亚洲天堂男人在线| 日小BB小视频| 九九久久玖玖| 青青草中日韩在线| 亚洲人妻一区二区三区| 国产精品久久久久中文字幕| 欧美图片色五月天| 9超碰免费| 国产精品成人蜜臀AV在线| 亚洲国产97在线精品一区| 伊色综合天堂色97| 日逼国产| 久久透逼视频| 亚洲?V高清一区二区三区尤物| 西西美女视频网| 五月综合激情| 91精品国产日韩欧美综合| 人爽不卡视频| 日产123区精品免费观看| 最新欧洲欧美日本激情网站| 亚洲乱伦图片视频| 欧美少妇色图| 91网站18+| 亚洲美女色图| 久悠悠av| 中文字幕人妻丝袜| 亚洲精品aa久久伊人| 精品网站99999| 亚洲天堂电影精品一区| 国产亚洲色婷婷久久99精品91葵花宝典| 97频视在线| 第四色亚洲色图| 91精品国产综合久久久蜜臀| 国产免费久久久久| 欧日a| 人妻性爱一区二区| 1769一区| 亚洲91在线| 亚洲美女高潮喷水视频| 一本色道久久综合亚洲二区三区| 嗯嗯,好大,好爽,好骚 | 免费看美国人人爽,人人操| 激情综合婷婷| 99久久精品国产高潮| 国产 日韩 欧美高清| 国产日韩欧美操逼视频| 超碰97久久| 91老女人| 新亚洲无码| 丝袜综合网| 熟女人妻精品一区二区视频 | 人人妻人射| 日本精品一级二级三级| 久久久96| 一本色道综合久久欧美| 日韩欧美福利视频看看| 91丨豆花丨熟女| 极品欧美一区二区三区| 天天操天天干一区二区 | 婷婷五月天激情网| 欧美丰满熟妇XXXX性ppX人交| 精品国产丝袜一区二区三区乱码| 一区二区三区免费岛国片| 中文字幕五月婷婷免费| 能在线播放的国产三级| 国产成人精品日本亚洲语言| 蜜臀AV网站| 久热大香蕉| 99精品在线| 欧美另类色图片| 丁香六月综合激情| 超碰公开久久网| 久久国模av| 亚州熟妇精品| 精品美女少妇一区二区| 亚洲国产精品成人久久蜜臀| 天天狂操夜夜狂日| 久久久999| 青青免费在线视频一区| 国产女生在线| 777奇米影视777四色| 六月婷婷五月丁香| 亚洲情色1区| 99中出在线| 老熟女中文字幕高清| 四虎免费视频| 亚洲97在线| 啪啪资源网| 一区二区三区精品久久| 五月婷婷六月激情| 久草在| 怡红院亚洲怡春院av| 天天操天天舔| 一本久道在线综合视频| 色婷久久| 美欧老女人97| 亚洲丝袜诱惑| 日韩一区二区高清在线观看的| 欧亚在线视频| 青青草精玖玖69精品| 美女网站黄页| 欧美一级在线观看成人| 中文?日韩?免费?精品| 中日亚韩免费视频| 一区二区偷拍拍视频| 91撸色网 玖玖网 欧美| 亚洲色天堂九9| 成人线上超碰| 人人扣人人操| 麻豆成人av| 黄页| 啊v视频在线观看| 91熟女综合| 91n处女在线观看| 亚洲一级性爱视频免费看| 久久性视频| 国产熟女精品区| 中文字幕av亚洲精品| 操逼网站地址| 色天堂综合| 人妻精品免费一二三区| 欧美日韩成人在线| 天天射夜夜| 老外又粗又长一晚做五次| 国产超碰在线| 超碰碰小说97| 秋霞免费AV| 熟女天天干| 亚洲色图欧美| 欧州色图区| 超碰色大香蕉| 天天日天天干天天整| 中文久久96| 日韩在线欧美精品一区二区| 精品中文一区二区| 日韩 欧美 另类 人妻| 熟妇最新先锋一二三区| 97这里有精品| 你懂得91| 久热最新在线杭州| 99热99色| 97欧美色| 婷婷五月天激情网| 久热精品在线| 亚洲激情av| 日本不卡在线二区三区| 噜噜吧,噜噜色,噜噜| 99热国产| 丁香五月婷婷啪啪| 亚洲区小说| 欧美aaaaaaa| 一级黄碟| 中文字幕av乱伦| 激情婷婷黑人91| 首页中文字幕中文字幕免费| 天天操天天日青青草超碰av| 无码少妇精品一区二区60岁老人| 国产女主播视频在线观看| 国产精品999zyz| 久久久少妇诱惑精品视频| 人人操人人摸人人看人人干| 97频视在线| 人妻av在线| 91人妻熟女| 97超碰色五月| 日韩精品国产一区二区| 欧美 熟女 日韩| 嫩草影院在线观看精品 | 色吧91| 偷拍网站久久男女男| 国产成人无码啪| 男人的天堂久久狠| 色色综合网站| 国产日韩精品无码去免费专区国产| 国产五码丝袜屁眼| 中文字幕av亚洲在线| 欧美性暴力| 日韩钢筋无码高清啾啾啾| 高清国产成人无码| 欧美加勒比| av情色影音| 国产特级毛片AAAAAA高潮流水| 91高潮喷水美女| 久热99| 欧美日韩不卡a片| 久久后入制服| 91逼逼女人91| 91操碰| 91人精品妻入口| 肉丝中文无码高清| 九色 人妻 大香蕉| caoni国产亚洲av| 超碰在线人人射| 91九九九吃| 麻豆久久视频在线地址| 在线观看黄色电话| 伊人国产成人av网站| 欧美最婬乱婬爆婬牲视频| 丝袜熟女2P| 看黄片视频免费| 国产精品一区二区亚洲人成毛片| 91亚洲丝袜熟女| 自拍盗摄一区| 亚洲日本加勒比在线| 无码日韩人妻av一| 97综合| 精久久久| 性色中出| 78p欧美| 婷婷99| 日韩欧美中文| 级做a爱无码性色永久免费| 大香蕉人妻久久| 精品大全99999| 美骚妇av高清在线| 久久熟女人| 欧美1727免费观看视频| 久久久久久国产无码精品| 人人么人人操| 色五月婷婷麻豆在| 欧美专区日本专区| 26uuu久久| 99热这里只有精品18| 啊啊啊啊啊舒服| 东北操逼| 亚州欧美总和| 成人热久久精品| 亚洲青色欧美| 亚洲成人精品久久久| 国产超碰在线一区| 91人妻丝袜无码| 激情网五月天| 精品女人999| 9 9精品一区二区三区| 色啪网| 五月丁香啪啪啪| 国产无套粉嫩白浆在| 日欧操屄视频| 精品久久人妻成人网| 亚洲精品第一| 91丨九色丨熟女高潮| 欧美精品999| 久久麻豆一区二区| 亚洲另类久操网| 五月丁香六月激情综合| 国产精品久久久久久久久久久久久久久久 | 国产精品久久久久久久AV大片| 久久国产在线一区二区| 亚洲字幕一区二区| 99re公开精品免费视频| 极品极品色影院| 国产又粗又长又爽又色| 看一级黄色视频| 国产九九久久久精品| 亚洲AV乱码专区国产噜噜亚洲 | 久久久一区二区三区麻豆| 可乐操亚洲蜜911| 成人国产二区三区在线,男女精品。| 欧美一二三| 国产丝袜美女在线一区| 日va操| 大香蕉520| 超碰日本97美女人妻人人玩人人爱| 青青色综合| 亚州男人的天堂| 男人的天堂Va| 91丝袜美女视频| 国产9 9在线 | 亚洲| 最新日韩黄片| 天美精品av| 超碰1997| 青草地一本线一区二区三区| 日本熟妇浓毛hdsex| 日韩黄色一区二区三区| 熟女精品一区二区三区| 欧美久久婷婷| 碰人碰碰人人开房人肉| 96久久久久| 男女激情黄色网址| 98色网| 亚洲天天影视色综合| 又黄又硬又粗又长国产视频| 亚洲精品99999| 久久社区一区二区三区| 色色色欧美| 东京热熟女亚洲视频网站| 欧美淫乱视频| 国产成人无码a| 在线观看精品国产免费| 97超碰亚洲| 欧美日韩小说| 温婉少妇玩3p| juliaann精品熟女一区| 美女主播色欲91抠b在线播放| 老司机香蕉久久久久| 国产探花日韩援交| 青青国产精品在线| 无码九九| 五十路三级片| 国内精品999| WWW美腿丝袜香蕉中文| 日韩综合成人免费视频| 啊啊啊啊一区| 综合欧美色图| 亚欧成人综合影院| 91操人| 美女91网址| 日本1区2区不卡视频| AV天堂电影网| 国产探花精品在线| 熟妇一区二区三区| 一本色道久久综合精品婷婷| 少妇啪啪自拍| 操b网站亚洲无码| 精品视频一区二区| 97久久精品亚洲| 五月天精品| 日韩九区| 青青久久久| 操迟操逼在巾线Fre看| 久草资源在线视频官方总站日韩丝袜美腿| 97超碰超| 九九99精品| 免费男人的天堂| 国产三级电影免费观看| 美女91在线观看| 亚洲国产美女久久久久| 91女网站| 91精品人| 亚洲淫乱骚妇AV| 国产在线观看一区二区三区| 超碰午夜在线| 国语精品av| 香蕉久久国产AV一区二区| 久久精品超碰| 99自拍视频在线观看| 久久草视频污视频| 91操人| 91青青在线视频| 人人透人人操| 啊啊啊骚| 这里只有精品久久| 992大香蕉| 亚洲夜色在线| 美女诱惑一区| 国产精品一区二区在钱播放| 呦呦影院| 日韩精品99久久久久久中文字幕 | 中文字幕成人理论在线| 日韩大香蕉精品在线视频| 人人操人人摸人| 夜夜做夜夜爽精品视频| 激情网五月天| 久操97| 欧美最婬乱婬爆婬性视频| 午夜男女爽爽大片免费观看| 成人色女网| 国产成人精品日本视频| 97视频新免费| 天天爽爽爽爽| 国产精品又黄又猛又粗| 久久国语| 在线性黄高清免费视频| 青青草中出视频 | 无码九九九九| 青青11操操操操操操操操| 伊人天天久久动态图| 久久久久久久久久久97| 欧美呦呦性爱| 亚洲蜜臀视频精品久久| 日本免费中文一区二区三区四区| 超清中文乱码字幕| 日韩精品大香蕉伊人在线| 国产懂色精品国产av| 熟女人妻精品一区二区视频 | WWW.加勒比人妻一区不卡.com| 高潮的A片激情扒开一区| 欧美少妇高潮视频| 99国产精品人妻人伦| 国产www色在线观看| 麻豆一区二区AV天美| 久久鲁夜| a在线观看| 99国产在线 精品 视频| 99这里只有精品| 日韩免费人妻色情网站| 欧美天天干| 成人性交午夜免费片| 蘋果手機免費看成人Av| 婷婷五月花| 日韩成人性爱AV| 激情小说亚洲| 密臀在线视频| 91国产大片| 一本一道人妻久久一区二区三区 | 中文字幕高清20页视频| 人妻系列无码专区中文有码| 久9精品| 超碰99热中文字幕| 色噜噜综合在线| 操逼啊啊啊91| 黄视频免费| 中文字幕乱妇免费视频| 天天射夜夜| 国产黄a三级三级三级av在线看| 曰韩成人免费视频| 国产无马在线| 美女诱惑一区| av橘色网站| 日日日色色色色色| 屌妞视频久久久久久久| 日韩AV中文字幕电影| 国产亚洲综合欧美一区| 欧美日韩香蕉| 日日操免费视频| 人妻丝袜日本| 骚货 中文字幕 av| 限制级中的三级片中的黑粗大屌屌日人妻熟女| 欧美精品丝袜久久久中文字幕| 天天色播| 天天日天天色| 高清无码国产亚洲| 动漫爆乳3D奶水一区在线观看| 蜜乳AV.COM| 国产精品嫩草影院午夜两性| 久久久久久九| 亚洲资源一区| 福利天天都操| 一本色道久久综合狠狠操| 97国产色图 | 久久久人妻| 91热| 91精品老女人| 国产99热| 一级毛片电影免费看| 熟女熟妇一区二区三四区| 天堂性色| 精品久9| 精品亚洲| 国产高清成人免费视频| 东京热男人的天堂| 久久久人妻| 人妻性爱一区二区| 天天射天天操天天干天天吃2018| 国产强奸AV在线| 激情小说日韩无码| 国产aⅴ无码片毛片一级网站| 国产精品亚洲无码| 女人双腿搬开让男人桶| 亚洲精品人妻吞精av| 97操碰| 超91综合网| 五月天伊人| 91真人天天在线| 精品少妇一区二区| 加勒比99999| 夜夜草天天| 无遮挡一级毛片视频免费的| 人妻日日干| 国产精品三级视频网站| 91蜜臀在线久久久久| 91N五十路| 99国内熟女露脸视频| 综合情欲网| 91欧美大片| 精品国产91内射久久| 国人欧美精品一区二区| 国产亚洲99久久精品| 超碰午夜在线| 人妻熟妇久草在线| 超碰97中文| 日本一区二区三区免费观看| 欧美三级中文字幕hd| 成人短视频在线观看| 99天天超碰| 丰满人妻一区| 国产精品免费久久久久久久久久| 一个色导综合| 亚洲综合婷婷| 国产精品久久9| 人妻精品一区一区三区蜜桃91| AV男人天堂网| 无码一区免费在线不卡| 成人无遮挡毛片免费看| 激情五月天网| 日日操天天操| 天天躁狠狠躁av| 思思热在线视频在线| 成人免费福利在线观看| 一个人在线看的黄色电影网站| 天天干天天日天天射黄色片| 国产精品久久久久久久久久久久久久吹 | 日日骚中文字幕| 中日韩熟女| 国产日本熟女顶级一区二区三区视频| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 人妻熟女午夜精品在线| 激情黄色五月天| 97香蕉网| 密桃99999| 97视频新免费| 中文字幕一区二区免费在线| 99精品网| 蜜臀久久99精品久久久久电影| 极品销魂美女一区二区| 久久精品小视频| 久草精品一区| 人妻啪| 欧美另类色图片| 亚欧洲一区二区视频| 酒色综合网| WWW啪啪的com| 少妇毛片久久| 久久精品国产亚洲5555| 日本中文字幕在线视频| 啊啊啊啊啊啊啊在线| 极品销魂美女一区二区| 嗯嗯,啊啊,国产精品| 欧美日韩小说| 超碰av在线| 久久精品一区二区三区蜜桃臀| 乱伦av.com| 青青草久久一区网| 美女诱惑久久| 3571色综合一区二区二区| 日韩在线观看AV| 无码国产精品午夜不卡(| 国产精品丝袜久久亚洲不卡| 交换娇妻呻吟声不停中文字幕| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 特污精品女优骚货黄色视频在线免费观看| 日韩精品中文字幕一| 99热日| 91社操逼| 新视频sss国产| 欧美不卡二区| 美女黑人91神马| 无码国产精品久久久久| av72网| 久久肏大逼| 欧美线天码中字| 五月丁香六月激情| 天美精品原创av片国产| 97视频网站在线观看| 国产黄色剧情影片麻豆免费播放| 亚洲精品久久久久久久久豆丁网| 精品国产Av无码久久久伦古装| 精品精品精品| 级做a爱无码性色永久免费| 人妻激情偷乱视频一区二区三区 | 激情五月综合| 亚洲福利影院一区久久| 欧美性爱另类综合| 久久超碰网| 一本大道综合伊人精品热热| 无码免费在线观看黄色片| 久久九操在线观看| 久久久久久国产精品免费网站 | 欧美日韩大黄片| 性九九九九九九| 密桃99999| 中文字幕熟女人妻丝袜| 粉嫩AV一区夜夜嗨| 欧美操逼熟女| 国产中文字幕曰本毛片| 9九九国产| 按摩中文字幕| 东北丰满熟女国产一区| 欧美综合网1| 狠狠干综合| 91一区二区三区蜜桃| 大屁股熟女一区二区三区| 多毛小伙内射老太婆| 久操免费观看| 亚洲男人天堂2013| 日韩乱插| 久久精品国内Av熟女高清| 性交一区二区在线播放| 夜夜嗨一区二区| 91久久久亚洲| 欧美亚洲韩国视频十五区| 亚洲情色五月天| 一线黄色免费性爱片| 97久久国产| 亚洲一区二区 麻豆传媒| 狠狠综合网| 国产操偷| 男人天堂网站| 香蕉国产97| 少妇毛片久久| 天天射影院| 96久久精品一二三区色欲| 97超碰香蕉| 亚洲交换| 天天亚洲综合| 丁香五月色| 五月综合婷婷久久网站| 亚洲97综| 欧美天堂在线| 久久m| 第二页中文字幕| 95人妻爽爽人人做人人澡| 超碰国产精品久| 99亚洲国产精品色一区二区三区| 色香综合天天影视综合 | 日韩国产在线观看av| 国产区日韩区在线观看| 97欧美色资源| 伊人影院在线理论播放| 蜜桃臀av在线观看| AV不卡在线| 午夜乱轮操逼视频免费看| 91熟女视频网| 超碰精品人妻狠狠干| 久久99草| 蜜臀AV一区二区三区激情综合| 日韩欧美视频青青| 97在线视频观看| 美女一区二区国产精品| 日本丝袜人妻内射| 亚洲 小说 欧美 激情 另类| 久久久久久97| 亚州综合网| 97久久久久| 久久一区二区蜜桃| 亚洲脚交| 超碰色美女| 国产精品日日摸天天碰| 国产免费一区| AV色五月| 97色欧洲| 欧美色图小说综合| 丁香7月婷婷| 亚洲性少妇| 色天使AV天堂| 精品女同一区二区三区| 久久一本大香蕉 | 二男一女成人A片| 日韩av电影成人在线| 国产成年女人免费视频播放a| 在线播放一级无码视频| 国产无马在线| 在线看污网站|