免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

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ī)方向開發(fā)者。系統(tǒng)針對(duì)文本-圖像配對(duì)數(shù)據(jù)設(shè)計(jì)完成積極、中性、消極三分類任務(wù)文本模塊基于預(yù)訓(xùn)練BERT提取語(yǔ)義向量圖像模塊使用輕量神經(jīng)網(wǎng)絡(luò)抽取視覺特征并將兩類特征融合后送入分類器工程內(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ù)列表、依賴清單、模型目錄及說明文檔整體僅325KB便于快速下載部署。項(xiàng)目結(jié)構(gòu)清晰集中管理參數(shù)并支持命令行靈活調(diào)整訓(xùn)練與測(cè)試設(shè)置。目前已有86人學(xué)習(xí)下載適合入門多模態(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)輸出積極、消極、中性這類標(biāo)簽。PyTorch 是這個(gè)方向最常見的落地框架動(dòng)態(tài)計(jì)算圖讓三個(gè)分支各自 forward 后再合并的處理接近直覺torchaudio、transformers、torchvision 三個(gè)生態(tài)庫(kù)正好覆蓋音頻、語(yǔ)言和圖像三路數(shù)據(jù)。系統(tǒng)要解決的是純文本模型在諷刺、矛盾表達(dá)上翻車的問題——嘴上說“挺好的”但語(yǔ)氣低落、畫面灰暗時(shí)單模態(tài)模型很容易判錯(cuò)多模態(tài)系統(tǒng)靠融合信息拿準(zhǔn)。它適合做輿情監(jiān)測(cè)、客服質(zhì)檢、視頻人物情感分析這類任務(wù)。如果你手里已有多模態(tài)標(biāo)注數(shù)據(jù)這套源碼整理出來的工程方案可以直接作為第二版基線上線。2. 多模態(tài)特征提取與 PyTorch 數(shù)據(jù)管線的三個(gè)分支怎么選2.1 文本分支BERT 還是詞向量中文場(chǎng)景怎么選文本是所有模態(tài)里最容易出信號(hào)的一路工程上建議直接用預(yù)訓(xùn)練編碼器而不是從零訓(xùn)練詞向量。常見做法是加載bert-base-chinese輸入用AutoTokenizer做截?cái)嗪?padding輸出取[CLS]向量作為整句話的語(yǔ)義表示。詞向量加 BiLSTM 的方案只有在推理機(jī)器非常老舊、不能帶 transformer 時(shí)才值得考慮否則它在遇到一個(gè)詞被同音字寫錯(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í)只放開第 11 層和 pooler顯存能省接近一半等數(shù)據(jù)量上來了再打開全部層微調(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)音頻分支常見有兩種輸入。一是直接把波形點(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)度問題在第 4 章會(huì)重點(diǎn)講這里先記住一個(gè)原則音頻尾部往往是情緒落點(diǎn)pad 時(shí)寧可截頭部也不要截尾部反過來對(duì)視頻抽幀情緒高峰多在中后段所以要均勻抽幀而不是只取開頭。2.3 視頻分支直接用預(yù)提取特征別在訓(xùn)練時(shí)跑整份視頻視頻分支最常見的翻車點(diǎn)是直接把 ResNet 甚至 3D CNN 放進(jìn)模型去抽幀16G 顯存在 batch_size 8 下就會(huì)告急。工程上更常見的是離線階段先抽幀用預(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 常見為 512來自 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ù)集上容易過擬合。更穩(wěn)的是 late fusion每個(gè)模態(tài)先各自過一個(gè)分類頭得到 logits最后對(duì) logits 加權(quán)求和。梯度更新穩(wěn)定但模態(tài)之間沒有交互遇到“文本說開心、音頻卻很低沉”這類矛盾表達(dá)學(xué)不到聯(lián)合判斷。多模態(tài)融合論文里出現(xiàn)頻率最高、落地也最實(shí)用的還是跨模態(tài)注意力。常見做法以文本[CLS]作為 query視頻特征作為 key/value 進(jìn)入nn.MultiheadAttention讓文本去挑選和它語(yǔ)義相關(guān)的視頻信息再把注意力輸出和音頻特征拼接起來。這個(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)證集上差距通常不超過兩三個(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)來。以下是我常用的一套結(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)讀寫時(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è)常見選擇是離線把所有音頻統(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ù)量過萬(wàn)段再做離線緩存。3.2 模型結(jié)構(gòu)三個(gè)編碼分支加一個(gè)融合分類頭模型側(cè)的關(guān)鍵不是把 BERT、CNN、線性投影簡(jiǎn)單堆起來而是給每個(gè)分支都留一個(gè)分類頭讓單模態(tài)也能輸出 logits。這樣訓(xùn)練時(shí)可以同時(shí)監(jiān)督模態(tài)分支避免某個(gè)分支變成看不見的黑匣子。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(): # 初期只放開最后兩層和 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è)分類頭 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)能打好基線我沒有在初版里加幀級(jí)時(shí)序建模。凍結(jié)參數(shù)的邏輯要看清named_parameters()里的encoder.layer.11會(huì)同時(shí)命中第 11 層的子參數(shù)pooler是 BERT 的池化層習(xí)慣上和第 11 層一起放開。初期這樣為了省顯存跑通后建議逐步解凍全部層重新訓(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)來這就是多模態(tài)項(xiàng)目里常說的 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 明顯不降說明該分支特征質(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é)得慢常見做法是給音頻 CNN 和視頻投影單獨(dú)開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í)寫清楚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è)常見報(bào)錯(cuò)與排查順序4.1 現(xiàn)象DataLoader 在 batch 階段報(bào) shape 不一致的 RuntimeError常見于換了一批數(shù)據(jù)后某條樣本音頻較長(zhǎng)mel 計(jì)算出來超過max_mel_frames但__getitem__里沒有走截?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把形狀異常的樣本直接過濾掉。這比在訓(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)證代碼沒有包在torch.no_grad()里。model.eval()只改了 dropout 和 BN 行為沒有關(guān)梯度驗(yàn)證一樣保留計(jì)算圖。另外驗(yàn)證集 DataLoader 仍shuffleTruebatch_size 又和訓(xùn)練一致峰值顯存自然更高。解決驗(yàn)證循環(huán)統(tǒng)一寫成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è)常見原因是輔助 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)模型最忌諱一上來三個(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)境里。常見流程是先pip install torch裝了 CPU 版后面又用 conda 混裝同一環(huán)境出現(xiàn)多個(gè) torch。原因PyTorch 的 CUDA 支持是通過預(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)容常見是Missing key(s): bert.embeddings.word_embeddings.weight或者Unexpected key(s): module.classifier.0.weight。原因訓(xùn)練時(shí)用了nn.DataParallel或 DDP 包裝過模型保存的權(quán)重帶module.前綴加載的模型是裸模型鍵名對(duì)不上。另一類是保存時(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ú)寫一份 json 存起來。多個(gè)實(shí)驗(yàn)之間靠文件名猜配置是后期最耗時(shí)間的事。5. 模型驗(yàn)證與上線前的最后一課用注意力權(quán)重給預(yù)測(cè)上“后悔藥”5.1 先看分類報(bào)告別只看準(zhǔn)確率多模態(tài)情感數(shù)據(jù)大多數(shù)不平衡中文評(píng)論尤其明顯中性樣本可能占五成正負(fù)樣本各兩成。驗(yàn)證階段直接打印分類報(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è)類別 recall 明顯低不要急著調(diào)閾值先看這一類樣本是否集中在長(zhǎng)句、音頻帶噪或視頻抽幀不均這幾類原因上。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%說明視頻或音頻特征確實(shí)在個(gè)別樣本上拖后腿值得繼續(xù)優(yōu)化如果超過 10%說明融合頭本身沒訓(xùn)好要回去重調(diào)損失權(quán)重而不是依賴這條兜底邏輯。5.3 上線前的部署檢查固定輸入長(zhǎng)度再導(dǎo) ONNX本地驗(yàn)證通過后如果目標(biāo)是 CPU 服務(wù)推薦把模型導(dǎo)出成 ONNX 再用 ONNX Runtime 推理。導(dǎo)出前有三個(gè)準(zhǔn)備工作模型置 eval、輸入張量全部固定形狀、文本分支換掉。BERT 是推理耗時(shí)的大頭把bert-base-chinese換成 DistilBERT 中文版本整個(gè)模型推理時(shí)間能壓到原來的三分之一。ONNX 導(dǎo)出要求輸入動(dòng)態(tài)軸盡量少否則引擎會(huì)頻繁使用動(dòng)態(tài) shape速度反而更差。最后說一個(gè)我踩過好幾輪的教訓(xùn)。多模態(tài)模型的變量實(shí)在太多三個(gè)分支要不要分開設(shè)學(xué)習(xí)率、損失權(quán)重怎么配、checkpoint 存的是哪個(gè) epoch、凍結(jié)了哪幾層。不寫配置文件的實(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
返回資訊列表
婷婷激情四射| 久久精品视频在这里有| 九色在线观看91av| 69热91天堂| 看久久性爱99视频| 91热er| 激情婷婷五月综合| 人人人操 超碰| 综合伊人久久| 婷婷欧美| 九九热99热| 丁香五月婷婷亚洲色图| 五月丁香婷婷视频| 狠狠狠狠狠狠狠狠草| 99久久.www| 五月综合激情婷婷六月色窝| AV九九| 激情综合网激情五月欧美| 六月婷婷综合激情| 久久免费试看120秒| www.色99| 夫妇交换刺激做爰| 欧美成人AAA片一区国产精品| 亚洲九九视频| 开心激情播播五月天| 婷婷五月天在线看| 伊人久久艹| 欧美123区免| 亚洲人妻av| 性热视频99精品| 色五月五月天| 五月综合婷婷久久在线| 五月天激情婷婷丁香| 97色片| 亚洲成人无码免费| 婷婷干六月综合旧址| 天天做天天爽| 青青草国产亚洲精品久久| 亲子乱AV一区二区三区下载| 99热九九热| 97影院一级片| 丁香五月手机在线| 啪啪91| 欧美人人女女精品综合五月天| 久久婷婷五月综合色区| 91碰碰碰久久久久| 色噜噜五月丁香婷婷| 97大香蕉五月天| 少妇高潮呻吟A片免费看软件| 999热在线视频| 伊人色综合久久久| 九九伊人网| 激情五月天色网站| 中字幕视频在线永久在线观看免费| 婷婷丁香久久| 精品一二三区久久AAA片| 可以看的AV| 五月丁香六月激情欧美综合| 性无码专区无码| www99热| 国产精品18久久久| 中文字幕av久久爽| 色色色婷婷五月| 免费亚洲婷婷中文字幕| 五月 丁香 欧美| 啪啪啪五月天| 久久玖玖综合| 91一起操| 亚洲视频1区| 久久婷婷桃花五月天| 一起操 91N.com| 97婷婷在线| 午夜爱插插| 日本综合久久| 国产精品国产VA片国产| 大香蕉久久久| 日木WWW视频| 久久综合图片| 7月婷婷六月丁香| 色播五月婷婷综合| 激情五月天综合婷婷网| 午夜一区| 玖玖婷婷色五月| 五月丁香999| 婷婷丁香69精华| 色五月婷婷激情五月| 国产婷婷五月天| 天天做天天爽| 五月婷婷六月激情| 欧美va精品va老师va| 新激情五月开心五月婷婷五月丁香五月| 综合色色色色色色| 国产特级毛片AAAAAAA高清| 激情人妻蜜夜系列区| 色婷婷综合在线| 久久丁香| 欧美色色色色色色色色色色| 在线观看视频1区| 99综合熟女| 九九精品在线视频观看| 国产美女视频久| 玖玖婷婷五月天| 波多野结衣成人作品在线| 9l视频自拍9l视频自拍九色学生| 午夜国产精品AV在线播放| 99狠狠色| 欧美婷婷综合网| 精热在线综合网| 五月丁香欧美综合| yazhoujiqingav| 五月婷婷啪啪网| 精品久久久久久久人妻| 国产毛片精品一区二区色欲黄A片| 午夜AV网| 精品三区影院| 免费超碰在线观看| 成人综合AV| 天天色天天操天天射| 人人爽亚洲| 国产67194| 五月天色色色网| 五月丁香六月婷综合成人综合| 亚洲九九99精品视频在线播放| 亚洲AV人人操| 伊人婷婷综合| 99热日| 在线观看免费观看在线9久| WWW·色色色·COM| 日日干天天爽| 婷婷丁香精品视频在线观看| 五月丁香伊人网| www九九热| 操久久网| 99热6这里只有精品| 色播五月丁香综合| 婷婷综合在线| 婷婷久久图片| 色五月婷婷操逼| 99热综合在线观看| 色五狠狠| 九色1区视频在线| 狠狠色情婷婷| 色综合色香蕉网| 婷婷五月天激情偷拍| 亚洲超碰在线| 丁香五月综合高清在线| 久久九色| 色婷婷色久综| 丝袜熟女一区二区三区| 婷婷六月丁| 99色在线观看视频者| 可以直接看的av网站| 久久久婷| 色天天综合成人网| 色色日本欧美| 99热.com| 亚洲五月丁| 国精产品一区一区三区免费视频| www 五月天 com| 成人无码精品1区2区3区免费看| 成人五月天在线观看| 97久久人人| 久久在这里99| 乱岳熟女50岁| 啪啪六月婷婷| 亚洲精品亚洲人成人网| 99热精品在线| 亚洲色在线观看| 超级碰 久久9| 91久久1118| 香蕉久久国产AV一区二区| 99热在线观看| 色综合色色色色色| 日韩亚洲视频| 九色视频九色九色91jiuseshipin| 亚洲人妻一区二区 | 伊人狠狠丁香婷婷综合尤物| 色丁香五月婷婷| 九九激情网| 国产精自产拍久久久久久蜜| 亚洲成人婷婷| 天天草人人摸| 色天堂操| 国产午夜精品一区二区三区四区| 五月天桃色深爱网| 亚洲激情高潮| 五月婷六月| 99爱视频在线观看| 五月天涩涩| 任你操精品免费| 久久久com| 色五月亚洲五月天| 色婷婷久久天天性爱| 成人在线99| 色色色色色色色色色999| 国产色香蕉精品五夜婷| 九九色影院| 色婷婷五月天在线| 第四色激情网| 综合九九久久| 精品9197碰| 丁香六月婷婷综合| 热99久久这里只有精品| 久久伊人大香蕉| 日韩青青| 五月激情综合网| 99热这里只要精品免费| 天天色伊人| 丁香久月婷| 天天做天天爱| 超碰免费在线| 久草视频一,二三四| 99热这里只有精品在线免费| 婷婷五月激情图片| 九九色院| 色情五月| 天堂网亚洲色图| 99热在这里只有精品| 久8色色| 色五月综合在线| 色婷婷伊人激情在线观看| 亚洲婷婷丁香| 免费观看大片视频 丁香婷婷 六月欧美| 狠狠爱综合网| 丁香五月天堂| 激情综合网五月天| 亚洲这里只有精品| 另类专区在线| PORNY九色9l自拍视频成人| 色婷婷丁香五月丁香| 久热91精品| 丁香婷婷老司机久操| 丁香五月婷婷色| 色狠狠综合网| 亚洲婷婷91丁香| 五月婷婷影| 婷婷五月久久| 五月精品免费XXX| 永久的网站AAAA | 日韩黄色电影| 婷婷五月电影| 色狠狠综合| 丁香五月婷婷偷拍| 欧美在线看| 婷婷丁香成人五月天| 婷婷五月综合社区在线| 超碰永久在线| 亚洲免费观看高清完整版AV线| 热久免费视频9| 久久精品99国产精品日本| 激情综合五月| 国产这里只有精品| 欧美日本韩国亚洲| www.韩日视频| av第一二区| 狠狠综合久久综合| 99久精品视频| 看婷婷五月天网| 97香蕉碰碰人妻国产欧美| 超碰精品国产首页| 97色婷婷成人综合在线观看| 久久久久婷婷五月热综合| 人妻操逼视频。| 日本色婷婷| 91操人视频| 久久人妻久久久久| 九九久久五月天综合伊人| 国产精品久久久60086| 天天成人丁香美女AV| sewuyuejiqingwang| 国产性色蜜乳| 婷婷五月色情| 色5月婷婷| 双性美人被调教到喷水A片| 国产日韩欧美| 国产精品男人AV不卡| 欧美性生交XXXXX无码小说| 超碰v| 99热色精品| 深爱激情五月天| 精品人妻伦一二三区久久| 亚洲精品大片| 丁香五月花影院| 一级片操逼视频| 国产精产国品一二三在观看| 国产免费av网站| 91高潮喷水久久久久久久久| Av大香蕉| 五月婷丁香亚洲| 66精品成人免费网站在线观看| 丁香五月色五月婷婷宗合| 激情九九这里只有精品| 思思色综合网站| 久久久久人妻网址| 国产亚洲色婷婷久久99精品91| 五月天成人小说| 色播综合| 婷婷最新地址| 婷婷色婷婷亚洲成人| 干婷婷五月天| 五月天淫乱视频| 五月丁香色| 亚洲天天操| 99这里都是精品| 中文字幕av久久爽| 26uuu青青| 乱女乱妇熟女熟妇综合网站| 久久人妻伦理| 五月天色不卡| 婷婷五月天亚洲综合| 久久黄A片| 欧美激情五月天在线观看| 色色色色色色色色色999| 色五月婷婷亚洲| 精品久久99| 精品一二三区久久AAA片| 韩国中文字幕91| www.久9| 久久丁香婷婷五月天| 婷婷成人丁香色情基地30 | 色五月婷婷影院| 秋霞A V毛片| 国产精品A成V人在线播放| 亚洲综合视频八| 99精品国产热久久91色欲| 欧美婷| 激情床戏| 久色激情| 这里只有精品免费观看网占| 另类小说色婷婷| 日噜噜色| 日日夜夜青青草| 99久久久久| 婷婷影视久久| 成人五月天色天堂| 日本综合久久| 欧美婷婷综合网| www.操逼comm| 色婷婷综合视频| 国产综合丁香五月天| 97色色色色色色色| 97碰碰视频在线观看免费| www.久久色.com| 特级西西4444www无码| 亚洲精品久久久久久久久久吃药| 九九99久久| 婷婷五月草| 99久久婷婷国产综合精品| www.五月天色色.com| 久久这里只有欧美| 色呦精品| 2023天天日夜夜爽| 97在线精品视频| 婷婷欧美激情| xxx.色婷婷| 免费无码毛片一区二区A片| 五月婷婷色影院| 国产精品色一哟哟| 第四色色六月色综合| 成人欧美一区二区三区在线观看| 激情五月久久| 九九视频免费| 五月天激情综合| 亚洲综合激情五月久久| 操人无码| 久久精彩免费视频精彩免费视频| 精品久久99| 综合久久影院| 激情亚洲网| 日本啪啪天堂| 五月在线| 很很干在线视频| 五月天激情色色| 操操操操操电影网| 国产一级黄色影片,| 精品一区二区三区木瓜| 久久久久9久无码视频| 五月丁香六月综合激情无码软件亮点| 人人操操97| 久色资源网| 99热在线播放精品| 久草热在线视频| 99综合自拍| 亚洲网视屏| 五月婷精品| 久综合网| 欧美丁香六月激情视频| 五月婷婷六月丁香首页| 综合色情网| 天天看A片| 五月婷婷久久综合| 另类激情五月| 色玖玖综合网| 免费视频WWW在线观看网站| 99久久国产宗和精品1上映| 激情网五月| 激情文学久久| tingtingseav| 欧美 日韩 成人在线| 激情五月婷婷综合| 专区无日本视频高清8| 中文乱子伦视频| 国产综合81p| 欧美婷婷日本| 五月婷婷婷婷婷婷艺术| 激情国产综合| 熟女人妻视频| 日本女人久久| xxx日本东京热| 狠狠综合区| www久久99| 六月婷婷狠狠做| 综合久久六月| 婷婷久久综合| 26uuu精品一区二区| 亚洲人妻av| 激情涩播| 九九视频在线观看| 26uuu亚洲| 欧美精品999| 九月丁香八月婷婷加勒比| 亚洲另类日本| 五月天自拍网| 大香蕉网站,大香蕉综合| 综合久久9| 色性日本| 婷婷成人网五月天| 婷婷综合九月| 中文字幕一色哟哟哟哟| 五月婷婷丁香| 欧美综合123区| 丁香五月网| 国产avapp 网| 91日本在线免费| 天堂成人A片永久免费网站| 五月色影院| 国产伊人五月天| 日韩无码乱轮| 欧美日本高清视频99| 天天做天天爱| 久九色| 五月丁香婷中文字幕| www.婷婷,com| 久久一品区| 国产精产国品一二三在观看| 久99| 五月天婷婷操逼视频| 伊人AV五月婷| 99爱免费视频在线观看| 日本va网站| 婷婷九月激情| 1024婷婷综合久久五月天| 中文字幕高清av| 欧美成人精品A片免费一区99| 激情五月色婷婷| 五月色欧洲| 九九蜜臀精品| 丁香六月婷月91婷月| 五月婷免费视频| 五月婷婷香蕉| 亚洲欧洲另类图片| 91九色超碰| 无码人妻少妇色欲AV一区二区| 香蕉婷婷色五月| 天天综合网网欲色| 午夜丁香综合婷婷| 欧美日韩精品一区二区三区钱| 亚洲V国产V欧美V久久久久久| 九九亚洲视频| 婷婷五月天激情综合| 天天五月天综合网址| xfplayav在线| 99热只有这里才是精品| 婷婷五月伦理| 色偷偷五月天| 日本色视| 久re热视频| 亚洲天堂aaaa| 婷婷五月色情天| 五月天色图| 五月丁香六月婷综合成人综合 | 色综合av超碰| 色婷婷五月天av在线| 99在线精品免费视频| 大地9中文在线观看免费高清| 婷婷综合激情| 韩日另类| 综合激情五月婷婷| 另类激情五月| 日韩一区二区在线播放| 噜噜噜噜在线| 国产精品国产| 色99在线| 99热综合在线观看| 日韩av网站在线观看| 欧美丁香五月97色| 99热欧| 思思w99| 婷婷五月丁香伊人| 五月天婷婷色色| 五月丁香啪啪啪啪| 欧美色图天堂网| 人妻狠狠操| 婷婷伊人激情婷婷| 国产高潮白浆一区二区| 91丁香五月| 国产99久久久| 日日噜狠狠色综合久久| 天天爱天天吃狠天天透| 久久怡红院| 久久国产成人9999久久久久| 激情婷婷九月| 很很操96| 九九99香蕉在线视频播放| 中文字幕AV在线| 激情六月天| 99操不停| 开心五月丁香综合久久| 久久免费精彩视频| 99网| 婷婷天堂视频| 美女美女美女三级色天天天天天| 99热在线精品播放| 九月激情婷婷丁香| 色情综合| 天天综合色丁香| 91操人| 色婷婷色和| 亚洲综合99| 79色色色色| 天天插综合| 婷婷综合仓库中文| 人妻人人操| 狠狠狠狠狠狠狠狠| 国产高潮A片羞羞视频涩涩| 丁香婷婷婷婷十二月在线观看视频| 99人人干| 激情四射网| 色图亚洲91| 久婷婷| 婷婷五月天综合小说网| 亚洲精品久久久无码| 99丁香五月婷| 99色最新在线视频网站| 五月综合激情网| 婷婷色五月激情强奸四射| 色婷婷狠狠色| 欧美在线视频99| 欧美日韩国产一区| 超碰猛烈的性猛交| 色射7856五月天激情四射| 色六月天天激情综合网| 久久五月综合| 婷婷久久五月丁香| 五月天色站| 99色视频在线观看| 色噜噜婷婷| 97亚洲色 torrent magnet| 天天干,天天日| 欧美三级韩国三级日本三斤| 玖玖资源部在线播放| 五月天色婷婷综合| 久久曰曰| 网色99| 9久9久| 国产无套精品一区二区| 久久探花91swag| 五月天综合区| www.99色在线| 五月丁香六月婷婷的女人| 国产做A爰片毛片A片美国| www.超碰在线| 99热亚洲| 五月婷婷这里都是精品| 99ER热精品视频| 五五月丁香花激情综合网| 天天干,天天日| 日本人妻A片成人免费看片| 五月综合色| 色五月婷婷1| 五月天六月色| 成人在线综合| 五月天啪啪视频| 无码se| 99精品在这里| 婷丁香久综合| 精品一区二区三区免费毛片爱| 6080av| 91男女视频在线观看| 桃色激情婷婷伊人网| 青青草婷婷五月天| 丁香五月电影| 伊久久婷婷| 91精品久久久久| 狠狠色五月激情| 国产日韩欧美| 丁香激情婷婷网| 国产亚洲精品久久久久久郑州| 99热这里只有精品13| 激情都市另类| 五月天六月婷婷| 亚洲最大在线| 婷婷永久在线| 人人色AV| 玖色色综合| 婷婷丁香五月天操逼| 五月天亚洲综合网| 思思热天天看| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 色播五月丁香| 久久久精品人妻录| 国产激情久久久| 无码激情AAAAA片-区区| 五月丁香黄色视频| 97热视频| 9色小视频在线观看| 婷婷五月天视频| 亚洲超碰在线| 丁香五月手机视频| 俺去也五月天婷婷| wwwwww.色| 色综合视频| 少妇人妻偷人精品无码视频新浪| 色五月天成人| 色就是色婷婷五月亚洲激情| 欧美成人精品A片免费一区99| 婷婷五月影院| 欧美va| 97碰免费精采视频| 婷婷字幕在线| 99精在线| 99精品视频网| 久久婷婷五月草视频| 久久久性爱网| 夜色五月天| 久久久久9| 99热这里全是精品| 99这里只有精品国产| 韩国97天堂| 午夜天堂一区人妻| www.精品99| 玖玖资源天天无码| 99爱视频精品在线观看| 九热久| 97午夜一区二区| 99精品亚洲| 丁香色婷婷| 久久五月婷天天干| 亚洲综合激情五月天婷婷| 国产亚洲色婷婷久久99精品9j| 91久久久久久久| 五月婷婷色色色| 久久久久视剧HD| 99re在线观看| 网站免费一站二站| 久热黄色| 丁香婷婷月| 色婷婷社区| 色婷婷丁香五月丁香| 色婷婷综合久久久久| 欧在线一区| 九九热9| 极品人妻VIDEOSSS人妻| 日日色综合| AV大香蕉| 九九热超碰| 五月天婷婷丁香导航| 亚洲欧美999| 丁香五月婷婷俺也要去| 九九亚洲小视频| renrencaoni| 婷婷5月天av| 激情五月天综合网站网站网站| 99日精品视频| 国产免费AV网站| 婷婷五月综激情| 丁香久月婷| 久久色天堂| www99在线观看视频| 激情五月天情色| 99热九九九九| 激情久久月| 草榴成人影片| 色吧网综合| 五月婷婷色色网址| 婷婷六月综合基地| 性高潮久久久久久-九九九九九九九九九九热-成人AV | 9久国产精品| 丁香婷婷久久 | 五月丁香狠狠| 天堂草在线观看| 婷婷综合视频| 婷婷五月天在线观看| 丁香五月伊人| 久久99热久久99精品| 欧洲色色| AV中文在线| 婷婷成人五月天| 婷婷激情五月天亚洲综合| 亚洲丁香五月综合| 五月天激情小说电影| 色人妻五月| 狠狠操狠狠操AV| 天天综合色| 五月天com| 538在线精品| 成人婷婷色综合| 五月丁香最新| 亚洲精品成人| 五月丁香在线精品| 97操碰在线视频| 婷婷丁香五月亚洲| 香蕉97碰碰碰欧美| 久大香蕉| 激情婷婷综合| 天天干天天色综合| 五月天激情婷婷| www.97视频| 碰碰人人人| 五月丁香久久呀| 五月婷婷综合热| 九九在线这里只有精品视频 | 国产激情久久| 激情电影五月婷婷| 久久色婷婷| 亚洲综合五月天综合| 人人干99| 老妇六区| 97干免费视频| 五月婷婷色激情| 婷婷五月情| 日日影院 | 97色婷婷成人综合在线观看| 色青青视频| 91九色中文| 天天干在线播放| 五月激情啪啪啪| 激情五月丁香激情综合网| 91视频一起草| 五月婷婷 婷婷五月 一区二区 久久久| 超碰国产在线观看| 国模淫穴色图| 激情五月天影院| 91热在线观看视频| 能看的av片| 超碰9| 丁香六月天婷婷色| 色五月av伊人| 91久久99久久91熟女精品| 99热xx| 欧洲日韩一区二区三区| 超碰女人天堂| 激情婷| 99日韩网站| 激情丁香五月天| 亚洲第一av| 情婷婷五月天| 极品人妻VIDEOSSS人妻| 日本人妻A片成人免费看片| 99re这里只有精品视频了| 婷婷五月在线观看| 操日视频| 91午夜激情| 欧美亚洲色色色色| 午夜性爱影视一区77| 99久久综合网| 99九九视频| 五月丁香影院| 久久久久久18| 色五月成人网| 六六久久黄色| 乱抡小BB| 国产成人片| 欧美婷婷六月丁香综合色连续高潮抽搐| 五月丁香综合| 日本三级毛片| 亚洲综合1024| 182TV大香蕉| 色99热| 99色在线观看视频| 五月天综合久久| 天堂爱啪啪| 99热这里有精品| 四季日韩AV无码综合| 五月丁香婷婷激情视频| 996re热精品视频| 就爱射中文字幕资源网| 九九色情网五月天| 婷婷性色| 日本色色影片| 五月丁香婷婷三级| 91在线人| 丁香五月影院| 日本一级特黄大片AAAAA级| 开心网五月色婷婷| 欧美日韩成人免费在线| 女同激情久久av久久| 日韩人妻在线观看| 丁香六月激情| 99在线爽| 丰满少妇乱A片无码| 五月丁香欧美在线| 五月婷婷 自拍| 狠狠干综合网| 日韩黄色电影| 深夜男女福利刺激影院一区完整| 婷婷综合另类小说| 国产精自产拍久久久久久蜜| 天天日夜夜夜操操操操| 热婷婷av| 亚洲视频五区| 欧美一级色| 午夜少妇在线观看视频| 最新五月天婷婷影| 久久99看免费| 另类激情中文| 精品九九视频| 九九色之九九色之88| www色婷婷| 丁香伊人综合| 97在线日本| 色色丁香婷婷综合| 啄木鸟黑丝一区二区| 九月婷婷人人操人人舔人人爱| 丁香五月六月婷婷怡红院| 五月天久久婷婷| 国产精产国品一二三在观看| 日本激情五月| 久久久久久99精品无码| 99爱爱| 久久婷婷五月| 五月丁香六月综合情在线观看| 一本道在线电影| 久久精品系列| 热无码A∨| www.五月天色色色| 性爱久久| 五月精品| 狠狠狠狠狠草| 五月色婷婷影院| 日逼影音先锋男人资源站| www.91在线观看| 丁香五月婷婷动漫| 亚洲综合久| 九九爱激情| 人人操AV| 丁香五月激情婷婷婷婷在线观看| 青青草性爱视频| 天堂五月婷婷| 国产69精品久久久久999小说| 精品久久久人妻| 五月花成人网| 亚洲 视频 导航 一区| 亚洲99热| 亚洲综合在线播放| 日日射天天射| 五月天天天综合| 91精品国产综合久久蜜芽解析速度| 99这里只有精品|v| 天堂综合久久| 色婷婷a三区麻| 色色色在线播放| 日本在线视频播放91| 久草婷婷网 | 国产真实乱了老女人视频| 婷婷色色网| www.99情趣网| 五月丁香婷婷三级| 秋霞午夜理论| 婷婷色九月| 五月天激情四射网站| 综合av在线| 久久视频在线视频| 99久久极情精品一区| 青青草成人网| 亚洲成人五月| 男女久久婷婷五月天| 思思99热在线| www.zbzhongsen.com| 色综合久久88| 午夜丁香六月婷| Av免费网站在线| 亚洲精品第一国产综合亚AV | 久久一级免费黄色片| 色欲AVV| 国产精自产拍久久久久久蜜 | 操97免费超级视频| 26uuu欧美日本| 色的色综合| 色狠狠六月| 久久色五月天| 亚洲日韩人妻操逼| 18av天堂| 亚洲va日| 五月丁香 久久久| 激情综合五月激情| 色吧五月婷婷六月丁香| 久久五月天精品视频| 婷婷亚洲影院| 无码一区二区日韩| 激情小说婷婷小说| 思思热性操| 激情综合色五月六月婷婷| 综合在线丁香五月| 韩国婷婷丁香五月| wwwxxx五月婷婷小说| dingxiangtingtingliuyue| 丁香五月在线观看综合| 无码色色| 色五月丁香五月天| 婷婷色五月丁香六月欧美啪| 婷婷五月色惰| 五月天婷婷免费| 五月天.com| 99性爱| 99久久九九| 精品一二三区久久AAA片| 丁香五月AV| 欧美婷婷丁香社区在线播放| 97碰碰叉| 26uuu丁香婷婷五月| 国产精品99久久久久久猫咪| 大香蕉99| 六月色色综合| 天天色伊人| 婷婷五月丁香综合人妻| 天天综合中文| 精品色色| 婷婷五月天久久久| 一本道在线电影| 九九热9| 光棍影院日韩精品| 色婷婷免费观看| 日韩六十路91性交电影| 九九在线这里只有精品视频 | 天天拍久久| 日日夜夜婷婷| 色色a| 五月婷婷久久大片| 亚洲无码成人| 五月激情综合婷婷| 大香线蕉伊人| 综合色色婷婷| 99热91| 激情婷婷五月天日本系列| 99色色视频| 久久婷婷伊人| 免费在线观看av网站| 色啪综合| 国产高清RV综合aVa| 色婷婷免费观看| 精国产品一区二区三区A片| 97超级啪啪在线观看| 五月婷婷av| 这里只有国产精品在线| 激情久久五月天| 日韩黄在免| 色色丁香五月天| 天天做天天干天天综合网| 色 五月婷婷基地| 天天日,天天干,天天操| 日韩野外 无套| 色久婷婷五月| 99爱视频在线观看这里只有精品| 国产伦亲子伦亲子视频观看| 2021日韩无码| 亚洲十月婷婷综合| 香焦网五月天| 五月丁香在线| 99热爱爱干干日| 一级二级香港秋霞欧美欧美秋霞| 人人草人人舔| 大香蕉人人人| 色狠狠综合入口| 激情开心五月天| 大香蕉天堂| 五月开心深深爱激情综合| 欧美大肥婆大肥BBBBB| 国产性爱一级| 丁香五月婷婷久久久| 夜夜大香蕉婷婷丁香| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 91精品婷婷国产综合久久| 91九九热| 婷婷色色狠狠| 五月激情婷婷女| 日本少妇裸体做爰高潮片| 色噜噜狠狠色综合成人网| 婷婷瑟瑟五月天| 五月激情影院| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 五月婷婷中文字幕| 天天做天天摸| 婷婷综合九色伊人| 六月亚洲婷婷6月中文字幕| 97久久超碰| 婷婷激情丁香六月| 久久九九激情五月天| 丁香六月婷婷一区| 婷婷婷婷色| www.com亚洲网站在线免费| 9999热这里只有精品| 国产乱人偷精品人妻A片| 亚洲成人综合在线| 婷婷色五月丁香六月欧美啪| 九热视频精品| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 婷婷丁香六月综合激情站| 91凹凸在线| 97性视频| 国产精品视频| 美女精品一级不卡视频| 十一月婷婷激情四射| 9久久精品视频| 婷婷六月激情综合| 乱精品一区字幕二区| 色婷婷五月天天天做| 操91| 亚洲人妻一区二区 | 日韩免费99| 婷婷色五月在线视频| 国产操肏网站| 99网99热| 欧美精品啪啪| 色噜噜97视频在线观看| 欧美在线97| 欧洲综合视频| 天天狠天天狠| 91婷婷| 六月丁香激情综合| 碰超亚洲| 亚洲第一综合| 91狠狠色色丁香婷婷综合久久| 99亚洲天堂| 丁香九月综合| WWW色五月| 天天日,天天射,天天舔| 操逼三区| 97人人干| 久久婷婷五月丁香| 9久9久9久女女女九九九一九| 婷婷五月天成人网| 99热这里只有精品1025| 色五月婷婷五月天| 五月天久久成人| 婷婷99丁香| 天天久久狠狠色综合| 婷婷激情五月天在线视频| 成人.在线日韩| 播播网色播播| 狠狠综合网| 色综合综合综合| 日本狠狠网| 丁香五月婷婷色情综合| 六月婷婷综合| 综合逼五月激情婷婷| 五月天丁香久久综合| 色婷婷精品视频| 五月丁香大香蕉| 性爱技巧五月| 久久99精品久久久久久噜噜| 琪琪理论片| 久久九九思思| 色婷五月| 插插插色综合网| 偷拍91九色| 色人久久| 五月丁香影视| 色综合爽| www:99热视频| 五月婷婷色播| 亚洲熟女乱色综合亚洲网站| 九九青青草成人| 天天摸天天日天天舔| A1片久久久| 桃色五月婷婷| 日本综合色色| 夜夜干天天干| 99热99ai| 五月天婷婷AV| 另类少妇人与禽zOZZ0性伦| 久久久久婷| 69五月天视频| 超碰人人操在线| 狠狠干.com| 五月天激情小说网| 六月丁香六月婷婷欧美| 五月丁香六月激情网| 婷婷五月网图片区| 北条麻妃伊人| 成人短视频在线观看| 伊人五月天在线| 蜜臀A∨在线水帘洞| 久久久.COM| www。五月,com| 激情五月天婷婷| 大香蕉久热| 噜噜噜噜综合在线| 色五月大香蕉| 欧美精产国品一二三区| 色五月色五天色情网址| 97综合在线| 99久久99九九99九九九| 五月花综合视频| 人人爽人人爽人人爽人人爽| 色久女| 在线看av| 久久9久久| 婷婷香蕉精品| 五月婷婷色播| 99热这里只有免费精品| 婷婷 激情 五月| 婷婷五月69| 久久精品4| 久久伦乱| 91大神在线免费看视频全集男男一起操| 色色网站| 五月丁香久久综合精品| 五月婷婷在线综合| 五月婷婷色播| 日本久久九| 九九伊人网| 五月天婷婷高清无码| 五月丁香综合| 少妇人妻人伦A片| 九月av在线| 99re思思精品视频在线观看| 五月成人天| 女人高潮内射99精品| 激情色情五月天| 国产阿姨日皮艹逼内射视频| 丁香婷婷五色月| 91碰免费视频| 日本欧美国产| 开心五月婷| 婷婷五月天电影区小说区| 久久久激情| 婷婷欧美激情综合| 桃色激情婷婷伊人网| 一月婷婷色色| 亚洲精品无码99热| 久久免费精品小视频| 天天天日天天天干| 99综合| 五月婷婷丁香综合,亚洲天堂| 久久五月天激情婷婷| 97色五月天| 99热在线只有精品| 国产精品国产| 人人干AV| 丁香六月综合激情| 五月天婷婷綜合院| 天天天天天日| 高清无码网址| 色五月综合网| 激情五月丁香色婷婷| 激情色播| 久久在线92| WWW.99热| 性av| 人妻操逼视频。| 五月丁香欧美综合| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 精品九九久久| 亚洲看av的网站| 色999;丁香五月| 蜜臀av粉嫩av懂色av| 天天色综合网1| 九九一区| 婷婷丁香五月激情中文字幕版| 六月婷婷激情图片| av激情在线| 天天综合天综合| 日韩丁香涩| 丁香五月AV综合| 99亚洲视频| AV动漫不卡无码免费| 深爱激清网| 日韩三十六页| 狠狠色丁香婷婷基地| 人妻少妇色综合| 色婷婷丁香五月天| 色婷久久| 婷婷六月啪啪| 久色激情| 丁香久久久| www,99热| 大香蕉懂9| 99re思思在线视频| 天天色天天操天天射| 欧亚洲在线高清视频| 999激情视频| 色狠狠色综合久久久绯色AⅤ影视 大香蕉五月天婷婷丁香91 | 国产肥白大熟妇BBBB视频| 丁香五月婷婷少妇| 狠狠爱综合网| 五月丁香啪啪啪| 精品99在线观看| 九九热99免费视频| 婷婷亚洲综合| 玖玖色综合网| 九九这里有精品| 激情五月深爱五月观看| 狠狠综合网| 五月天久久婷婷婷| 99国产精品久久久久久久久久久 | 五月激情小说| 人人97碰| 狠狠操综合| 婷婷五月天在线观看av| 啪啪91| 六月天六月婷| 夜夜穞天天穞狠狠穞AV美女按摩| 激情五月婷婷网在线观看| 久草热8精品视频在线观看| 爱草视频在线| 亚洲成人日韩无码精品| 一本道综合网| 五月丁香激情综合网官网| 99网| 激情五月,激情综合网| 五月丁香大香蕉| 大香蕉久| 中文中文在线| 99精品小视频| 激情视频综合| www婷婷| 伊人婷婷色激情丁香| 婷婷亚洲在线| 五月丁香花视频| 九九激情综合| 国产熟妇乱子伦hd| 色播播婷婷| 色5月婷婷色| 天天拍天天操| 亚城区在线| 丁香五月人妻| 婷婷综合久久| ...婷婷国产成人亚洲日韩| 97碰 在线视频观看| 精品网站:999WWW| 婷婷色亚洲| 操B无码视频国语| 精品99在线| 色婷婷五月天亚洲 | 中文无码精品一区二区三区| 天堂网操| 91中文在线| 五月在在观看| 色天堂97| 无码激情AAAAA片-区区| 思思久久青草热| -91九色大屁股| 五月综合久久| 天天色噜| 免费色色色| 99热黄| 99热首页| 日韩AV大全| 日韩操人| 91 久热| 丁香五月天激情综合| 伍月婷丁香花全集| 久色网| 国产综合丁香五月天| 激情五月天婷婷|