欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

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

Python虛假新聞檢測(cè):BERT向量融合LightGBM與CatBoost的混合模型實(shí)戰(zhàn)

Python虛假新聞檢測(cè):BERT向量融合LightGBM與CatBoost的混合模型實(shí)戰(zhàn) 簡(jiǎn)介基于Python搭建的多模態(tài)虛假新聞檢測(cè)項(xiàng)目融合文本與圖像特征對(duì)新聞?wù)鎸?shí)性進(jìn)行自動(dòng)識(shí)別面向計(jì)算機(jī)、人工智能、通信工程、自動(dòng)化等專(zhuān)業(yè)的高校學(xué)生和開(kāi)發(fā)者。資源可在畢設(shè)答辯、課程設(shè)計(jì)、項(xiàng)目初期演示中直接使用也適合作為NLP與多模態(tài)學(xué)習(xí)的練習(xí)素材。壓縮包內(nèi)共39個(gè)文件包含16個(gè)Python源碼文件、4份Markdown說(shuō)明文檔、4個(gè)TXT文本文件、3個(gè)Shell腳本、3個(gè)TSV數(shù)據(jù)文件、2個(gè)JSON配置、2個(gè)tfevents訓(xùn)練日志、1個(gè)Jupyter Notebook、1個(gè)checkpoint模型檢查點(diǎn)及許可證文件整體約350KB目錄涵蓋模型、代碼、文檔等模塊便于按需查看。已有296人學(xué)習(xí)下載。源碼經(jīng)測(cè)試運(yùn)行成功包含基于BERT的多模態(tài)識(shí)別、LightGBM與CatBoost融合、預(yù)測(cè)腳本及環(huán)境依賴(lài)說(shuō)明下載后閱讀README可快速了解結(jié)構(gòu)并運(yùn)行適合在此基礎(chǔ)上擴(kuò)展新聞檢測(cè)功能。代碼結(jié)構(gòu)清晰關(guān)鍵步驟有注釋方便定位與修改。1. 用 Python 做虛假新聞多模態(tài)檢測(cè)BERT 向量 樹(shù)模型為什么比單模型更穩(wěn)用 Python 做虛假新聞檢測(cè)最容易翻車(chē)的地方其實(shí)不是模型選型而是把 BERT 當(dāng)成一個(gè)黑匣子數(shù)據(jù)丟進(jìn)去準(zhǔn)確率出不來(lái)也不知道該調(diào)哪。這個(gè)資源走的是「多模態(tài)識(shí)別」路線(xiàn)但這里的多模態(tài)不是圖文拼接而是把文本語(yǔ)義當(dāng)一個(gè)模態(tài)、把統(tǒng)計(jì)和元信息特征當(dāng)另一個(gè)模態(tài)最后用 BERT 向量 LightGBM/CatBoost 混合模型去融合判斷。工程里包含 bert-final.py、lgb_cat_blend_lb9546.py、predict_test.py 和一套 TensorFlow 格式的 BERT 預(yù)訓(xùn)練權(quán)重訓(xùn)練、推理、依賴(lài)安裝腳本都齊。適合計(jì)科、人工智能方向拿來(lái)做畢設(shè)或課程設(shè)計(jì)也適合想復(fù)現(xiàn)一整套文本檢測(cè)管線(xiàn)的入門(mén)者照著跑。2. 項(xiàng)目骨架與數(shù)據(jù)流把源碼包拆成配置、訓(xùn)練、推理三條線(xiàn)解壓 Multi-domain-fake-news-detection-master.zip 之后不要急著跑訓(xùn)練先花十分鐘把文件按職責(zé)分清楚。這個(gè)工程的調(diào)用關(guān)系其實(shí)很清晰先裝依賴(lài)再訓(xùn)練 BERT 抽取語(yǔ)義向量再訓(xùn)練樹(shù)模型做融合分類(lèi)最后用 predict_test.py 出結(jié)果。順序錯(cuò)了后面每一步都會(huì)報(bào)讓你摸不著頭腦的錯(cuò)。2.1 文件清單與職責(zé)劃分從 req.sh 到 predict_test.py每份文件的角色拿到源碼包后我習(xí)慣先列一遍文件把「配置類(lèi)、訓(xùn)練類(lèi)、推理類(lèi)」分到三條線(xiàn)上。下面這個(gè)表是我對(duì)照本項(xiàng)目目錄整理的角色劃分你解壓后可以對(duì)著勾一遍文件/目錄類(lèi)型在管線(xiàn)里的角色req.sh/packages.txt環(huán)境配置安裝 Python 依賴(lài)聲明了項(xiàng)目所需的包列表bert-final.py訓(xùn)練腳本BERT 微調(diào)主腳本負(fù)責(zé)加載預(yù)訓(xùn)練權(quán)重、微調(diào)并抽取語(yǔ)義向量lgb_cat_blend_lb9546.py訓(xùn)練腳本讀取 BERT 向量與統(tǒng)計(jì)特征訓(xùn)練 LightGBM 和 CatBoost 并混合predict_test.py推理腳本對(duì)測(cè)試集做預(yù)測(cè)輸出概率或類(lèi)別結(jié)果train.sh/test.sh一鍵腳本把訓(xùn)練和測(cè)試命令串起來(lái)按順序執(zhí)行model/tf_bert_model模型目錄放 TensorFlow 格式的 BERT 預(yù)訓(xùn)練權(quán)重code子模塊目錄一般放數(shù)據(jù)加載、特征構(gòu)造、工具函數(shù)等catboost_info運(yùn)行產(chǎn)物CatBoost 訓(xùn)練日志和臨時(shí)文件目錄README.md說(shuō)明文檔作者寫(xiě)的運(yùn)行說(shuō)明、環(huán)境要求和參數(shù)備注作者的 README 往往會(huì)把踩過(guò)的坑寫(xiě)在里面下載后先打開(kāi) README.md比在網(wǎng)上搜別人轉(zhuǎn)述的第二手經(jīng)驗(yàn)可靠得多。我習(xí)慣先看 req.sh 里鎖了哪些庫(kù)再去結(jié)合 README 確認(rèn) Python 版本因?yàn)?BERT 這類(lèi)老工程的網(wǎng)絡(luò)結(jié)構(gòu)改動(dòng)大依賴(lài)版本差一個(gè)小版本都可能起不來(lái)。接下來(lái)在項(xiàng)目根目錄執(zhí)行一次目錄確認(rèn)把路徑和環(huán)境看清楚cd Multi-domain-fake-news-detection-master tree -L 2 python --version這段命令的作用是確認(rèn)你當(dāng)前所在目錄就是項(xiàng)目根目錄同時(shí)看出一級(jí)目錄結(jié)構(gòu)是否完整。tree 不存在時(shí)可以用find . -maxdepth 2 -type d代替python --version用于確認(rèn)解釋器版本BERT 相關(guān)代碼用 Python 3.6 或 3.7 最常見(jiàn)如果你本機(jī)默認(rèn)是 3.11后面依賴(lài)安裝很容易出現(xiàn)不兼容。2.2 訓(xùn)練與推理的調(diào)用鏈train.sh 和 test.sh 到底誰(shuí)先執(zhí)行整個(gè)工程不是單文件孤軍奮戰(zhàn)主流程走的是「req.sh → bert-final.py → lgb_cat_blend_lb9546.py → predict_test.py」這條鏈。這里我按這類(lèi)項(xiàng)目最常見(jiàn)的腳本結(jié)構(gòu)還原一下 train.sh你解壓后看到的行數(shù)可能更多但主線(xiàn)就是這三步#!/bin/bash # 1. 先按 packages.txt 安裝依賴(lài) bash req.sh # 2. 用 BERT 微調(diào)文本編碼器并保存抽取好的向量文件 python bert-final.py \ --data_dir data/fake_news.csv \ --bert_dir model/tf_bert_model \ --max_seq_length 128 \ --batch_size 16 \ --num_epochs 3 \ --output_dir output/bert_ckpt # 3. 訓(xùn)練 LightGBM CatBoost 混合模型 python lgb_cat_blend_lb9546.py --mode train這里每一條命令都有明確目的第 1 條是裝依賴(lài)第 2 條做語(yǔ)義編碼第 3 條做分類(lèi)器融合。注意第 2 條的輸出目錄output/bert_ckpt它和第 3 條腳本讀取的特征向量目錄是同一處這個(gè)銜接關(guān)系斷掉混合模型就會(huì)拿到空文件或者直接報(bào)錯(cuò)。test.sh 相對(duì)簡(jiǎn)單一般就是把推理腳本指向測(cè)試集和模型產(chǎn)物#!/bin/bash python predict_test.py \ --test_file data/test.csv \ --model_dir output \ --output result.csv它的輸入有兩個(gè)關(guān)鍵來(lái)源--test_file指向待檢測(cè)的新聞數(shù)據(jù)--model_dir指向第 2 步保存的 BERT 和第 3 步保存的樹(shù)模型。推理腳本會(huì)按特征列名對(duì)齊數(shù)據(jù)列名順序錯(cuò)一位lightgbm 就直接拋特征數(shù)不匹配。2.3 model/tf_bert_model 目錄TensorFlow 預(yù)訓(xùn)練權(quán)重的組織方式這個(gè)項(xiàng)目用的是 TensorFlow 格式的 BERT不是 PyTorch 的 bin 文件。目錄里通常包含三類(lèi)文件bert_config.json定義模型結(jié)構(gòu)vocab.txt是詞表bert_model.ckpt.data-*、bert_model.ckpt.index、bert_model.ckpt.meta是預(yù)訓(xùn)練權(quán)重。拿到權(quán)重后先確認(rèn)文件完整性ls -lh model/tf_bert_model正常情況下列表里能同時(shí)看到bert_config.json、vocab.txt、bert_model.ckpt.index和bert_model.ckpt.data-00000-of-00001。如果只有配置文件沒(méi)有權(quán)重文件說(shuō)明權(quán)重下載不完整加載時(shí)會(huì)在 restore 階段報(bào) checkpoint 找不到。這套權(quán)重在模型加載階段的作用是提供初始參數(shù)微調(diào)之后覆蓋的只是分類(lèi)層和高層語(yǔ)義底層的通用語(yǔ)言知識(shí)是從這份權(quán)重繼承來(lái)的。文件名里的tf_bert_model直接說(shuō)明了它是 TensorFlow 1.x checkpoint 格式這決定了項(xiàng)目里bert-final.py的加載方式用的是tf.train.Checkpoint或tf.train.Saver那一套。后面復(fù)現(xiàn)時(shí)選擇虛擬環(huán)境版本也要跟著這個(gè)格式走。3. 微調(diào) BERT 文本語(yǔ)義編碼器bert-final.py 的加載、訓(xùn)練與特征抽取BERT 在這個(gè)工程里的角色不是最終分類(lèi)器而是把文本變成 768 維語(yǔ)義向量的編碼器。所以我拿到 bert-final.py 后最關(guān)心三件事預(yù)訓(xùn)練權(quán)重怎么加載、微調(diào)參數(shù)怎么設(shè)置、向量怎么抽取和保存。這三件事做完后面的樹(shù)模型才有像樣的輸入。3.1 加載預(yù)訓(xùn)練權(quán)重BertConfig、vocab.txt 和 ckpt 的配合方式加載 TF 版 BERT 的標(biāo)配步驟是用BertConfig.from_json_file讀結(jié)構(gòu)配置用FullTokenizer讀詞表做分詞再用 checkpoint 恢復(fù)權(quán)重。按項(xiàng)目的目錄結(jié)構(gòu)加載部分的核心邏輯可以整理成下面這樣跑之前對(duì)照一下bert-final.py里的函數(shù)名避免接口版本不一致# load_bert_encoder.py import tensorflow as tf from bert.tokenization import FullTokenizer from bert.modeling import BertConfig, BertModel BERT_DIR model/tf_bert_model bert_config BertConfig.from_json_file(BERT_DIR /bert_config.json) tokenizer FullTokenizer(vocab_fileBERT_DIR /vocab.txt) init_checkpoint BERT_DIR /bert_model.ckpt這里三個(gè)輸入的職責(zé)不同bert_config.json告訴模型有多少層、多少頭、隱層維度是多少vocab.txt是分詞用的詞表中英文混合文本的 tokenizer 全靠它切出詞片bert_model.ckpt是初始權(quán)重微調(diào)時(shí)tf.train.Checkpoint.restore會(huì)把預(yù)訓(xùn)練參數(shù)恢復(fù)進(jìn)來(lái)。三者缺任何一個(gè)模型都起不來(lái)。3.2 訓(xùn)練參數(shù)實(shí)測(cè)max_seq_length、batch_size、learning_rate 的推薦配置BERT 微調(diào)沒(méi)有太多玄學(xué)參數(shù)組合基本固定但每個(gè)參數(shù)改錯(cuò)方向損失值都會(huì)給你顏色看。這個(gè)項(xiàng)目在本地復(fù)現(xiàn)時(shí)我建議先按下面這組參數(shù)起步參數(shù)推薦值說(shuō)明max_seq_length128新聞標(biāo)題和短文本 128 足夠長(zhǎng)正文案例可以上調(diào)到 256batch_size16顯存 6G 以下降到 8 或 4learning_rate2e-5BERT 微調(diào)標(biāo)準(zhǔn)量級(jí)1e-5 到 5e-5 之間調(diào)num_epochs3數(shù)據(jù)集小的情況下 2 ~ 4 輪收斂warmup_proportion0.1前 10% 步數(shù)線(xiàn)性預(yù)熱防止前期震蕩這些參數(shù)為什么這樣配BERT 微調(diào)時(shí)學(xué)習(xí)率如果給到普通網(wǎng)絡(luò)的 1e-3第一輪就會(huì) loss 爆炸max_seq_length也不是越大越好所有 token 一次性進(jìn)顯存長(zhǎng)度翻倍顯存占用接近翻倍文本本身只有幾十個(gè)字時(shí)設(shè) 512 純屬浪費(fèi)。首次復(fù)現(xiàn)先用小參數(shù)把流程跑通再改大值提精度這是正確的調(diào)參順序。3.3 把 BERT 輸出轉(zhuǎn)成向量CLS 池化與文本向量化函數(shù)BERT 的骨干網(wǎng)絡(luò)跑完每個(gè) token 位置都有一組隱層向量但樹(shù)模型需要的是一條文本一個(gè)向量而不是二維矩陣。常見(jiàn)做法有兩種取[CLS]位的輸出或者對(duì)所有 token 向量做平均池化。工程里普遍用 CLS 池化處理起來(lái)更直接# text_to_vec.py def bert_encode_and_pool(model, tokenizer, texts, max_seq_length128): input_ids_all, mask_all, segment_ids_all [], [], [] for text in texts: tokens tokenizer.tokenize(text)[: max_seq_length - 2] tokens [[CLS]] tokens [[SEP]] input_ids tokenizer.convert_tokens_to_ids(tokens) padding_len max_seq_length - len(input_ids) input_ids [0] * padding_len mask [1] * len(tokens) [0] * padding_len segment_ids [0] * max_seq_length input_ids_all.append(input_ids) mask_all.append(mask) segment_ids_all.append(segment_ids) input_ids_t tf.constant(input_ids_all, dtypetf.int32) mask_t tf.constant(mask_all, dtypetf.int32) segment_t tf.constant(segment_ids_all, dtypetf.int32) pooled model.get_pooled_output() with tf.Session() as sess: sess.run(tf.global_variables_initializer()) return sess.run(pooled, feed_dict{ input_ids:0: input_ids_t, input_mask:0: mask_t, token_type_ids:0: segment_t, })這段代碼的關(guān)鍵點(diǎn)有三個(gè)一是[CLS]和[SEP]占掉兩個(gè)位置所以原始 token 截?cái)嚅L(zhǎng)度是max_seq_length - 2二是mask里真實(shí) token 記 1、padding 記 0讓模型忽略補(bǔ)零位三是get_pooled_output()拿到的就是 CLS 位的池化向量形狀是(batch_size, 768)。如果發(fā)現(xiàn)向量維度不是 768先檢查bert_config.json里的hidden_size。3.4 訓(xùn)練日志與中斷恢復(fù)看什么指標(biāo)、存哪些 checkpoint訓(xùn)練時(shí)損失值只是參考更重要的是確認(rèn) loss 在 epoch 交界處有沒(méi)有下降趨勢(shì)。BERT 微調(diào)數(shù)據(jù)集往往只有幾萬(wàn)條三個(gè) epoch 的損失曲線(xiàn)如果從一開(kāi)始就亂跳優(yōu)先懷疑學(xué)習(xí)率過(guò)大或數(shù)據(jù)沒(méi)隨機(jī)洗牌。啟動(dòng)訓(xùn)練時(shí)直接用命令行參數(shù)跑python bert-final.py \ --data_dir data/fake_news.csv \ --bert_dir model/tf_bert_model \ --max_seq_length 128 \ --batch_size 16 \ --learning_rate 2e-5 \ --num_epochs 3 \ --output_dir output/bert_ckpt訓(xùn)練中斷很常見(jiàn)顯存不夠、斷電、手動(dòng) CtrlC 都可能讓過(guò)程停在中間。所以跑之前確保output/bert_ckpt目錄是新建的里面不要?dú)埩羯弦淮蔚呐f checkpoint否則恢復(fù)訓(xùn)練時(shí)會(huì)把舊權(quán)重當(dāng)成初始化權(quán)重白跑一輪。我的習(xí)慣是每 500 步打印一次 loss同時(shí)把模型按 step 號(hào)存成ckpt-500、ckpt-1000這種命名斷點(diǎn)續(xù)跑時(shí)用--init_checkpoint指到最近一個(gè) checkpoint。4. 特征融合與 LGB CatBoost 混合lgb_cat_blend_lb9546.py 的集成細(xì)節(jié)模型名lgb_cat_blend_lb9546.py里的 lb 我理解是 leaderboard 的縮寫(xiě)blend 表示混合這種命名在有競(jìng)賽經(jīng)驗(yàn)的工程里很常見(jiàn)。它要解決的問(wèn)題是BERT 向量擅長(zhǎng)語(yǔ)義但虛假新聞里大量線(xiàn)索藏在標(biāo)題長(zhǎng)度、感嘆號(hào)數(shù)量、URL 出現(xiàn)與否這些統(tǒng)計(jì)特征里樹(shù)模型恰好擅長(zhǎng)這些。兩者融合準(zhǔn)確率通常比單一 BERT 微調(diào)分類(lèi)高出兩個(gè)點(diǎn)以上。4.1 為什么混合樹(shù)模型BERT 向量自帶語(yǔ)義但弱在統(tǒng)計(jì)特征單純用 BERT 最后一層向量接 softmax 做二分類(lèi)能抓住「這段話(huà)像不像謠言」但抓不住「標(biāo)題全是感嘆號(hào)」這種強(qiáng)信號(hào)。虛假新聞數(shù)據(jù)集里標(biāo)題帶多個(gè)感嘆號(hào)、正文帶陌生 URL、全是數(shù)字百分比這些特征在統(tǒng)計(jì)層面有區(qū)分度BERT 卻把它們稀釋在語(yǔ)義編碼里了。樹(shù)模型對(duì)小數(shù)據(jù)集和稀疏特征非常友好而且 LGB 和 CatBoost 兩個(gè)模型雖然都是梯度提升樹(shù)內(nèi)部處理類(lèi)別特征和缺失值的方式不同預(yù)測(cè)偏差也不一樣。把它們對(duì)同一批樣本的輸出做加權(quán)平均能抵消一部分各自的過(guò)擬合。這也是這個(gè)工程把 BERT 語(yǔ)義向量維度降到 768 之后還要拼接統(tǒng)計(jì)特征再進(jìn)樹(shù)模型的原因。4.2 特征工程768 維 BERT 向量之外還能拼哪些手寫(xiě)特征特征構(gòu)造是這套多模態(tài)方案里投入產(chǎn)出比最高的一步。我按典型虛假新聞樣本的特性整理了幾個(gè)百搭的統(tǒng)計(jì)特征# features.py import re def build_stat_features(title: str) - dict: if not isinstance(title, str): title features {} features[title_len] len(title) features[num_exclamation] title.count(!) features[num_question] title.count(?) features[has_url] 1 if re.search(rhttps?://, title) else 0 features[digit_ratio] sum(c.isdigit() for c in title) / (len(title) 1) features[word_count] len(title.split()) return features每個(gè)特征的設(shè)計(jì)理由都對(duì)應(yīng)一類(lèi)假新聞套路num_exclamation抓標(biāo)題黨情緒化的感嘆號(hào)轟炸has_url抓誘導(dǎo)跳轉(zhuǎn)鏈接digit_ratio抓那種「99% 的人不知道」的偽科學(xué)數(shù)字化表達(dá)title_len是對(duì)過(guò)短標(biāo)題和超長(zhǎng)標(biāo)題做區(qū)分。這些特征拼接到 BERT 向量的尾部組成最終輸入維度從 768 變成768 len(stat_features)。4.3 五折交叉驗(yàn)證與早停blend 邏輯與權(quán)重選擇混合模型的重點(diǎn)不是分別訓(xùn)練兩個(gè)模型而是讓兩個(gè)模型在同一個(gè)驗(yàn)證集上打分再按權(quán)重融合。標(biāo)準(zhǔn)做法是五折交叉驗(yàn)證每一折分別訓(xùn)兩個(gè)模型各自對(duì)驗(yàn)證折出概率。核心邏輯整理如下# blend_core.py import numpy as np from sklearn.model_selection import StratifiedKFold import lightgbm as lgb from catboost import CatBoostClassifier def oof_blend(X, y, lgb_weight0.6, seed42): skf StratifiedKFold(n_splits5, shuffleTrue, random_stateseed) oof_lgb np.zeros(len(y)) oof_cat np.zeros(len(y)) for train_idx, valid_idx in skf.split(X, y): X_tr, X_va X.iloc[train_idx], X.iloc[valid_idx] y_tr, y_va y.iloc[train_idx], y.iloc[valid_idx] lgb_model lgb.LGBMClassifier( n_estimators800, learning_rate0.05, num_leaves31 ) lgb_model.fit( X_tr, y_tr, eval_set(X_va, y_va), early_stopping_rounds50, verbose0 ) cat_model CatBoostClassifier( iterations800, learning_rate0.05, depth7, eval_metricAUC, verbose0 ) cat_model.fit( X_tr, y_tr, eval_set(X_va, y_va), early_stopping_rounds50 ) oof_lgb[valid_idx] lgb_model.predict_proba(X_va)[:, 1] oof_cat[valid_idx] cat_model.predict_proba(X_va)[:, 1] blend lgb_weight * oof_lgb (1 - lgb_weight) * oof_cat return blend, oof_lgb, oof_cat這段代碼里有三個(gè)參數(shù)值得單獨(dú)說(shuō)。lgb_weight0.6表示 LGB 結(jié)果占 60%、CatBoost 占 40%這個(gè)比例不是拍腦袋定的而是看兩者在驗(yàn)證集上的 AUC 誰(shuí)高誰(shuí)低高的那個(gè)給更高權(quán)重。early_stopping_rounds50的作用是驗(yàn)證集指標(biāo)連續(xù) 50 輪不提升就停止迭代防止訓(xùn)練到后期過(guò)擬合。StratifiedKFold保證每折訓(xùn)練集和驗(yàn)證集里真實(shí)新聞、虛假新聞比例跟全量數(shù)據(jù)一致類(lèi)別不平衡時(shí)這個(gè)分層極其重要。4.4 模型產(chǎn)物與推理輸入把 lgb 和 catboost 模型 save_model 出來(lái)兩個(gè)模型訓(xùn)練完成后需要把模型權(quán)重和特征列名都存到磁盤(pán)供 predict_test.py 加載。只存模型不存特征列順序是后面最容易翻車(chē)的地方# save_models.py import lightgbm as lgb # lgb_model 是上面訓(xùn)練好的 LGBMClassifier lgb_model.booster_.save_model(output/lgb_model.txt) # cat_model 是 CatBoostClassifier cat_model.save_model(output/cat_model.bin) # 把特征列名的順序固定下來(lái)推理時(shí)按這個(gè)順序拼數(shù)據(jù) with open(output/feature_cols.txt, w, encodingutf-8) as f: f.write(\n.join(X.columns))feature_cols.txt是推理階段的對(duì)賬工具。訓(xùn)練時(shí) X 的列順序是 「768 維 BERT 向量 統(tǒng)計(jì)特征」推理時(shí)必須用完全一樣的順序重新拼接。單獨(dú)把列名存成文件就是為了避免每次靠記憶排序一記錯(cuò)推理階段就會(huì)報(bào)特征數(shù)不匹配。以后每訓(xùn)練一版模型這三個(gè)文件要同時(shí)更新只更新其中一個(gè)線(xiàn)上推理用的還是舊特征順序預(yù)測(cè)結(jié)果會(huì)失真。5. 復(fù)現(xiàn)避坑版本、路徑、顯存與 catboost_info 的五個(gè)翻車(chē)現(xiàn)場(chǎng)這套工程整體不復(fù)雜但復(fù)現(xiàn)時(shí)最容易出問(wèn)題的往往不是算法而是環(huán)境。下面的問(wèn)題我基本都親手踩過(guò)一遍每條按「現(xiàn)象 → 原因 → 解決」寫(xiě)清楚你可以直接對(duì)照排查。5.1 TensorFlow 版本過(guò)高AttributeError 和 contrib 找不到現(xiàn)象運(yùn)行bert-final.py還沒(méi)開(kāi)始訓(xùn)練直接報(bào)AttributeError: module tensorflow has no attribute gfile或者M(jìn)oduleNotFoundError: No module named tensorflow.contrib。原因源碼基于 TensorFlow 1.x 編寫(xiě)調(diào)用的是tf.gfile.GFile、tf.contrib這些 1.x 舊接口。TensorFlow 2.x 把tf.contrib整體移除tf.gfile挪到了tf.io.gfile老代碼自然起不來(lái)。解決按照req.sh或packages.txt里的說(shuō)明安裝 TF 1.15 系列優(yōu)先考慮 GPU 版pip install tensorflow-gpu1.15.0如果本機(jī)沒(méi)有 GPU就裝 CPU 版tensorflow1.15.0BERT 微調(diào)慢一些但流程能走通。我建議建獨(dú)立虛擬環(huán)境再裝不要?jiǎng)酉到y(tǒng)里的 Python否則影響其他項(xiàng)目。5.2 項(xiàng)目放在中文路徑vocab.txt 加載失敗與亂碼現(xiàn)象訓(xùn)練腳本能啟動(dòng)但加載vocab.txt時(shí)報(bào)NotFoundError路徑打印出來(lái)是一串看不懂的轉(zhuǎn)義字符。原因tf.gfile在 Windows 下對(duì)中文路徑和特殊字符支持不穩(wěn)定路徑里的中文被錯(cuò)誤編碼文件定位失敗。解決把整個(gè)項(xiàng)目目錄復(fù)制到純英文路徑下比如C:\projects\fake_news_detection確保從根目錄到項(xiàng)目目錄中間沒(méi)有中文和空格。用 PyCharm 的話(huà)右鍵項(xiàng)目根目錄執(zhí)行 Mark Directory as Sources Root讓相對(duì)路徑model/tf_bert_model能穩(wěn)定解析。5.3 顯存溢出CUDA_OUT_OF_MEMORY 不一定只能換顯卡現(xiàn)象訓(xùn)練跑到幾百步報(bào)ResourceExhaustedError: OOM when allocating tensor程序直接中斷。原因BERT 是顯存大戶(hù)max_seq_length設(shè)為 256、batch_size設(shè)為 32 時(shí)一張 6G 顯存的卡根本扛不住。12 層 Transformer 同時(shí)駐留顯存前向傳播和反向傳播都要保存中間激活值。解決優(yōu)先降batch_size到 8 或 4配合把max_seq_length降到 128。每條新聞標(biāo)題通常不超過(guò)幾十個(gè)字128 的長(zhǎng)度限制足夠。顯存還是不夠時(shí)再限制當(dāng)前進(jìn)程只看見(jiàn)一張卡CUDA_VISIBLE_DEVICES0 python bert-final.py \ --max_seq_length 128 --batch_size 4CUDA_VISIBLE_DEVICES0的作用是讓程序只使用索引為 0 的顯卡避免 TensorFlow 把顯存均勻吃滿(mǎn)所有卡造成其他顯存被白白占用。5.4 catboost_info 目錄寫(xiě)不進(jìn)訓(xùn)練中斷在第 0 步現(xiàn)象跑lgb_cat_blend_lb9546.pyCatBoost 剛開(kāi)始訓(xùn)練就退出報(bào)無(wú)法寫(xiě)入catboost_info或learn目錄相關(guān)錯(cuò)誤。原因項(xiàng)目壓縮包里自帶了一個(gè)catboost_info目錄解壓后如果被設(shè)成只讀或者當(dāng)前工作目錄權(quán)限受限CatBoost 默認(rèn)的日志目錄寫(xiě)不進(jìn)去模型直接拒絕訓(xùn)練。解決在腳本開(kāi)頭顯式創(chuàng)建目錄或者指定一個(gè)可寫(xiě)目錄。常見(jiàn)做法是在訓(xùn)練前加上import os os.makedirs(catboost_info, exist_okTrue)exist_okTrue表示目錄已存在時(shí)不報(bào)錯(cuò)不存在時(shí)自動(dòng)創(chuàng)建。這樣就把目錄寫(xiě)權(quán)限問(wèn)題擋在訓(xùn)練啟動(dòng)之前后面 CatBoost 才能正常輸出日志和中間模型。5.5 特征維度對(duì)不上lightgbm 報(bào) feature mismatch現(xiàn)象predict_test.py推理時(shí)lightgbm 報(bào)錯(cuò)提示數(shù)據(jù)特征數(shù)是 812但模型期望 813 個(gè)特征。原因訓(xùn)練階段特征列是「768 維 BERT 向量 統(tǒng)計(jì)特征」共 813 列推理時(shí) BERT 向量正常但統(tǒng)計(jì)特征少拼了一列。最常見(jiàn)的是某條測(cè)試數(shù)據(jù)標(biāo)題為空特征構(gòu)造函數(shù)返回的字典缺了title_len或word_count導(dǎo)致拼接后矩陣少一列。解決推理前用訓(xùn)練階段保存的feature_cols.txt強(qiáng)制對(duì)齊列順序和列數(shù)量import pandas as pd feature_cols open(output/feature_cols.txt, encodingutf-8).read().splitlines() X_test X_test.reindex(columnsfeature_cols, fill_value0)reindex會(huì)把缺失的列補(bǔ) 0多出來(lái)的列自動(dòng)丟棄保證進(jìn)入樹(shù)模型的特征數(shù)量永遠(yuǎn)和訓(xùn)練時(shí)一致。我的習(xí)慣是把這行代碼貼在推理腳本的數(shù)據(jù)準(zhǔn)備部分每次訓(xùn)練完模型先跑一遍 test.sh 驗(yàn)證維度再交付到線(xiàn)上。6. 把 predict_test.py 改造成單個(gè)新聞標(biāo)題的實(shí)時(shí)檢測(cè)入口predict_test.py 默認(rèn)是批處理模式讀一個(gè) CSV 輸出一個(gè) CSV。但實(shí)際使用時(shí)更多場(chǎng)景是拿到一條新聞標(biāo)題馬上判斷真假。把它改造成單條文本的檢測(cè)函數(shù)是最實(shí)用的二次開(kāi)發(fā)。6.1 predict_test.py 原本的輸入輸出格式原腳本做的事是讀取測(cè)試集 → 拼接 BERT 向量和統(tǒng)計(jì)特征 → 加載output目錄里的樹(shù)模型 → 輸出預(yù)測(cè)概率 CSV。改造方向是把「讀整個(gè)測(cè)試集」換成「接收一條字符串」內(nèi)部流程保持不變。6.2 封裝 detect() 函數(shù)從文本清洗到概率輸出改造后的入口函數(shù)可以這樣組織# detect_news.py import pandas as pd import lightgbm as lgb from load_bert_encoder import load_bert_encoder, text_to_vec from features import build_stat_features bert_encoder load_bert_encoder(model/tf_bert_model) lgb_model lgb.Booster(model_fileoutput/lgb_model.txt) feature_cols open(output/feature_cols.txt, encodingutf-8).read().splitlines() def detect(news_text: str): clean_text news_text.strip().replace(\n, ) bert_vec_df text_to_vec([clean_text], bert_encoder, max_seq_length128) stat_feats pd.DataFrame([build_stat_features(clean_text)]) X pd.concat([bert_vec_df, stat_feats], axis1)[feature_cols] prob lgb_model.predict(X)[0] return (虛假新聞 if prob 0.5 else 真實(shí)新聞), float(prob)這個(gè)函數(shù)里去掉了 CSV 讀取把手工特征構(gòu)造和 BERT 向量化封裝成兩個(gè)可復(fù)用函數(shù)輸出是(類(lèi)別, 概率)元組。改造完畢后再包裝成 FastAPI 或 Flask 接口就能對(duì)外服務(wù)。Booster直接加載output/lgb_model.txt比重新訓(xùn)練快得多適合部署時(shí)用。6.3 部署前的檢查清單上線(xiàn)前至少驗(yàn)證三件事拿一條真實(shí)新聞和一條典型假新聞各跑一次確認(rèn)輸出類(lèi)別符合直覺(jué)檢查概率值是否落在 0 到 1 之間超出就說(shuō)明模型輸出沒(méi)做 sigmoid再確認(rèn)feature_cols.txt是最新一版不要和舊模型交叉使用。我自己就吃過(guò)這個(gè)虧訓(xùn)練完新模型忘記同步特征列文件線(xiàn)上推理用舊列順序拼數(shù)據(jù)靜默地出了好幾天錯(cuò)結(jié)果才被發(fā)現(xiàn)。從那以后我每次訓(xùn)練完都強(qiáng)制走一遍「保存模型 → 保存特征列 → 跑單條檢測(cè)函數(shù) → 核對(duì)輸出」再交付給別人用。希望這條流程能幫到你也祝你復(fù)現(xiàn)順利。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
狠狠操狠狠狠| 清色五月天| 激情噜噜噜| 9热在线观看| 91超碰在线播放| 色色婷婷丁香| 99热在线观看99| 丁香五月成人| www.色九月| 天天婷婷天天| 综合色色综合| www...com黄在线观看| 婷婷五月天亚洲| 五月综合激情婷婷六月色窝| 五月开心深爱激情网| 在线你懂的亚洲欧| 亚洲视频另类| 国产毛片操B| 操逼视频一区| www.99热在线| 天堂草在线看www| 五月综合视频在线| 9久久久久久久久久久| .精品久久久麻豆国产精品| 99re热视频这里只精品5| 五月婷五月婷伊人伊人五月婷| 九九色婷婷五月天| 亚洲亚洲人成综合网络| 狠狠色综合网| 五月天色社区| 狠狠色色| 亚洲操操| 天天色情站| 少妇综合网| 亚洲综合五月天综合| 欧美日韩成人高清在线| 久久99最新地址| 中文字幕婷婷| 五月天色社区| 九月婷婷丁香| 人人操人人操919999| 国产FREESEXVIDEOS性中国| 久久婷婷视频| 久久久久久久久人妻| 婷婷婷色五月| 亚洲精品乱码久久久久久按摩观| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 99在线视频女女视频| 九九热超碰| 色色色免费视频| 97久操| 久久99网| 欧美叉叉叉BBB网站| 久久天堂| 日本丁香五月| 亚洲亚洲人成综合网络| 亚洲狠狠丁香婷婷香蕉| 碰久久精品w| 无码少妇高潮喷水A片免费| 久久东京热婷婷五月| 丁香婷婷六月激情| 久久机热思思热| 天天操夜夜夜拍拍拍| 亚洲无码猫咪| 97人人搞| 激情六月下句是什么| 亚洲午夜电影| 日韩九九视频| 精品99爱免费视频在线观看| 欧美人妻一区二区| 92久久| 五月天婷婷激情在线色图| 婷婷亚洲五月色综合| 婷婷综合激情五月综合| 色五月天成人| 九月婷婷| 99九九玖玖| 色五月婷婷在线| 永久免费一区二区三区| 日韩无码成人电影| 色综合99色| 国产女生爱爱AA| av线电影| 激情小说五月天| 精品99在线观看| 激情AV在线| 中文字幕人妻在线| 五月婷婷丁香色吧网| 四色AVwww| 17.c黄色| 欧美婷婷五月丁香| 玖玖色综合| 久久久精品AV| 丁香,开心成人,久久| 亚洲人成网站999综合| 亚洲一级AV在线免费播放| 亚洲视频另类| site:pzdcoin.com| 婷婷八月丁香激情综合| 思思热在线观看| 人妻有码乱操| 丁香婷婷五月天亚洲| 婷婷六月丁香久| 五月丁香六月花| 97热在线精品| 国成人网| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | Jh7Uf088VHafNm| 天天爽天天爽视频| 久操热| 九九无码| 91久久久久久| 色五月综合激情网| 狠狠久久婷五月| 久9精品| 激情综合网址| 色性日本| www夜夜操| 久久久www| 婷婷狠狠操| 26uuuu精品一区二区| 婷婷六月综合| 五月婷婷六月爱| 五月天成人在线播放| www.色婷婷| 久草丁香婷婷五月天婷| 色丁香久综合在线久综合在线观看| 另类激情五月在线视频欧美| 黄色AAAAAAA| 99色激| 丁香婷婷激情五月| 久久久久久久久久8888| 九九Av| 久久老码第一| 丁香婷婷色五月| 91九色偷拍| 激情综合亚洲| 激情综合亚洲| 五月婷婷激情网| 婷婷丁香激情五月天色色| 午夜成人天堂久久无码日韩久久| 人人叉久| 狠狠色五月天| 久久婷婷五月综合啪| 色色丁香激情五月| 色婷婷精品视频在线播放| 91婷婷丁香| 这里只有国产精品在线| 婷婷综合中文| 婷婷五月18永久免费视频| 日日夜夜干| 久久综合五月天| www.夜夜操.com| 欧美成人猛片AAAAAAA| 亚洲欧美婷婷五月色综合| 色色色视频| 九九碰九九爱97| 99精品高潮| 四色99久久| 内射 无码 伊人| 日韩一区二区三区无码| 亚洲在线免费成人| 九九精品视频在线观看| 9999热在线观看| 亚洲五月色| 久久91久久精品久久| 婷婷色日本| 99精品偷自拍| 五月婷婷综合丁香视频| 9人人操人人看| 91在线观看www| 五月天伊人日日噜影片AV| 五月天激情国产综合婷婷婷| 亚洲婷婷激情五月天| 666555。COm毛片| 、激情六月天| 五月天久久婷| 99色精品| 天天干夜夜操A片| 久久9视频| 一起草Av| 男人的天堂婷婷色五月| 激情六月日韩| 中文字幕AV在线播放| 超碰九九热| 成人片在线播放| 色五月丁香五月| 免费黄色AV| 久久精品99久久| 97色色视频| 91色噜噜狠狠狠狠色综合| 天天综合五月天| 五月婷婷偷拍| 黄网在线免费| AV在线免费播放| 狠狠大香婷婷爱| 综合激情在线视频| 袁子仪视频观看| 丁香五月之久操视频| 人人摸人人摸| 天干干夜夜操| 九九色天堂| 欧美丁香婷婷五月| 俺去也五月| 六月婷久久| 国外亚洲成AV人片在线观看| 91九色熟女| 熟女五月天久久综合| www.夜夜爱.com| 亚洲免费观看高清完整版AV线| 4399在线日本A片| 一级精品999WWW| 99热在线爱| 依人大香蕉在钱1| 激情六月天婷婷| 一二区成人电影| 日本一级| 激情欧美五月丁香| 爱草视频在线| 婷婷六月色| 色和综合网| 欧美大香蕉视频| 99re这里只有精品免费| 激情六月婷婷| 色色欧美色色| 色色操| 五月天久久婷婷| 五月丁香六月日逼| 久久久精品视频79| 丁香五月激情欧美| 超碰九热| 丁香五月激情五月| 婷婷九月丁香| 婷婷娌伦网| 丁香欧美| 天天日天天做天天操| 色婷婷网| 亚洲精品亚洲人成人网| www.91在线看| 色月丁| 国产毛片欧美毛片久久久| 婷婷五月丁香91| 日本激情五月天‘| 天天插天天| 婷婷5月色| 久久婷婷色综合| 99热超| 以及AA大片看看| 九九无码| 蜜臀AV在线观看| 99爱视频在线| 色五月激情五月开心五月| 天天干,天天日| 青青草原亚洲天堂| 丁香色五月 97干| 婷婷色吧| 人人九色| 91性高潮久久久久久久久| 成人 九九九九| 九月丁香婷婷网| 色五月丁香五| 成人无码中文| 丁香久月婷| 亚洲中文AV网站| 三十熟女| 色综合婷婷99| 久久天堂婷婷五月| 婷婷不卡基地| 888久久久| 亚洲成人综合网在线免费观看| 丰满人妻妇伦又伦精品国产| 天天干天天日蜜臀av| 天堂成人A片永久免费网站| www.激情| 婷婷激情性爱| 亚洲综合五月天婷婷丁香| 99热天堂| 99视频只有精品| 99热国产免费| 操碰色一区就去操| 99视频在线啪| 婷婷五月丁香综合亚洲 | 99久久综合| 激情五月天伊人影院| 丁香五月六月激情久久| 天天爽天天操| 丁香六月婷| 五月丁香综合激情| 九九久久玖玖爱| 婷婷成人av| 久久婷婷的综合色丁香五月| 五月婷啪| 天天操天天爽天天爱| 亚州欧美国产久精国产99综合视频| 国产精品久久久99视频| 丁香婷婷色情社区成人小说| 伊人婷婷大香蕉| 99久视频| 欧美人人草草| 熟女激情网| 国产美女最新VA在线免费观看| 伊人久久丁香婷婷六月五月综合| 超碰资源在线| 可以看的AV| 精品无码久久久久久久久| 丁香九月色| 神马欧美精| 久久er这里只有精品| 色六月丁香婷婷狠狠干| 国产精品美女| 一区二区成人电影免费播放| 欧洲亚洲午夜| www.久久五月天.com| 天天激情| 国产肥白大熟妇BBBB视频| 九八Av| 99热碰碰| 视色综合| 亚洲爆乳无码精品AAA片蜜桃| 国成人网| 99热久久最新地址| 99热这里只| 色婷婷AV久久| 好好日激情五月天| 免费黄色视频网址| 六月丁香婷婷大香蕉| 色一情一乱一乱一区91Av| 亚洲九九九九| 综合色影| 婷婷在线视频| 色婷婷久久综合久色综| 六月丁香综合网| 99色色| 色综合久久久无码中文字幕999| 婷婷五月天Av| 开心激情婷婷| 九九99九九精品视频| 99综合免费视频| 国产午夜一区二区三区| OYIWbGcPu8H| www色婷婷久久综合久色 | 色婷婷裸体色性在线| 欧美精品999| 久久婷婷五月综合网| 五月丁香六月久久| 美女激情综合| 六月婷婷九月丁香| 五月天激情网图片| 91无码色色| 97在线视频观看| 天天干天天色综合| 国洲夜色亚热在线久久| 激情丁香六月| 怡红院成人AV| www夜夜操| 久久婷婷网址| 99热费观看| 亚洲激情四射| 五月丁香六月婷婷不卡免费无码| 99热精品在线| 五月丁香色婷婷伊人| 久久性爱视频网站| 五月亭亭色| 99精品免费欧美小视频 | 精品久久9| 五月丁香六月在线| 一区无码| 免费亚洲婷婷| 碰碰人人人| 99玖玖免费视频| 色99色| 综合激情九月婷婷,激情综合婷婷中文字 | 69超碰在线| 人人操Av| 伊人高清无码| 婷婷五月激情天| 97色综合| 99只有精品| 亚洲Av成人在线观看| 五月婷六月| 日本韩国视频在线观看社区免费的9| 热99热| 国产精品a无线| 五月深爱婷婷| 激情碰碰碰| 婷婷色av| 六月婷基地| 午夜丁香六月婷| 影音先锋自拍网| 色婷婷五月天小说网| 丁香花狠狠婷婷亚洲中文字幕| dingxiangtingtingliuyue| 日日噜噜夜夜狠狠久久丁香五月| 日韩综合大黄| 激情视频综合| 色婷婷丁香五月| 五月丁香综合伦理片| 日韩精品视频中文字幕| 丁香五月综合亚洲| 97色欧美| 思思9久久| 六月丁香婷婷五月| 丁香五月欧美色综合| 五月天狠狠色| 六月婷婷色五月| 婷婷WWW久久| 久久99精品久久久久久噜噜| se色99| 任你弄在线视频免费| 丁香婷婷精品视频| 91操在线| 玖玖在线视频| 97欧美在线| 噜综合| 婷婷五月日本| 五月婷婷六月丁香| 伊人婷婷综合| 99免费视频网| 99热国产在| 久久久免费精彩视频| 色综合综合网| 91九色精品熟女内射| 狠狠色丁香婷婷久久综合| 超碰人妻在线| 狠狠人人婷婷| 色狠狠六月| 99久久精彩视频| www.99在线| 五月天亚洲综合网| 婷婷五月天激情小说网站| 99热丁香| 色约约视频一区二区三区四区五区 | 六月 丁香 视频| 严洲天天插| 五月天婷综合| 韩日AV片| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 99久久综合网| 99久视频| 无码区婷婷五月花开| 天天干天天玩天天夜天天射天天操天天日蜜臀少妇 | 色五月美女| 亚洲五月婷婷| 五月天综合色| 婷婷五月在线播放| 五月天婷婷黄色| 亚洲永远av在线播放| 五月天激情国产综合婷婷婷| 欧美爆乳一区二区三区| 色五月视频无码播放| 婷婷五月情| 亚州激情九月| 久久综合最新网址| 婷婷六月天国产综合| 久久精品这里只有精品免费首页| 99丁香五月婷| 人人摸人人澡人人| 色五月婷婷、老熟女| 亚洲成人一区| 久9久9热久热| 亚洲人妻电影| 骚五月婷婷| 4438全国最大视频成人网站在线观看| 狠狠爱深色婷婷综合| 丁香五月自拍| 99在线免费视频| 可以直接看的AV| 国产精品成人AV在线| 九热视频| 亚洲丁香五月天视频| 婷婷开心久久| 五月丁香六月婷婷国产视频| 婷婷六月丁香激情综合| 亚洲五月天综合| 亚洲精品色色| 亚洲天天免费| 狠狠操在线视频| 狠狠色丁香久久久婷| 日良久久| 婷婷五月天 偷拍| 久久黄色免费视频| 这里只有精品视频看看| 色婷婷五月天小说| 久久久人妻| 日熟女| 丁香六月啪啪啪| 狼人狠狠操| 337p大胆噜噜噜噜噜91Av| 五月天婷婷色综合| 精品一二三区久久AAA片| 五月婷婷丁香日韩在线| 五月综合丁| 国产1区2区3区| 99re这里只有精品99| 婷婷久草| 国产精品久久久丁香五月八戒视频| 日本3级片偷拍网站| 婷婷五月天免费99| 六月婷婷网| 91色综合网| 色,激情五月天| 免费AV播放| 人人干人人干骚美女| 丁香色色网| 色色色99韩| 色狠狠色狠狠| 成人 视频免费观看网站| 五月天婷婷色色| 久久视频在线视频| 久久久欧美精品sm网站| 色八月婷婷| 开心五月色婷婷综合开心网| 精品网站:999WWW| 91性高潮久久久久久久久| 97 A I色色| 日本欧美成人片AAAA| 五月丁香婷婷99| 四色永久成人网站| 99免费热视频| 五月天大香蕉| 欧美WW在线网| 丁香婷婷射| 丁香六月婷| 99久久九九| 伊人成综合五月婷婷| 操一区| 五月在在观看| 99久久综合网| 久热精彩视频98| 激情欧美婷婷| 99国产精品久久久久久久久久久| 国精产品一区一区三区免费视频| WWW.99视频| www激情网| 日本久久婷| 欧美三级视频| 超碰成人电影| 丁香婷婷激情六月五月开心| 午夜天天精品视频| 99久久.www| 五月丁香婷婷六月天| 日韩在线一级| 无码一级片| 黄久久久| A网在线欧洲| 亚洲色视频| 色五月婷婷青娱乐| 激情五月婷婷丁香综合网| 丁香六月综合| 九九aV| 色五婷婷开心缴| 玖玖在线视频| 91久久综合亚洲鲁鲁五月天| 色婷婷五月视频| 色色99| 六月激情婷婷| 六月撸婷婷| 成人五月天综合网| 激情视频网址| 五月丁香影院| 久热无码| 色婷婷色99国产综合精品| 另类激情码| 婷婷五月天小说网| 色婷婷无吗| 日本成人噜噜| 丁香五月婷婷综合激情哟哟哟| 色五月丁香一区在线| 久久视频这里有精品99| 9|无码久久久久久| 大香蕉精品视频| 婷婷九月综合| 久99热| 六月丁香啪啪啪| 69久久99精品久久久久婷婷| 超碰二区| 丁香九月激情| 丁香六月婷婷综合色| 泰州成人视频| 久久视频这里都是精品| 91五月天| 亚洲看av的网站| 影音先锋男人女人| 婷婷五月天激情丁香| 成人久碰| 99热国产免费| 8区视频在线| 婷婷五月天综合网| 激情综合青草| 亚洲狠狠色丁香婷婷综合久久| 激情五月天之五月婷婷| 国产精品99久久久久久久女警| 精品国产va久久久久久久| 国产又黄又爽又色的免费| 色播五月丁香综合| 婷婷五月欧美| 97超碰人人操| 一区二区中文字幕| 狠狠干五月| 日韩色五月| 99热只有精品在线| 亚洲操操操| 中文资源在线a | 五月天激情综合网俺也去| 欧美色婷婷| 六月婷婷天天操夜夜爽视频| 精品夜夜澡人妻无码AV| 99精品视频网站| 黄色一级影片| 开心五月激情网| 开心五月激情五月丁香五月婷婷| 91夫妻网站九色| 99视频在线观看网址| 婷婷天堂综合| 婷婷丁香六月天| 日日干日日| 丁香婷婷五月天校园春色| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 99久久视频| 激情五月天婷婷视频| 91视频久久久| 婷婷五月成人| 久久伊人五月天| 久久精彩综合视频| 天天色播| 97五月天| 色频玖玖五月天| 成 人片 黄 色 大 片| 九九热最新地址| 久久五月天影院| 九九热啪啪| 婷婷四色五月| 草草视频91| 综合在线观看99| 欧美成人A片AAA片在线播放 | 九九热精品| 日韩亚洲视频| 婷婷伊人五月丁香天堂网| 久热无码| 五月婷视频| 九九热a| 六月丁香天堂| 日韩在线看AV| 国产毛片精品一区二区色欲黄A片| 少妇丁香婷婷 | 天天做天天双| 亚洲午夜视频| 97ai婷婷| 色婷婷综合久久| 婷婷色片| 五月婷婷免费看| 天天在线久久综合| 99国产小视频2013| 亚洲综合婷婷五月| 影音先锋天天日| 天天干人人奸97| 欧美激情综合| 婷婷丁香人妻天天爽| 五月天婷婷视频小说| www.十八禁不禁AV.com| 99亚洲综合| 亚洲av网站在线观看| 亚洲中文AV网站| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 丁香婷婷成年| 少妇出轨做爰高潮A片| 久久久噜噜噜久久人妻| 色色丁香婷婷综合| 婷婷久久综| www,超碰| 激情综合99| 91精品久久久久、久五月天| 在线1青婷| 五月婷婷色吧!| 五月婷婷久久爱| 1024手机在线观看看片_日韩精品| 激情婷婷丁香色五月| 欧美97超碰| av大片在线| 婷婷久久网| 久久婷婷伊人| 久9视频免费播放| 五月婷婷六月情| 丁香五月六月激情| 99热这里只有在线| 这里只有免费精品| 日本色狠狠| 狠狠撸激情综合丁香五月天俺来啦| 九九热视频精品| 深夜男女福利刺激影院一区完整| 亚洲欧美成人在线| 日韩九九| 婷婷五月色| 99国产精品白浆在线观看免费| 日本久久爱| 日日操夜夜爽| 色综合色综合网| 色婷婷视频在线| 色婷婷亚洲婷婷在线观看| 天天综合色| 天天摸天天肏| 综合婷婷| 五月婷婷久久网| 51XX嘿嘿午夜无码| 日韩999| 婷婷激情五月天在线视频| 五月丁香久久综合精品| 狠狠色狠狠鲁| 婷婷五月天视频亚洲| 26uuu丁香婷婷五月| 色玖玖| 成人美女网| 丁香五月天日韩无码| 色五月 婷婷, 大香蕉| 久久久久婷婷| 亚洲a片免费观看| 色综合丁香婷婷| 婷婷在线观看五月天在线视频| 开心深爱五月天| 色综合日日| 99视频在线播放大全| 天天做天天爱天天高潮| 色综合99色| 91 久热| 影音 五月 婷婷 久久| 中文AV在线观看| 少妇日麻屄| 五月永久激情| 激情綜合網址| 激情深爱五月天| 婷婷六月天国产综合| 久久色五月天| 亚洲综合婷婷五月天| 日韩在线99| 2018国产大陆天天弄| 色婷婷影视| 激情五月天99色| 六月综和久久| 香蕉婷婷色五月| 五月丁久久| 九九综合九九| 五月婷婷中文| 久久久99精品免费观看| 超碰三级片| 色五月天激情| 五月天另类激情在线| 精品一区二区三区三区| 婷婷六月天天| 五月激情六月综合| 丁香五月影院| 第四色五月婷婷| 青青草tp| 26uuu成人网| 先锋影音av色五月天资源站| 久久久久久综合88| 激情综合网五月天| 97在线观视频免费观看| 女性自慰系列第五页| 99久久成人| 另类图片五月天| 国产.亚洲.欧洲视频在线| 五月婷婷婷自由综合| 婷婷五月色惰| 另类图片五月天婷婷| 天天婷婷天天| 丁香五月欧美| 色五月婷婷1| 久久思思热视频| 被强行糟蹋的女人A片| 大香蕉五月天婷婷| 午夜婷婷久久 | 欧美性爱日韩性爱| 婷婷色成人| 江苏少妇性BBB搡BBB爽爽爽 | 麻豆科斗777| 伊人婷婷色| 亚洲乱码精品久久久久..| 久99热| 久久人操| 中文字幕av在线| 久久婷婷国产| 99热这里是精品| 色色色在线观看| 99国产在线| 99re在线免费视频| 人人干Av| 亚洲久热| 天天草人人摸| 人人操AV| 伊人在线婷婷草| 99精品偷自拍| 婷婷久久婷婷色五月| 久久婷婷色| 婷婷五月天天天日日夜夜| 丁香五月av| 欧美va视频不用播放器的va视频网| 天天综合 99久久婷婷| 国产精品美女| 超碰AV在线| 色情五月天视频网| 天天干一干| 日韩六十路91性交电影| 色婷婷久久| 婷婷五月天深爱| 色逼综合网| 色婷婷六月丁香综合欲精品| 超碰网站在线观看| 亚洲色五月婷婷| 色婷久九| 色婷婷在线视频| 色播五月丁香婷婷| 日本婷婷色| 熟女激情网| 国产婷婷色综合AV蜜臀AV| 99热这里只有精品热| 激情婷婷护士激情| 五月色精品| 婷婷自拍| 久久丁香五月天| 人人射av| 第四色五月婷婷| 天天操夜夜操| 色色精品色| 五月婷婷涩涩爱| 啪啪啪五月天| 97碰碰人人视频| 婷婷亚洲五月| 99热只有| 久久性爱视频| 色色婷婷五月| 多精窝99在线视频| 草榴成人影片| 亚洲精品视频在线| 色99综合视频| 4438激情网| WWW久久久| 亚洲婷婷婷| 丁香婷婷色情| 久久九九99| 婷婷丁香五月天色区| 97香蕉人人在线观看| 丁香五月人妻| 成人丁香五月| 色女人久久| 裸体做A爰片毛片A片免费| 天天日天天爽夜夜爽| 日日噜人人人做人| 久草嫩草在线观看| 亚洲不卡| 丁香婷婷偷拍| 色婷婷五月综合在线| 国产乱妇乱子在线播视频播放网站| 99热99ai| 青青日韩| 99热热热天天人人人超超碰| 亚州色婷婷| 久香草视频在线观看| 停停六月 综合| 九九热精品| 久re热视频| 99手机在线精品视频| 久久这里只有精品热在99| 婷婷五月天伊人在线| 婷婷五月丁香香蕉| 久操热线| 青青草tp| 狠狠干夜夜干| 久久婷婷丁香六月天| 在线99热| 色婷婷啪啪啪啪啪啪| 色在线免费观看| 99热这里只有精品8| 日日夜夜小色哥| 亚洲VA欧美VA| 激情丁香社区| 99久久久久久www| 色婷婷亚洲综合天堂| 色婷婷在线视频| 婷婷五月天黄色| 5五月综合网亚洲| 五月丁香龟婷婷| 九九视频精品在线免费| 任你日视频| 五月婷婷综合影院| 午夜AV网| 色图亚洲91| 日本人妻伦在线中文字幕| 婷婷五月18永久免费视频| 开心久久爱五月天| 婷婷丁香九月| 欧美日韩成人在线免费| 天天天干夜夜夜操| 99久在线精品99re8热| 婷婷五月天激情视频| 玖色色综合| 久热精彩视频98| 99在线视频观看| 极品精品一区二区三区在线| 欧美黄色AA片哗啦啦啦| 人妻九九九九| 久久9视频欧美| 婷婷五月激情六月| 99久在线精品99re8热| 天天综合天综合| 婷婷五月色亚洲| 欧美激情-区二区三区| 丁香五月 综合| 最新午夜理论片| 男女免费视频999| 人妻aV在线| 97婷婷丁香五月天激情图片| 强壮公让我夜夜高潮A片视频| 五月天婷婷综合| www.五月天| 色色AV色色色东莞| 可以免费观看的AV| 日本五月婷婷| 婷婷激情人妻| 五月天婷婷伊人| 加勒比久热| 日本一级特黄大片AAAAA级| 丁香九月综合| 狠狠做五月| 91色色色| 秋霞三级影视资源| AV网站免费在线| 婷婷五月天成人在线视频| 91碰碰视频| 玖玖热99| 伊人热婷婷| 99热 在线播放| 337久久| 91在线97视频| 99热插| 99内射视频| 亚洲网视屏| 色综合播放| 人人色性网| 色色色色色网站| 99热主页日本| 久久er99热精品一区二区| 91a片爽| 五月丁香啪综合| 91热er| 丁香色播五月天| 五月天激情无码| 五月婷婷色情| 人妻日日日| 国产精品美女| 久久国产性爱A V| 五月天a婷婷伊人| 激情综合网五月天| 亚洲热视频| 五月天色色色网| 色婷婷丁香| 九月丁香亭亭| 激情丁香网| 激情婷婷久久| 97人人操人人干| 亚洲精品又粗又大又爽A片| 99久久天堂婷婷| 久热9| 2025最新亚洲激情在线| se99视频| 99在线视频精品| 99综合网| 欧美丁香婷婷五月| 色婷婷伊人激情在线观看| 小色小蛇伊人婷婷色香五月| 欧美伊人9| 丁香五月综合福利视频导航| 丁香五月天婷婷中文字幕| 五月婷婷偷拍| 91精选国| 99er国产| www.jiujiujiu| 公的粗大挺进了我的密道| 激情久久丁香| 婷婷综合在线观看视频| 久色资源| 97干视频在线| 久久这里只有精品07| 亚洲午夜电影| 国产69久久久欧美黑人A片| 草草影院爱爱| 色99在线观看| 99热这里只有精品2| 97干在线观看视频| 丁香五月桃花在线激情综合| 五月天婷综合| 97人妻碰碰碰久| www.久久五月天.com| 久久99成人性爱高清视频| 久久久久久久人妻| 国产黄色av| 99re在线免费视频| 婷婷五月在线综合| 五月天综合在线观看| 婷婷丁香综合| 99热这里全都是精品| 久久精品综合色| 激情五月婷婷在线区| 99久久6| 午夜成人网站在线观看| 米奇影视五月天| 成人综合网站| 4399在线观看免费高清电视剧| 99热在线看| 婷婷五月丁香性爱| 久久久久99精品成人片| 婷婷亚洲综合| 久久免费精品小视频| 99久久久久久| 欧洲亚洲午夜| 超碰人人99| 婷婷欧美激情| 国产日韩欧美性爱| 激情久久 婷婷| 久久99热免费最新版| 成人 AV播放| 99爱在线观看视频| 4438全国最大视频成人网站在线观看 | 色五月激情综合网| 1024手机在线观看看片_日韩精品| 亚洲综合五月天| 日韩一级网站| 丁香六月无码| YW无码| 亚洲天天| 日日操天天操| 婷婷丁香五另类网站| 色五月天堂| 97视频91| 九九自拍网| 热99在线精品| 激情五月开心五月丁香五月| 色墦五月丁香| 网色99| 性生活视频98791| 殴美激情综合网| 丁香五月电影| 99热思思在线观看| 亚洲偷| 天天爽,天天操。| 8050一级网| 五月成人天| 在线观看av网站| 久色网| 久久婷婷六月综合资源| 亚洲综合五月天婷婷| 天天婷婷色六月| 亚洲情色一区| 99综合视频| 天天狠狠色| 婷婷五月天首页激情| 天天射综合网夜夜操| 加勒比日本一区二区三区| 婷婷五月色激情欧美激情| 九九五月天| 最近中文字幕在线中文视频| 人人色人人摸人人看| 六月撸婷婷| 嫩草视频在线观看| 看片视频在线免费日产在线看| 婷婷 激情 五月| 色.五月综合网| 丁香美女五月天婷婷| 97人人草| 国产一级黄色影片,| 991精品在线视频| 五月丁香六月婷| 99热网精品| 五月婷婷九| 一区二区三区四区五区| 久碰久| 在线另类视频| 成人婷婷五月天| 亚洲AV永久无码影院黑人| 99日本精品视频热| 99精品7| 婷婷色九月| 高清无码入口| 五月丁香啪啪综合网| 91|九色|动漫| 99日韩| 精品无码99| 狠狠做五月| 久久婷婷综合色丁香| 涩五月婷婷| 欧美五月婷婷| 五月久久噜噜| 婷婷婷久久久| 精品人妻午夜一区二区三区四区| 久久久久婷| 天天拍夜夜爽| 五月婷婷av| 五月天婷婷激情四射综合| 这里只有精品视频在线| 婷婷五月激情小说| http://www.lingjunshare.com/ | 六月大香蕉| 亚洲国产精品二二三三区| 91凹凸在线| 亚洲欧州色情在线观看| 六月婷婷七月丁香| 激情玖玖sh| 99视频九九热| 丁香五月激情综合| 亚洲影院婷婷色| 影音先锋女人AA鲁色资源| www.婷婷五月| 亚洲狠狠操| 五月激情婷婷六月丁香| 六月丁香av| 天堂久久大香蕉| 99燥99日| 亚洲成人免费电影| 五月婷婷丁香| 亚洲色婷婷五月天| www.99热日韩.com| 天天爽日日爽夜夜爽| 999影院成人在线影院| 丁香狠狠色婷婷久久无码视频| 丁香涩涩爱| 精品久久99| 丁香五月婷婷av影院| 99碰网站| 亚洲 无码 中文字幕 中出| 五月天色不卡| 无码99| 色色影院黄大片| 五月天天天综合| 99免费热视频| 久久99网| 色色色色色日韩午夜激情 | www.99热| 久久婷婷五| 人妻久久久久久久久妻久久久久久久久| 天天日日爽| 五月天大香蕉| a性生活久久无| 久久婷婷成人视频| 日韩综合久| 九九精品9| 六月欧美综合色情| 超碰人人操在线| 99在线小视频| 五月婷婷在线网站| 涩五月婷婷| 狠狠色五月| 无月播播激情在线观看视频| 日日夜夜狠狠| 日本综合久久| 偷拍91九色| 成人 九九九九| 日逼免费视频 | 色色色色色色色色网站| 五月婷色丁香| 久久五月网| 五月婷在线观看| 熟女国产在线一区二区三区四区| anquye伊人| 99九九玖玖| 99视频啪啪| 五月婷婷成人w| 可以看的AV| 丁香五月777| 五月色网| 青草视频在线播放| 噜噜狠狠| 亚洲av日韩无码| 五月天婷婷丁香人人操91| 欧美毛片www| 成功精品影院| 婷婷午夜精品久久久| 99色精品| 国产3p露脸普通话对白| 99久操| 人人摸人人搞| 99久久超级| 丁香五月六月久久综合| 无码少妇高潮喷水A片免费| 亚洲这里只有精品| 成人国产欧美大片一区| 婷婷五月综合激情| 国产成人高清| 停停综合色色| 国产VA亚洲VA96| 五月天天丁香婷婷| 桃色激情婷婷伊人网| 五月天激情国产综合婷婷婷| 五月色情精品| 婷婷五月天亚洲综合网| 久久婷婷五月天| 9 1大香蕉| 五月婷婷开心丁香| 人妻日日日| 激情五月综合ì香亚洲| 婷婷亚洲天堂| 婷五月天天| 日本五月婷婷| 国产激情久久久| 大香蕉五月丁香| 97香蕉久久超级碰碰高清版| 人人草人人舔| 色蜜婷婷| 狠狠干综合| 人人插9| 五月婷婷影院| 丁香婷婷91在线观看视频| 大香蕉520| 69久久99精品久久久久婷婷| 亚洲AV永久无码影院黑人| 欧美综合在线五月天色婷婷| 91男女视频在线观看| 天天舔天天插天天干| 97色五月婷婷在线| 爱婷婷久久视频| 五月天丁香婷婷视频网址| 久久九九在线视频| 美女被肏网站在线看| 小视频久久久aaa| 五月天大香蕉AV| 99亚洲精品| 久久 婷婷 五月天| 午夜大香蕉| 天天搞夜夜叫| 人妻中文在线| 天天舔天天插天天爱| 99热婷婷| 99综合一区| 欧美日韩成人在线网| 黄色91在线观看| 五月婷婷免费在线视频| 久久99大全| 色色五月婷| 小视频在线亚洲| 日韩黄色影院| 五月天婷婷视频| 91九色小视频| 99热8| 五月丁综合在线观看| 久操乱| 久久九精品| 欧美激情综合| 99精品偷自拍| 五月婷婷综合在线视频小说| 99亚洲视频| 一本色道久久综合狠狠躁小说| 婷婷五月天 偷拍| 国产av网| 97碰碰在线看视频免费| 欧美五月婷婷| 亚洲欧洲另类| 激情丁香五月激情婷婷| 欧美男女婷婷| 色99在线| 99热只有精品在线观看| www.9797国产| 五月婷婷久久综合| 俺去啦综合网| 日本久热| WWW嗯嗯啊啊啊啊| 91丁香五月| 五月综合亚洲| 日韩精品超碰在线观看|