免费国产精品自在自线-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
返回資訊列表
三级毛片7979| 综合激情开心五月| 狠狠色噜噜狠狠狠888| 丁香五色月婷婷网| 色综合夜夜| 国产AV影片| 五月婷婷六月色| ,99视频久久| 9伊人网| 久久一热| 亚洲av网站| 99爱无码| www.一起草av| 丁香六月色婷婷欧美| 九月丁香久久网| 婷婷六月天天| 天天日天天插| 丁香婷婷性久久| 久久激情综合| 婷婷五月天成人五月天| 久久婷婷五月天懂色| 亚洲网在线观看| 在线视频你懂得| 五月丁香激情婷婷| www.99成人视频| 五月熟妇婷婷久久| www.五月天性.com| 久久er这里只有精品| 91精产一区三区免费观看| 97超碰婷婷五月天| 伊人99久久| 婷婷色六月| 99热精品在线| 激情另类综合| 婷婷五月激情五月激情| 狠狠色综合网站久久久久| 五月丁香六月婷婷色情| 九九热婷婷| 五月天另类小说久久小说网| 这里只有久久精99| 五月天丁香成人社| 九九综合久久| www久久99| 丁香六月色婷婷| 99免费视频| 久久机热/这里只有精品| 深爱五月日韩| 日本一级一片免费视频| 免费精品99| 99性视频| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 4399高清无码视频| 九热免费视频| 欧美狠狠草| 婷婷在线免费| 天天综合色综合| 激情精品久久| 五月天伊人综合| 亚洲成人va| 9999热这里只有精品| 九九在线免费观看| 五月丁香六月玩女人| 五月天激情亚洲| 五月丁香婷婷六月| 色婷婷五月在线| 九九色婷婷| 中文字幕成人| 丁香五月天婷婷大香蕉| www.99久久久| 日韩六六久久电影| 91激情五月开心| 婷婷久久大香蕉| 五月婷婷丁香五月| www.久久色.com| 97碰碰视频| 色天堂A| 成人婷99最新| 欧美草久久五月天91| 色色色色色网| 五月丁香影视| 97干在线观看视频| 俺去也在线视频| 五月天久久91| http:色情日本com| 狼人狠狠操| 天天看片日日夜夜| 色九月婷婷综合| 大香蕉综合在线| 免费看欧美成人A片无码| 久久五月天免费网站| av在线免费网站 | 991自拍视频| 91丨九色熟女丨首页| 久热成人| 五月婷婷六月情| www.婷婷六月天| 五月Huangsewang| 99re视频在线| 人人综合五月人人婷婷| 欧美成人va| 激情婷婷22月间| 特黄三级片| 天天干天天干天天干天天干天天| 五月激情视频| 久久婷婷激情四射五月天| 九九aV| 五月丁香婷中文| 97干视频| 亚洲色图五月丁香| 久久综合五月| 人妻视频一区而且二区| 色婷婷色五月丁香| 国产亚洲精品AAAAAAA片| 色婷婷综合影院| 狠狠色五月激情| 婷婷五月天久久| 久久99视频| 日韩美一级毛卡片| 六月丁香婷婷五月| 教师性爱毛片| renre人人操国产超碰在线 | 五月天色色无码| 99激情在线| 丁香五月六月激情| 日韩乱轮AV| 九色91国产| www.激情五月天com| 五月丁香啪啪| 激情综合五月| 五月天色图| 久久aaaaa| 婷婷色五月久久| 婷婷六月综合激情| 婷香五月网在线| www.日本91| 色婷婷色和| 天天色,天天操,天天射| 亚洲网综合在线| 婷婷久久五月| 久久小说| 思思re视频在线| 亚洲婷婷五月天| 五月婷婷偷拍| 天天爱天天爽| 激情网站综合五月天| 99色网站| 婷婷五月精品在线| 大香蕉伊然在亚洲90| 久热这里只有精品66| av国产精品| eeuss人妻| 丁香婷婷久久 | www.五月婷婷久久.com| 秋霞免费三级片| 久久婷婷五月丁香网| 婷婷网影院| 婷婷五月天美女21p| 婷婷综合九月| 婷婷五月av| 天天摸天天肏| 老师的粉嫩小又紧水又多A片视频| WWW、日本色丁香co m| 久久99久久99精品免视看婷婷| 午夜激情综合| 欧美顶级少妇做爰HD| 99热在线免费观看精品| av在线免费播放观看| 婷婷五月天激情丁香| 无毒黄色网址| 久99热| 久久久婷| 99re8热精品免费视频| 怡红院精品视频久久久久久久久| 99re青青草| 五月婷婷丁香六月| 久一这里有精品国产| 国产精品美女久久久久AV超清| 日日夜夜噜噜爽爽| 大香蕉久久久| 精品欧美一区二区三区久久久 | 五月丁香婷婷欧美| 思思热在线视频99| 日本综合久久| 另类婷婷五月天啪帕帕| se99视频| 五月天 另类图片| 伊人玖玖网| 色婷婷丁香五月| www.爱操com.| 色婷婷成人网| 综合另类激情| 五月丁香六月综合激情| 夜夜撸夜夜骑| 色亚洲色宗合| 丁香六月啪| 久操欧美在线观看97| 婷婷在线激情| 99热这里精| 男人天堂 久久| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 丁香激情网| 51精品国自产在线| 玖玖综合色| 79精品在线视频| 91久久18| 五月婷婷激情| 婷婷狠狠操| 久久久精品人妻录| 五月天成人在线视频丁香| 中文字幕av久久爽| 亚洲 在线 另类| 激情綜合網址| 亚洲第一第二网站| www.俺去也com| 久99| 久热 91| 激情 久久 婷婷| 五月婷婷激情性爱| 思思热在线视频精品| 婷婷五月天色综合翘| 六月色婷婷综合影视| 我爱大香蕉| 久久99精品久久久久久三级| 黄色AAAAA| 亚洲AV激情五月综合网| 天天色天天爽| 99精品热视频只有精品10| 五月丁香亭亭AV女优| 久热在线中文字幕色999舞 | 婷婷丁香黄色| 色婷婷五月丁香色| 9视频在线成人网站| 99热都是精品| 天天草天天爽| 午夜丁香| 少妇2做爰HD韩国电影| 久热婷婷| 天天爱天天做天天操| 91精品久久久久、久五月天| 五月丁花六月丁香综合| 天天干夜夜谢| 欧美 日韩 成人| 国产精品热搜丁香五月婷婷| 久久久久人妻中文| 亚洲va在线∨a天堂va欧美va| AV 3P| 综合激情五月四射婷婷| site:wpjngj.com| 色色综合网站| 五月婷婷亚洲综合网| 激情婷婷五月天。| 婷婷丁香六月影视| 亚洲婷婷乱乱丁香| 成人视频婷婷| www久久艹| 天天干一干| 五月婷婷天天| 色综合丁香| 五月婷婷影| 九月丁香婷婷综合| 五月婷婷丁香六月| 婷婷六月丁香五月图区| 丁香六月欧美| 亚洲精品视频在线播放| 天天爽天天爽天天爽天天爽天天爽天天爽天天| 天天干,天天舔| 99色色热热| 五月总合激情网| 99久久婷婷国产综合精品青桔| 91欧美| 色婷婷狠狠| 婷婷丁香69精华| 91丨九色丨国产打屁股| 色在线五月天免费| 人人摸人人搞| 欧美人妻一区二区| 激情五月黄色| 久久99精品久久久久久三级| 99色在线视频| 就去涩涩丁香五月天| 特级片神马电影| 丁香五月婷婷视频| 91精品综合久久久久久五月丁香| 激情五月天福利| 99精品97| 6080av| 五月花综合视频| 丁香美女五月天婷婷| 亚洲九九夜夜| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 九色啦蜜臀| 亚洲精品电影| 婷婷综合国产| 成人五月天色天堂| 婷婷亚洲五月| 色狠狠色噜噜AV天堂五区| 婷婷丁香综合在线| 婷婷五月丁香影院| 五月色综合| www久久99| 婷婷福利影院| 日本的α片xxxwww| 色色日本欧美| 亚洲成人网址在线观看| 六月婷婷天天操夜夜爽视频| 5月丁香婷婷激情网| 久久久久人妻网址| 日韩在线观看亚洲| 成年人99热| 九色91国产| 黄色中文字目| 狠狠看狠狠| 亚洲另类视频| 热99玖玖99玖玖99九九| 有码人妻久久| 丁香五月天之婷婷影院| 91婷婷色| 日狠狠| 亚洲综合五月天婷婷丁香| 亚洲视频无| 五月情综合| 成人视屏在线观看| 2017狠狠干| 五月天激情婷婷五月天久久| 欧美一级色| 久久婷婷五月天激情| 99精品在| 精品国产AV色一区二区深夜久久| 久久只有精| 99热只有| 久草丁香婷婷五月天婷| 日韩色五月| 三男玩一女三A片| 黑人熟妇一区二区三区| 丁香五月天激情综合| 91人久| 精热在线综合网| 天天干天天拍| 天堂网色色| 久久这里有精品视频在线免费观看| 99热这里只有精品3| 超碰高清在线| 五月丁香六月婷婷色情| 99久久五月丁香野外| 26UUU在线观看| 天天射影院| 91狠狠色| 久久五月婷| 天天综合久久| www.91九色| 久久久A级视频| 激情综合色五月丁香六月亚洲| 九月丁香婷婷| 色婷激情网| 色五月大| 天天摸天天日天天舔| 99热这里有精品| 91网站黄| 九九色逼| 26uuu淫色| 国产精品美女| 天天爱天天做综合| 天天肏天天舔AV| 五月深爱激情网| 1024欧美看片| 六月丁香网| 久久免费丁香| 久久久激情| 婷婷五月天成人在线视频| 99热日本| 色婷婷丁香特级性爱视频| 专区无日本视频高清8| 五月丁香啪啪啪啪| 免费操超碰| 国产美女视频久| 色五月激情综合| 99精品视频偷拍| 丁香六月婷婷| 久久久一级AAA| 视色综合| www.婷婷六月天| 99久久婷婷| 婷婷欧美色| 97色婷婷| 丁香五月激情网| 亚洲欧美婷婷五月色综合| AV操操操| 日日舔夜夜操| 五月婷丁香花| 五月天丁香看婷婷| 色色色色网| 在线五月色播| 久久亚洲天堂| 大香蕉啪啪啪| 色情成人五月天| 六月婷婷激情| 伊人狼人干| 另类 在线| 琪琪理论片| 91精品刘玥| 婷婷97碰碰| 欧美又粗又大一区二区在线观看| 97日日碰碰| 久久香蕉网| 99成人无码| 欧美、日韩、中文、制服、人妻| 天天干天天插| 99色在线观看视频| 亚洲婷婷五月天激情综合| 激情五月婷婷啪啪| 影音先锋91网站在线观看| 丁香婷婷六月| 婷婷深爱网| 99ri在线| 激情九九六月激情免费视频| 久久精品国产精品| 成人av免费观看| 骚货艹网站视频| 五月丁香综合啪啪| 操比激情五月| 日本啪啪视频HD| 色吧五月婷婷| 婷婷六月啪啪| 99精品久久久久久久婷婷久久| 久久婷婷色情7777网站| 色色色色色色色色色色色色色色,网站| 大香蕉婷婷五月| 色婷婷五月天天天干天天操天天爽| 丁香五月天黄色片| 9久9久| 97精品人人A片免费看| 免费亚洲婷婷五月| 九九免费视频| 亚洲色综合性| 六月丁香婷婷网| 国产免费AV在线| 噜噜五月天综合| 亚洲国产精品VA在线看黑人| 日韩色色视频| 国产一级片| 激情图片五月天| 色婷婷五月综合在线| 欧亚洲在线高清视频| www.久久9| 中文字幕人妻一区二区| 97caop| 狠狠综合网| 五月婷婷丁香综合| 九九色图| 色九月婷婷| 99免费在线视频| 亚洲色激情| α久久| 99人这里只有精品| 五月丁香综合久久| 婷婷深爱色五月| 无码一区二区三区四区五区| 丁香午月AV中文字幕| 色五月激情综合网| 色婷婷丁香网| 99精品色色| 五月天激情国产综合婷婷婷就去爱| 97九色视频| 九九激情视频| 2015超碰| 性色欲情 网站| 五月丁香久人妻中文| 丁香色婷婷| 五月天婷婷色色| 91人人爽狠狠狠| 99热老网站| 大香蕉五月丁香| 啪啪一区| 开心四月婷婷在线色播播| 激情五月激情综合网一级丸片| eeuss人妻| 夜夜爽天天| 高清无码 一区 二区 三区| 啄木鸟黑丝一区二区| 久久九网| 日本久碰| 99热综合网| 婷婷6月综合网| 亚洲AV激情五月综合网| 五月天婷婷中文字幕在线播放| 色婷婷六月丁香综合欲精品| 日本一毛片| 这里只有精品免费| 1024国产在线| 色九综合| 久久永久网址| 中文网av| 九九色影视| 9久久精品| 大香蕉五月婷婷丁香| 亚洲国产成人AV在线| 亚洲成人无码网站| 影音先锋激情网| 五月婷婷在线综合| 亚洲丁香花色| 天天日色情| 国产激情在线观看| 色综合播放| 中文字幕色色| 丁香色五月天| 久久五月婷综合网| 立川无码av| 天天色域综合网| 色综合婷婷| 国产,欧美,学生妹,视频| 婷婷99丁香| 婷婷五月69| 婷婷五月天偷拍| 在线婷婷| 94干大香蕉| 99国产er热视频| 天天搞天天色综合| 99免费在线视频| 9999热在线观看| 五月婷婷丁香深深爱| 吉澤明步Av一區二區| 午夜五月天| 啪啪日本欧美| 丁香五月天色综合| 日韩AV片| 久青草大香蕉| 激情婷婷狠狠干| 色99网| 99国产97在线,| 天天射夜夜爽| 色色丁香婷婷| 操人精品| 日本操逼九九九九58日本操逼| 狠狠做深爱婷婷久久综合一区| 91a片爽| 六月丁香视频网站| 99久久婷婷| 九九99在线| 五月天婷婷网站| 精品久热| 天天日夜夜欢| 激情婷婷五月| 日韩无码亚欧无码| www.俺去也com| 狠狠狠狠狠狠| av 一区三区四区| 91丁香五月| 日本丰满久久| 丁香五月乱中文字幕| 天天射影院| 99热啪啪| 天天操天天曰| 青青.com| 五月丁香影视| 五月天婷婷一起草| 五月丁香六月| 日韩好吊操| 色狠狠色| wWwCom夜操wwW| 99ri精品| 五月开心婷婷中文字幕| 色色色五月婷婷| 日本老女人黄页在线播放| 欧美婷婷日本| 亚洲天堂爱爱| 五月丁香免费看| 亚洲综合成人网| 97人人干人人操| 婷婷九月激情| 99激情视频| 人妻狠狠操| 大香蕉手机视频| 2025最新亚洲激情在线| 国色天香成人网| 五月丁香六月婷婷免费| 九九丁香社区欧美激情| 婷婷爱五月天人人爱| 五月九九综合| 五月激情在线| 久9视频| 99综合网| 成人婷婷深爱综合网| 色哟呦av| 99爱视频在线观看这里只有精品| 五月丁香最新| 激情五月婷婷| 99热精品一区| 婷婷五月丁香A∨| 日本九九视频| 久久99热免费| 91日婷婷在线| 182TV大香蕉| 天天做天天爱天天爽夜夜揉| 91色色五月天| 激情五月天综合网| 色久婷婷五月| 亲子乱AV-区二区三区| 五月婷婷在线视频观看| 永久的网站AAAA| 婷婷伊人久久无码色五月| 停停五月丁香| 好好干Av| 婷婷不卡基地| 婷婷久久综合久| 亚洲XX日本| 久草嫩草在线观看| 亚洲精品视频在线播放| 夜夜做夜夜愛| 日韩一级片| 色欧美色色色| 99热人人| 人妻VideOssS人妻| 97碰免费视频在线| 99久久超级| 九九99免费视频| 五月丁激情| 中文字幕黄色电影网址| 国产精品大香蕉| 六月色播| 99惹| 九伊人网| 日韩二区搞逼插逼毛片| 五月激情综合网| 日韩综合大黄| 99精品视频免费在线播放| 99视频综合网| 五月天婷婷综合| 五月天网站亭亭| 激情五月第四色| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 激情五月天。| 99精品久久| 五月丁香激情婷婷| 伊人日日干| 婷婷六月激情| 大香人妻| 91夫妻网站九色| 激情五月天影院| 五月丁香婷婷综合| 激情五月天色婷婷| 色九月激情综合网| 日本熟女视频一区二区| 五月婷婷色啪| 日韩小视频在线99| 久久综合九色综合97婷婷| 色综合婷婷| 人人干人人操人人摸| 亚洲爱爱无码婷婷色五月| 九九久久五月天综合伊人| 99精彩视频在线观看| 午夜性做爰电影| 六月婷婷开心| 久久九九99| 亚洲第二AV| 91九色偷拍| 成人精品视频99在线观看免费| 久热9| 欧美色色色色色色色色色色| 婷婷成人五月天| 激情文学五月丁香六月婷婷| 亚洲国产va| 99热最新网址| 夜夜操天天爽| 婷婷丁香色情五月天| 色婷婷狠狠色| 婷婷五月花西瓜| 久色五月| 开心五月网| 亚洲成人五月天| 色色色色色色色色网站| 天天狠狠六月婷丁香影院| 婷婷丁香人妻天天| 天天操婷婷| 国产激情综合五月久久| 天天综合色| 蜜臀99精品| 丁香激情四射| 色九月| 夜夜操狠狠操| 成人无码髙潮喷水A片| 色一情一乱一伦一区二区三区| 开心激情站| 国产婷婷色综合AV蜜臀AV| 亚洲国产精品VA在线看黑人| 色99综合色88| 婷婷五月六月| 亚洲综合草草| bbwcuckold精品熟妇| 色久婷婷网| 丁香五月冃欧美| 色婷婷丁香五月天在线观看| 国产97色在线 | 日韩| 六月婷婷激情图片| 少妇熟女视频一区二区三区| 久久5 9视频免费观看| 国产伊人大香蕉| 91九色 婷婷| 天天开心天天色| 啪啪五月天啪啪| 夜夜夜夜撸夜夜操| 五月婷婷啪啪| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 91碰视频| www.思思99热| 五月丁香六月婷婷激情网| 五月丁香香蕉| 国产偷人爽久久久久久老妇APP| 婷婷日本在线| 婷婷四色五月| av在线色五月丁香婷区久| 亚洲人人操| 久久99热这里只有精品| 男女啪啪视频久 9| 五月丁香婷婷色色| 99热视精品| 欧日韩成人| 99婷婷狠狠成为人免费视频| 99精品国产在热久久婷婷| 丁香婷婷五月天校园春色| 五月丁香黄色| 婷婷丁香人妻天天爽| 99色综合久久| 色天天综合天天综合频道。| 国产玖玖资源| 99精品在线| 亚洲婷婷五月| 婷婷激情丁五月| 五月色网| 婷婷综合av| 五月丁香网站在线播放| 久久五月激情综合| 婷婷丁香五月视频| 这里只有精品视频在线观看免费| 色五月 五月婷婷| 老师的粉嫩小又紧水又多A片视频| 玖玖婷婷色五月| 色天天综合成人网| 99熟女| 激情99热| 99精品网| 久久天堂女人| sewuyue第四色| 亚洲六月色| 一区三区视频有限公司| AAA亚洲AV| 婷婷五月综合在线| 狠狠香蕉| xxxx久| 亚洲国产黄色电影| 色色色色色色综合| 无码色| 色综合色| 激情婷婷色色| 一区二区免费看| 丁香六月五月天| 亚洲xx在线| 99精品在| 久久精品国产精品| 五月丁香啪啪激情| 日日日日日| 五月婷婷黄色| 99久在线观看| 欧美天堂久久| www.黄色片-久久成人国产精品在线播放-999AV| 香蕉曰比| 九一99| avh片在线观看| 婷婷综合网伊人| 国产片XXXXA片国语对白| 人人爽在线视频综合网| 欧美婷婷| 五月丁香综合啪啪| 激情五月综合视频| 激情丁香五月| 激情综合婷婷| 热99玖玖99玖玖99九九| 五月花婷婷丁香| 97色精品视频 | 五月丁香婷婷婷激情爱爱| 婷婷五月激情综合啪啪| 五月丁香五月综合欧美| 六月激情婷婷综合| 91视频一起草| 成人精品在线观看| 狠狠干综合| WwW天天干| 久久婷婷五月综合色区| 六月久久狠狠| 艹天天射| 国产成人网址| 色久在| 色色三级视频| 五月丁花六月丁香综合| 91视频综合网| 97人人干| www.久久五月天.com| 五月丁香花成人社区| 婷婷综合色五月天| www.综合久久.com| 五月天婷婷在线观看| 这里只有视频精品| 狠狠操狠狠色| 五月天 婷 欧美亚洲| 99热老网站| 99色婷婷| 婷婷色av| 黄色AV日韩| 97高清国语自产拍| 五月天婷婷成人| 五月丁香六月婷综合成人综合| 97人人超| 激情伊人五月天| 99激情在线| 国产成人精品一区二三区熟女在线| 天天操综合网站| 久久狠狠干| 香蕉久久av一区二区三区 | 97人人超| 国产精品-第3页-91JQ就要激情网91JQ5.JQJQ926.XYZ | 亚洲人成网亚洲欧洲无码久久| 日本视频久久| 丁香五月手机在线| 婷婷一本和五月丁香| 99超碰人人| 激情五月天色色| 欧美五月丁香| 久久杏爱视频| 国产精品丝| 免费视频WWW在线观看网站| 成人丁香五月| 小视频aaa久久久| 欧美啪啪五月天| av国产精品| 六月丁香激情| 色五月色综合| 丁香色色网| 丁香婷婷老司机久操| 99re8在这里只有精品| 六月丁AV| 色五月丁香激情视频| 91九色精品| 色综色网| 久久性爱视频| 亚洲成人在线综合| 爱婷婷五月| 99噜噜噜在线播放| 中文字幕97超级碰| 中文字幕91,综合| 色婷婷成人做爰A片免费看网站 | www超碰| 亚洲精品视频电影| 五月天 另类图片| 五月丁香婷婷无码A∨| 手机旧版看人妻1025| 亚洲一二三网| 免费视频WWW在线观看网站| 91久久综合亚洲鲁鲁五月天| 99精品大片| 激情五月色综合国产精品| 日本精品在线噜噜噜| 踪合专区啪啪| 丁香五月婷婷欧美成人色图| 江苏少妇性BBB搡BBB爽爽爽| 婷婷伊人网| 五月色网| 婷婷丁香激情综合色情| 色天五月天在线观看视频| 婷婷射综合| 综合色99| 久操激情| 人妻久热| 91丨九色丨熟女| 人人草人人看| 日韩无码色色| 激情五月天电影| 新伍月婷婷| 操你av| 久久五月婷婷开心网| 9九热视频| 第四色婷婷日本| 色五月综合网| 婷婷综合| 无码四色色色| 久久视屏这里只有久久| 天天操夜夜爽天天操| 久久婷五月天| 五月激情丁香五月| 丁香五月亚洲激情婷婷射| 色婷婷狠狠爱| 色很很96| 思思热思在线精品视频| 深爱丁香网| 99这里只有免费的精品| 亚洲性爱干干| 在线综合婷婷| 天天射影视综合网| 婷婷色欧美激情| 亚洲综合色色| 五月狠狠| 综合色久| 丁香五月av| 美国少妇性做爰| 五月天丁香婷婷视频网址 | 激情五月综合色| 99热大全在线观看| 婷婷五月丁香在线观看| 色婷婷六月精品| 欧美va欧美va差| 综合网亚洲| 亚洲成人网在线观看| 成人日韩欧美| 欧美顶级少妇做爰HD| 这里只有精品96| 岛国午夜视频| 性色婷婷| 热热久久精品视频| 思思久日精品视频| 在线视频激情网站| 久久a热| 99视频这里有精品| 激情AV中文| 五月天色色网站| 色欲丁香久久| 五月天婷婷在线视频| 伊人干综合| 日本精品人妻无码77777| av婷婷丁香| 五月色婷婷影院| 三区激情四射av| 另类五月激情| 婷婷伊人綜合中文字幕| 99热99艹在线观看| cao久久| 五月丁香婷婷无码中文| 亭亭五月天黑人2014| 久久香蕉丁香| 亚洲精品国产熟女久久久| 国产永久一黄| 色婷婷五月天天天天天| 五月婷婷丁香狠狠撸久久| 99精品在线观看视频| 国产成人精品一区二三区熟女在线| 久久日本wwww色| 大香蕉啪啪啪| 色婷婷色五月天| 亚洲色视频| 成人va在线| 亚洲丁香婷婷五月天综合色| 亚洲天码视频www蛋播视频| 岛国AV网| 久久五月情| 五月天婷婷在线观看精品男人| 六月婷婷五月天| 欧美色五月| 精品网站:999WWW| 夜夜骑日日夜夜| 色婷婷伊人| 久久久噜噜噜操操操| 亚洲小视频免费播放| 欧美色爱五月天| 五月丁香六月婷| 婷婷五月天综合久久| 色婷婷色五月综合| 色激情五月| 99偷拍视频在线日本| 色久五月| 五月色网| 亚洲精品国产setv| 开心五月婷婷婷美女| 香蕉久久av一区二区三区 | 亚洲妇女熟BBW| 九九色欲网| 丁香六月无码播放| 欧洲电影在线观看免费版英语版| 色情久久久| 五月激情六月综合| 大香蕉伊人丁香五月| 欧美激情五月综合| 五月丁香无码| 五月天婷婷久草丁香| 欧美性爱5月天天天看| 97天堂| 天天爽人人综合免费7799| 婷婷五月天六月丁香| 任我干视频在线观看| 激情五月综合免费| 激情綜合W W W,激情五月天| 婷婷情色五月天| 丁香五月天成人网站| 丁香五月婷婷综合激情哟哟哟| 婷婷涩涩网| 内射爽无广熟女亚洲| 色久播播| 色婷婷网| 国产噜一噜天天噜| 国产在这里只有精品| 婷婷五月天综合网| 色综合久久44| 无码啪啪| 色色五月婷婷| 国产人妻操逼| 超碰碰碰碰| 九九RE视频在线精品| 亚洲AV日韩无码| 日韩色五月| 美女激情综合| 五月婷婷影院| 中文字幕在线日亚州9| www色五月| 久久九九99| 噜噜噜噜婷婷五月天| 五月丁香偷拍| 丁香无五月网| 精品一二三区久久AAA片| 激情婷婷人妻| 久久精品国产精品| 五月婷婷九| 亚洲黄色操逼| 精品成人a v无码内射| 日本一级大片| www.精品99| 九九香蕉网| 久热91| 丁香五月婷婷精品视频| 99色免费观看全部| 九热视频| 台湾无码A片一区二区| 99精品在线| 五月伊人综合| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 人妻精品在线| 婷婷久久大香蕉| 亚洲射激情| 成人无码中文| 国产免费一区二区三州老师F1F1| 色婷视频| 成人午夜天| 五月天婷婷爱| 激情九月综合| 少妇AB又爽又紧无码网站| 五月丁香六月花| 97香蕉人人在线观看| 亚洲av网站在线观看| 婷婷五月在线综合| 人妻视频一区而且二区| 综合网啪| 丁香五月综合激情久久潮喷| 日本美女97在线视频| 97色色视频| 日日日,com| 超碰自拍天堂| 婷婷六月啪啪| www激情网| 日韩欧美成人片| 五月婷在线| 亚洲这里只有精品| 性爱AV天堂| 亚洲国产黄色电影| 精品五月天| 人妻精品久久久久久| 色播婷婷大香蕉| 五月天久久色| 婷婷综合亚洲| 婷婷五月天亚洲综合网| yellow视频在线观看91| 中文字幕免费高清电视剧| 五月天播播中文字幕| 影音先锋xfplay资源男人网| 最新久久99视频网站| 日本综合色图| 日本婷婷五月天| 6080av| 久久99婷婷| av免费在线观看0| 六月丁香五月天| 天天干 夜夜爽| 思思视频这里是精品| 操操精品| 91色色五月天| 色五月婷婷影院| 丁香五月成人社区| 青青草深爱激情网| 久久视频婷婷视频| 色开心五月丁香| 国产熟妇的荡欲午夜视频| 综合久久高清| 天天操夜夜爽歪歪| 99在线观看视频精品| 色五月天丁香婷婷| 九九久久偷拍| 丁香网站| 人人爱国产| 97精品自拍视频| 色狠狠综合| 精品无码色| 黄色三级日本| 激情久久综合网| 99五月香婷婷丁香在线视频| 五月激情六月丁香| 伊人网碰碰| 婷婷激情五月综合| 亚洲国产精品成人va在线观看| 超碰九色| 婷婷久久综| 99热精品网| 色综合婷婷99| 婷色天堂| 亚洲无AV在线中文字幕| 色婷婷亚洲精品天天综| 97碰碰在线观看视频| 五月丁香777| 婷婷五月六月丁香综合| 五月丁香婷婷激情| 热热久久精品视频| 色五月涩涩婷婷蜜桃| 丁香婷婷久久| 色欲丁香| 亚洲av网站在线观看| 九九热99视频在线| 色婷婷狠狠久久YY| 狠狠色丁香婷婷| 99欧美三级视频| www.九九婷婷| 婷婷五月丁香人妻无码高清| 欧美精品狠狠色丁香婷婷| 婷婷五月丁香激情| 五月婷婷香蕉| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 五月六月婷婷| 狠色色狠网| 深情五月天| 色停停五月天| 久久538| 99九九热视频| 亚洲六月色婷婷| 婷婷色网站| 婷婷婷婷婷婷婷五月丁香| 99视频内射三四| 五月丁香婷婷综合网| AV性爱网| 欧美人与性动交CCOO| 亚洲亚洲人成综合网络| 91精品国产综合久久久不卡电影| 香蕉婷婷五月| 在线播放 精品| 亚洲AVwwwwwww| 欧美三级黄色片久久| 99热老司机| 五月丁香色色综合| 99热这里只有精品69| 九色色| 人人爱人人草| 婷婷婷婷婷婷婷五月丁香| 91人妻PORNY九色大屁股| 欧类av怡春院| 五月黄色婷婷| 99九九精品视频| 99re熱| WWW.99热| 色五月婷婷五月天| 天天狠天天叉| 99燥99日| 丁香六月激情综合网| 色五月激情综合网| 丁香五月婷婷色五月| 婷婷.com| 97在线精品视频| 超碰免费在线| 久久视频婷婷| 久久五月网| 99熟女| 色色丁香婷婷五月天| av在线免费网站| 久er免费视频| 五月天夜夜爱夜夜操| 久碰婷婷视频| 99热官网| 99热九九在线| 色婷婷狠狠干| 五月天婷婷激情小说电影| 午夜天堂啪啪| 久操欧美在线观看97| 色婷婷综合成人| 99热这只有| 五月丁香六月欧美综合网站| 九九久久网| 久久男人网婷婷| www.久久99| 丁香六月色婷婷综合| 超碰人人操人人干| 90色免费视频| 中文字幕AV在线播放| 五月丁香六月激情综合在线| 波多野结衣AV无码Porn| 免费看欧美成人A片无码| 婷婷综合日本| 精品国产va久| 婷婷五月丁香欧洲| 韩日另类| 五月婷色色| 中国激情网| 能看的AV| 99精品高潮| 伊人久久婷婷五月天激情四射| 五月丁香婷婷爱| 97很鲁在线视频| 五月婷婷色影院| 色99热| 激情婷婷五月天| 一本久道综合99| 99热久草| 欧美色五月| 欧日韩成人| 深爱婷婷丁香五月激情| 99爱精品| 超碰99热| WWW.桔色成人.COM| 精品热青草| 五月伊人综合| 婷香五月| 玖玖精品婷婷| 深爱激情网五月天| 亚洲亚洲人成综合网络| 黄网在线免费观看| 激情五月天小说网| www久久久久久久久久久久久久久久久| 综合激情伊人影视在线| 婷婷激情视频| 天堂网色婷婷| 亚洲色婷婷五月| 国产午夜精品AV一区二区麻豆| www.色婷婷| 91碰碰视频| 九九视屏| 综合网天天| 99热官网精品在线| 国精产品一区二区三区| 少妇真实被内射视频三四区| 亭亭丁香aV| 99在线精品视频在线观看| 碰97久久| 噜噜狠狠色综合久| 激情久久婷婷| 韩国天天婷婷| 国内9l视频自拍老熟女九色| 久久这里99| 精品欧美性爱超级爽| 婷婷六月网| 双性美人被调教到喷水A片| 五月天天丁香婷婷在线中| 任你草| 久久香蕉影院| 色噜噜狠狠色综合日日| 久热99| 亚洲va成人va成人va在线观看| 天天干,天天舔| www.五月天| 99丁香五月婷| 婷婷成人基地| 99精品在| 色婷婷中文| 狠狠干综合网| 性爱激情小说AV五月丁香花| 色情成人五月天| 九九色之九九色88| 97香蕉碰碰人妻国产欧美|