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

ARTICLE DETAIL

資訊詳情

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

MNIST手寫數(shù)字識別實戰(zhàn):TensorFlow與PyTorch雙框架實現(xiàn)全解析

MNIST手寫數(shù)字識別實戰(zhàn):TensorFlow與PyTorch雙框架實現(xiàn)全解析 手寫數(shù)字識別應(yīng)該是我接觸深度學(xué)習(xí)以來做的第一個完整實驗也是很多教程里的“Hello World”。這次實驗我沒有只用一個框架而是把TensorFlow和PyTorch各寫了一遍從數(shù)據(jù)加載、網(wǎng)絡(luò)搭建、訓(xùn)練調(diào)參到測試評估整個流程完整跑通最后整理成一份實驗報告。代碼和報告一起歸檔之后我又把整個過程的思路重新梳理了一遍這篇文章就相當(dāng)于把這次實驗的全過程展開來講模型怎么搭、參數(shù)怎么設(shè)、訓(xùn)練中遇到哪些問題、實驗報告怎么寫一次性說明白。這個項目非常適合剛?cè)腴T神經(jīng)網(wǎng)絡(luò)的朋友哪怕你之前只寫過一點Python跟著這篇文章的思路也能把一個完整的手寫數(shù)字識別流程跑起來。文章里的代碼都是可以直接復(fù)制運(yùn)行的環(huán)境和依賴我也會把版本細(xì)節(jié)說清楚。文章后面還會分享我這次實驗中踩過的幾個坑、調(diào)參時的對比數(shù)據(jù)以及實驗報告的寫法參考這些內(nèi)容在常規(guī)教程里一般不會寫。1. 實驗設(shè)計從數(shù)據(jù)到模型整個識別流程怎么串聯(lián)1.1 為什么選擇MNIST作為入門實驗做深度學(xué)習(xí)實驗第一步就是選數(shù)據(jù)集。手寫數(shù)字識別用的是MNIST數(shù)據(jù)集里面有6萬張訓(xùn)練圖片和1萬張測試圖片每張都是28x28的灰度圖內(nèi)容是0到9的手寫數(shù)字。這個數(shù)據(jù)集很“干凈”圖片已經(jīng)做了居中處理背景和前景對比明顯所以即使是簡單模型也能達(dá)到不錯的準(zhǔn)確率。但不要因為“簡單”就小看它。MNIST雖然只是入門級數(shù)據(jù)集但在這個數(shù)據(jù)集上能跑通整套流程你就能把神經(jīng)網(wǎng)絡(luò)怎么工作這件事徹底搞明白輸入怎么進(jìn)入網(wǎng)絡(luò)、權(quán)重怎么更新、損失函數(shù)在優(yōu)化什么、準(zhǔn)確率是怎么計算出來的。這些基本概念一旦通了后續(xù)再接觸CIFAR-10、ImageNet或者各種實際項目思路是完全一樣的。我這次實驗選的不是更花哨的數(shù)據(jù)集就是因為MNIST足夠小、下載快、訓(xùn)練也快。在最開始的時候把精力放在理解原理和流程上比追求復(fù)雜數(shù)據(jù)集更有價值。1.2 兩套框架各寫一遍的價值在哪現(xiàn)在的深度學(xué)習(xí)框架主要就是TensorFlow和PyTorch兩大陣營。很多人在入門時糾結(jié)該學(xué)哪個。我的建議是如果你真的想入這一行兩個都得會一點起碼要能讀懂對方的代碼。原因不復(fù)雜不同公司、不同開源項目用的框架不一樣你出去實習(xí)或接項目很可能遇到什么就得用什么。但更重要的一點是用兩個框架各寫一遍同一個任務(wù)能幫助你區(qū)分“框架的寫法”和“模型的本質(zhì)”。比如在TensorFlow里搭全連接層你可能就是調(diào)用一個Dense()在PyTorch里則要寫Linear()。表面看是API不同但底層都是做同一個矩陣運(yùn)算輸入向量乘以權(quán)重矩陣加上偏置經(jīng)過激活函數(shù)。你只有兩個都寫過才會真正理解這些層背后的數(shù)學(xué)運(yùn)算是一致的。這次實驗我在兩個框架里用了同一個網(wǎng)絡(luò)結(jié)構(gòu)、同樣的訓(xùn)練輪數(shù)和差不多的超參數(shù)最終得到的準(zhǔn)確率也很接近。這種對比實驗本身就很有意思能讓你直觀看到“框架”只是工具真正決定模型效果的是數(shù)據(jù)、結(jié)構(gòu)、超參數(shù)這些核心因素。1.3 網(wǎng)絡(luò)結(jié)構(gòu)怎么定先搞清全連接和卷積的區(qū)別這次實驗我并沒有一上來就上卷積神經(jīng)網(wǎng)絡(luò)而是先用全連接網(wǎng)絡(luò)Dense網(wǎng)絡(luò)跑通流程之后又額外做了一個卷積神經(jīng)網(wǎng)絡(luò)版本做對比。很多人喜歡直接跳到CNN跳過了基礎(chǔ)版本我覺得這樣做其實是吃虧的。全連接網(wǎng)絡(luò)的理解成本最低。輸入是一張28x28的圖片你把它“拉平”成784個數(shù)值然后這些數(shù)值作為第一層神經(jīng)元的輸入。每個神經(jīng)元都跟上一層的所有神經(jīng)元連接這就是“全連接”的含義。這種結(jié)構(gòu)看起來直觀缺點是參數(shù)非常多而且它不考慮圖片的空間結(jié)構(gòu)——把一個像素和離它很遠(yuǎn)的像素一視同仁。卷積神經(jīng)網(wǎng)絡(luò)CNN就不同了它利用卷積核在圖片上滑動提取局部特征。一開始的卷積層提取的可能是邊緣、線條這類低級特征后面層會把低級特征組合成高級特征比如數(shù)字的弧線、交叉點。因為卷積核是參數(shù)共享的參數(shù)量反而比全連接少得多而且更適合處理圖片。我在兩種網(wǎng)絡(luò)上做了對比實驗結(jié)果很典型全連接網(wǎng)絡(luò)在測試集上準(zhǔn)確率大約97.5%CNN能達(dá)到99%以上。這個對比不是說全連接沒用而是讓你切身感受到“網(wǎng)絡(luò)結(jié)構(gòu)對任務(wù)效果的巨大影響”。2. 環(huán)境配置與數(shù)據(jù)準(zhǔn)備2.1 依賴安裝與版本建議環(huán)境這塊我踩過不少坑特別是版本不匹配的問題。這里給出一套我實測能跑的版本組合你可以直接參考我用的是Python 3.9環(huán)境。TensorFlow方面用的2.10版本PyTorch用的是1.13版本。如果你電腦有NVIDIA顯卡并且裝好了CUDA那PyTorch版可以啟用GPU加速沒有顯卡也沒關(guān)系這次實驗的數(shù)據(jù)量和模型規(guī)模都不大用CPU訓(xùn)練也完全能跑就是每輪訓(xùn)練可能會多花幾分鐘。安裝方面TensorFlow直接執(zhí)行pip install tensorflow2.10即可。PyTorch因為涉及CUDA版本的選擇建議去它的官網(wǎng)根據(jù)你的環(huán)境生成安裝命令。但要注意如果不需要GPU加速直接pip install torch torchvision也行默認(rèn)裝的CPU版本。建議在虛擬環(huán)境里安裝不要直接干到系統(tǒng)環(huán)境里。我曾經(jīng)圖省事直接在系統(tǒng)環(huán)境裝了一堆包結(jié)果后面其他項目依賴沖突光排查就耗了半天。用virtualenv或者conda管理環(huán)境是每個做深度學(xué)習(xí)的人都應(yīng)該養(yǎng)成的基本習(xí)慣。注意不同版本的框架API會有差異。比如TensorFlow 1.x和2.x的寫法完全不同你在網(wǎng)上查資料時一定要先確認(rèn)版本。如果照著舊教程寫新版本代碼會經(jīng)常遇到報錯。2.2 手寫數(shù)字圖片怎么就變成了矩陣?yán)斫鈹?shù)據(jù)格式是理解整個實驗的第一步。一張MNIST圖片是28x28的灰度圖所謂灰度圖就是每個像素點只有一個數(shù)值表示亮度范圍從0到255。0是純黑255是純白中間是深淺不同的灰色。所以在計算機(jī)眼里一張手寫數(shù)字圖片并不是“圖片”而是一個28x28的二維矩陣?yán)锩媸?80多個數(shù)值。而神經(jīng)網(wǎng)絡(luò)處理輸入時通常需要的是一個向量所以全連接網(wǎng)絡(luò)的第一步就是把28x28的矩陣“拉平”成784個數(shù)值的一維向量。我覺得理解這一點特別重要因為很多人在后面遇到維度不對的報錯時一頭霧水本質(zhì)上就是沒有搞清楚數(shù)據(jù)的形狀。跟數(shù)據(jù)形狀相關(guān)的問題占深度學(xué)習(xí)調(diào)試的很大比例。我這次實驗在展示數(shù)據(jù)時做了一步可視化從訓(xùn)練集里隨機(jī)抽了12張圖片把它們畫出來并標(biāo)注對應(yīng)的標(biāo)簽。你會看到那些手寫數(shù)字有的歪歪扭扭有的甚至人眼都難辨認(rèn)但機(jī)器學(xué)習(xí)算法依然能從中找出規(guī)律這件事本身就挺奇妙的。2.3 數(shù)據(jù)歸一化這一步不能省圖像預(yù)處理中有一件非常重要的事歸一化。簡單說就是把像素值從0到255的范圍縮放到0到1之間。方法很簡單把所有像素值除以255即可。為什么要做這一步因為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練依賴梯度下降而梯度的大小跟輸入數(shù)值的范圍直接相關(guān)。如果輸入數(shù)值都很大而且范圍很寬某些權(quán)重的梯度會過大或過小導(dǎo)致訓(xùn)練不穩(wěn)定收斂也慢。把輸入縮放到0到1這樣的小范圍能讓梯度保持在一個相對合理的尺度訓(xùn)練過程會更順暢。除了歸一化我還對訓(xùn)練數(shù)據(jù)做了打亂操作。這個也很重要如果一批數(shù)據(jù)里全是同一個數(shù)字模型在這批數(shù)據(jù)上算出的梯度就會有偏差長期下來模型泛化能力會變差。打亂數(shù)據(jù)讓每個批次盡可能包含各類數(shù)字訓(xùn)練會更穩(wěn)定。提示我在預(yù)處理階段還額外看了每個數(shù)字類別的數(shù)量分布確認(rèn)了MNIST的數(shù)據(jù)是基本均勻的。如果類別極度不均衡模型的訓(xùn)練策略就需要調(diào)整了好在MNIST沒有這個問題。3. TensorFlow版實現(xiàn)從搭建模型到輸出準(zhǔn)確率3.1 用Sequential搭建一個全連接網(wǎng)絡(luò)TensorFlow里最直觀的建模方式是Keras的Sequential API它就像搭積木一樣一層一層地往上加。我這次設(shè)計的網(wǎng)絡(luò)結(jié)構(gòu)是輸入層784個節(jié)點對應(yīng)28x28的展平圖片第一層全連接128個神經(jīng)元用ReLU激活函數(shù)然后接一個Dropout層丟棄率0.2第二層全連接10個神經(jīng)元用Softmax激活函數(shù)做分類輸出。代碼看起來是這樣的import tensorflow as tf from tensorflow.keras import Sequential from tensorflow.keras.layers import Dense, Dropout, Flatten model Sequential([ Flatten(input_shape(28, 28)), Dense(128, activationrelu), Dropout(0.2), Dense(10, activationsoftmax) ]) model.summary()為什么第一層選128個神經(jīng)元其實沒有絕對的標(biāo)準(zhǔn)。128是一個在效果和計算量之間比較平衡的取值。更少的神經(jīng)元比如64會快一些但可能欠擬合更多的比如256會慢一些但不一定能顯著提升準(zhǔn)確率。你可以把這個128理解為一個“經(jīng)驗起點”后面通過對比實驗再調(diào)整。Dropout層是干什么的它是防止過擬合的。簡單理解就是訓(xùn)練時隨機(jī)“關(guān)掉”一部分神經(jīng)元的連接讓網(wǎng)絡(luò)不能過度依賴某幾個節(jié)點從而逼著更多神經(jīng)元學(xué)會有用的特征。這里設(shè)0.2的意思是每批數(shù)據(jù)訓(xùn)練時有20%的神經(jīng)元連接被隨機(jī)丟棄。10個輸出節(jié)點對應(yīng)0到9這10個數(shù)字類別。Softmax會把10個輸出值轉(zhuǎn)換成概率分布加起來等于1比如模型認(rèn)為這張圖是數(shù)字5的概率是0.85是數(shù)字6的概率是0.1以此類推。最終預(yù)測結(jié)果取概率最大的那個類別。3.2 訓(xùn)練過程里損失函數(shù)和優(yōu)化器怎么選建模之后就要“訓(xùn)練”了。訓(xùn)練的核心是讓模型輸出的概率分布盡量接近真實標(biāo)簽。怎么衡量“接近程度”這就是損失函數(shù)的作用。這次我用的損失函數(shù)是交叉熵CrossEntropyLoss。交叉熵是分類任務(wù)最常用的損失函數(shù)數(shù)值越小說明模型的預(yù)測越接近真實標(biāo)簽。在TensorFlow里因為標(biāo)簽是0到9的整數(shù)而不是獨熱編碼所以用sparse_categorical_crossentropy這個“sparse”表示標(biāo)簽用整數(shù)形式它內(nèi)部會自動處理成獨熱編碼來計算省了一步手動轉(zhuǎn)換很方便。優(yōu)化器選的是Adam。Adam可以理解成一個自適應(yīng)的梯度下降算法它會根據(jù)梯度的情況自動調(diào)整每一步的更新步長學(xué)習(xí)率所以整體上很“省心”。如果是新手用Adam做默認(rèn)選擇基本不會錯。學(xué)習(xí)率我設(shè)置了0.001這是Adam一個很常用的初始值。訓(xùn)練時我設(shè)置驗證集比例是10%。也就是說6萬張訓(xùn)練圖片里5.4萬張用于訓(xùn)練6000張用于驗證。驗證集的作用是在每輪訓(xùn)練后檢查模型在沒見過的數(shù)據(jù)上的表現(xiàn)幫助我們判斷模型是欠擬合、正常、還是過擬合。model.compile( optimizeradam, losssparse_categorical_crossentropy, metrics[accuracy] ) history model.fit( x_train, y_train, batch_size32, epochs10, validation_split0.1, verbose1 )batch_size32表示每次從訓(xùn)練數(shù)據(jù)里取32張圖片計算一次梯度并更新權(quán)重。為什么不一次把所有數(shù)據(jù)都送進(jìn)去因為6萬張圖片全部算一遍梯度內(nèi)存開銷大而且梯度方向可能不夠平滑。32這個值是經(jīng)驗選擇這也是后面可以調(diào)參的點。3.3 評估階段準(zhǔn)確率之外還要看什么訓(xùn)練結(jié)束后在測試集的1萬張圖片上做了評估得到了大約97.5%的準(zhǔn)確率。也就是說100張手寫數(shù)字圖片里模型大約能正確識別97到98張。test_loss, test_acc model.evaluate(x_test, y_test) print(f測試集準(zhǔn)確率: {test_acc:.4f})但只看準(zhǔn)確率其實不夠我額外生成了分類報告列出了每一個數(shù)字類別的精確率Precision、召回率Recall和F1分?jǐn)?shù)。這一步很有價值因為它能告訴你模型對哪個數(shù)字識別得特別好對哪個數(shù)字容易混淆。比如我這次實驗里模型對數(shù)字“0”的識別非常好但對“4”和“9”這一類字形相似的組合會偶爾搞混。如果某些個別類別的表現(xiàn)拉低了整體準(zhǔn)確率你就有了明確的改進(jìn)方向比如針對混淆的數(shù)字補(bǔ)充更多樣化的訓(xùn)練樣本、調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)、改進(jìn)預(yù)處理方式等。這種帶著業(yè)務(wù)視角去分析模型的方法在實際工作中是非常重要的能力。4. PyTorch版實現(xiàn)手寫訓(xùn)練循環(huán)搞清底層邏輯4.1 數(shù)據(jù)加載Dataset和DataLoader怎么配合PyTorch的數(shù)據(jù)流程跟TensorFlow的高層API差別很大。TensorFlow里model.fit()就把數(shù)據(jù)加載和訓(xùn)練都封裝好了PyTorch則更“手動”每個環(huán)節(jié)都要你自己寫清楚。這個過程能幫你更深入地理解訓(xùn)練到底是怎么發(fā)生的。先把數(shù)據(jù)集讀進(jìn)來。PyTorch自帶MNIST數(shù)據(jù)集可以方便地下載但你通常還需要自己定義怎么對數(shù)據(jù)做變換import torch from torch import nn from torch.utils.data import DataLoader from torchvision import datasets, transforms transform transforms.Compose([ transforms.ToTensor(), transforms.Normalize((0.1307,), (0.3081,)) ]) train_dataset datasets.MNIST(root./data, trainTrue, downloadTrue, transformtransform) test_dataset datasets.MNIST(root./data, trainFalse, downloadTrue, transformtransform) train_loader DataLoader(train_dataset, batch_size32, shuffleTrue) test_loader DataLoader(test_dataset, batch_size32, shuffleFalse)這里的ToTensor()把圖片從0到255的像素值轉(zhuǎn)成0到1的浮點張量同時又多了一個維度變成1x28x281是通道數(shù)因為是灰度圖。Normalize()再做標(biāo)準(zhǔn)化用MNIST數(shù)據(jù)集的像素均值和標(biāo)準(zhǔn)差把數(shù)據(jù)變成標(biāo)準(zhǔn)正態(tài)分布這比簡單的除以255更精細(xì)能進(jìn)一步提升訓(xùn)練穩(wěn)定性。DataLoader就好比一個自動分發(fā)的傳送帶每次告訴你一批數(shù)據(jù)。設(shè)置shuffleTrue意味著每輪訓(xùn)練時數(shù)據(jù)都重新打亂這是防止模型“記住”順序。測試集不用打亂因為測試時順序無所謂。4.2 定義模型類繼承nn.Module要做什么PyTorch里定義模型的標(biāo)準(zhǔn)姿勢是寫一個類繼承nn.Module。這樣做的好處是框架會自動管理模型的參數(shù)、前向傳播過程等。class DigitNet(nn.Module): def __init__(self): super().__init__() self.fc1 nn.Linear(28 * 28, 128) self.dropout nn.Dropout(0.2) self.fc2 nn.Linear(128, 10) def forward(self, x): x x.view(x.size(0), -1) x torch.relu(self.fc1(x)) x self.dropout(x) x self.fc2(x) return x model DigitNet()在__init__里定義了網(wǎng)絡(luò)有哪些層在forward里定義了數(shù)據(jù)怎么在這些層之間流動。注意第一層nn.Linear(28*28, 128)輸入是784維但數(shù)據(jù)從DataLoader出來時形狀是[batch_size, 1, 28, 28]所以forward里第一件事就是把[batch_size, 1, 28, 28]展平成[batch_size, 784]用x.view(x.size(0), -1)實現(xiàn)。順便說一下全連接層不經(jīng)過Flatten是沒法直接處理圖片形狀的這也是一個新手經(jīng)常報錯的地方。TensorFlow那邊可以用Flatten()層幫你處理PyTorch這邊則要手動寫這個view操作。兩相對比你會更清楚框架各自幫你做了什么。這里我注意到一個點nn.Linear默認(rèn)會做隨機(jī)初始化通常無需手動指定。但如果你做更復(fù)雜的實驗了解每個層的初始化方式會有幫助因為初始化不當(dāng)可能會導(dǎo)致訓(xùn)練初期的梯度消失或爆炸。4.3 訓(xùn)練循環(huán)里loss.backward()到底發(fā)生了什么PyTorch最讓人印象深刻的地方是自動求導(dǎo)。你只需要把損失傳進(jìn)loss.backward()框架就會自動算出所有參數(shù)的梯度。但具體每一步在做什么我建議每個人都親手寫一遍訓(xùn)練循環(huán)。optimizer torch.optim.Adam(model.parameters(), lr0.001) loss_fn nn.CrossEntropyLoss() def train_one_epoch(model, dataloader, optimizer, loss_fn): model.train() running_loss 0.0 correct 0 total 0 for images, labels in dataloader: optimizer.zero_grad() outputs model(images) loss loss_fn(outputs, labels) loss.backward() optimizer.step() running_loss loss.item() _, predicted torch.max(outputs, 1) total labels.size(0) correct (predicted labels).sum().item() return running_loss / len(dataloader), correct / totaloptimizer.zero_grad()的作用是清空上一步留下的梯度。PyTorch的機(jī)制是梯度默認(rèn)會累積如果不手動清零每一步的梯度會疊加導(dǎo)致更新方向混亂訓(xùn)練不收斂。新手最容易犯這個錯。loss.backward()計算梯度。optimizer.step()根據(jù)梯度和優(yōu)化器規(guī)則更新權(quán)重。這三步合在一起才是一個完整的參數(shù)更新過程。在測試時要用torch.no_grad()把梯度計算關(guān)掉因為測試只需要前向傳播不需要反向傳播關(guān)掉它可以省內(nèi)存也加快速度。def evaluate(model, dataloader, loss_fn): model.eval() correct 0 total 0 test_loss 0.0 with torch.no_grad(): for images, labels in dataloader: outputs model(images) loss loss_fn(outputs, labels) test_loss loss.item() _, predicted torch.max(outputs, 1) total labels.size(0) correct (predicted labels).sum().item() return test_loss / len(dataloader), correct / total注意model.train()和model.eval()的切換。這兩個模式會影響Dropout等層的表現(xiàn)訓(xùn)練時Dropout正常隨機(jī)丟棄神經(jīng)元測試時要保證所有神經(jīng)元都用上否則結(jié)果會不穩(wěn)定。忘記切換模式也是一個常見錯誤。用PyTorch跑完同樣的網(wǎng)絡(luò)結(jié)構(gòu)后測試準(zhǔn)確率大約也是97.5%左右。這印證了前面說的兩個框架只是API不同底層數(shù)學(xué)是一樣的。5. 實驗結(jié)果分析與調(diào)參記錄5.1 訓(xùn)練曲線loss降不下去的時候別急著加層我每次訓(xùn)練都會把損失值和準(zhǔn)確率記錄下來畫出曲線圖。這張圖能告訴你很多信息。這次實驗里訓(xùn)練集和驗證集的loss都在下降而且下降速度逐漸變緩這是正常的收斂形態(tài)。訓(xùn)練集和驗證集的曲線大致同步說明沒有嚴(yán)重的過擬合。如果訓(xùn)練loss持續(xù)下降但驗證loss不降反升就是過擬合的典型征兆這時候可以考慮加Dropout、減小網(wǎng)絡(luò)規(guī)模、或用更多數(shù)據(jù)做增強(qiáng)。如果loss一開始降得很慢甚至不降怎么辦我的建議是先別急著改結(jié)構(gòu)查一下學(xué)習(xí)率是否過大或過小才是關(guān)鍵。我這次實驗對比了學(xué)習(xí)率0.01和0.001的情況0.01時loss雖然收斂快但驗證集準(zhǔn)確率波動較大0.001時訓(xùn)練更穩(wěn)最終準(zhǔn)確率反而更高。如果學(xué)習(xí)率再大比如0.1loss可能會出現(xiàn)抖動甚至直接發(fā)散。打開訓(xùn)練曲線就想看“訓(xùn)練跑沒跑起來”這一點比盯著訓(xùn)練集準(zhǔn)確率更重要。訓(xùn)練準(zhǔn)確率高但驗證準(zhǔn)確率低說明泛化差兩個都低可能問題出在數(shù)據(jù)預(yù)處理或?qū)W習(xí)率設(shè)置上。5.2 不同超參數(shù)的對比實驗調(diào)參不能靠猜。我這次實驗做了一組小型對比把關(guān)鍵超參數(shù)和最終準(zhǔn)確率整理成了表格這樣看效果比文字描述直觀得多。網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化器學(xué)習(xí)率batch_size訓(xùn)練輪數(shù)測試準(zhǔn)確率全連接128Adam0.001321097.5%全連接128SGD0.01321096.9%全連接256Adam0.001321097.8%CNNAdam0.001321099.1%看到這張表結(jié)論就很清晰了從全連接128到256準(zhǔn)確率提升并不明顯但從全連接到CNN準(zhǔn)確率提升非常顯著。這說明在圖像任務(wù)上“結(jié)構(gòu)選對”比“堆參數(shù)”更有效。與其把全連接層從128加到256甚至512不如換一個更適合處理圖像的網(wǎng)絡(luò)結(jié)構(gòu)。批次大小的影響我也測過64的batch_size在訓(xùn)練速度上比32快一些但準(zhǔn)確率會出現(xiàn)輕微下降因為每批次計算的梯度更“粗”了。這個影響在全連接網(wǎng)上還不算大但在一些更復(fù)雜的模型上會更明顯。這些對比實驗本身也是實驗報告里很加分的內(nèi)容。導(dǎo)師和同行看到的不只是“我跑出來了”而是“我理解各個參數(shù)的影響”這完全是兩個層次的體現(xiàn)。5.3 錯誤樣本分析看看模型到底錯在哪光給一個97.5%的數(shù)字還不夠我會把預(yù)測錯的樣本打印出來看看。這個習(xí)慣我非常推薦。我發(fā)現(xiàn)錯誤樣本主要集中在幾類情況有些數(shù)字寫得太潦草連人眼都很難判斷有些數(shù)字因為筆畫太細(xì)或者掃描變形特征不明顯還有一類就是確實長得非常像比如“4”和“9”、“7”和“2”人都有可能看錯。把這些錯例和對應(yīng)的真實標(biāo)簽、預(yù)測標(biāo)簽放在一張圖里你能直觀地看到模型在哪類問題上容易犯糊涂。如果你要繼續(xù)優(yōu)化模型這就是最直接的“改進(jìn)需求說明書”。提高準(zhǔn)確率的思路可以是從數(shù)據(jù)入手做數(shù)據(jù)增強(qiáng)旋轉(zhuǎn)、縮放、添加噪聲讓模型看到更多樣的寫法也可以嘗試更換更大的網(wǎng)絡(luò)架構(gòu)、加入注意力機(jī)制等。6. 實驗報告怎么寫 避坑清單6.1 一份合格的實驗報告該包含什么實驗報告不是把代碼粘貼上去湊頁數(shù)。我寫實驗報告時通常遵循一個結(jié)構(gòu)背景與目標(biāo)、方法、實驗結(jié)果、分析、總結(jié)。背景與目標(biāo)部分清晰說明要解決什么問題識別手寫數(shù)字、為什么這個問題有代表性它是圖像分類的經(jīng)典任務(wù)。方法部分寫清楚網(wǎng)絡(luò)結(jié)構(gòu)、損失函數(shù)、優(yōu)化器、超參數(shù)設(shè)置最好畫出網(wǎng)絡(luò)結(jié)構(gòu)圖配合文字解釋每一層的輸入輸出形狀這部分能讓讀者一眼看懂你的設(shè)計思路。實驗結(jié)果部分放上訓(xùn)練曲線、準(zhǔn)確率表格、錯誤樣本舉例。分析部分對照實驗表格說明哪些因素起了作用哪些沒有??偨Y(jié)部分寫上這次實驗的收獲和可改進(jìn)方向。寫分析時最忌諱的就是只寫“準(zhǔn)確率是97.5%”而不寫“為什么是97.5%”“有什么辦法能進(jìn)一步提升到99%”。后者才是實驗報告的價值所在。在總結(jié)里我寫了一句自己的真實體會“通過全連接網(wǎng)絡(luò)和卷積網(wǎng)絡(luò)的對比我認(rèn)識到對于圖像任務(wù)選擇合適的網(wǎng)絡(luò)結(jié)構(gòu)比單純增加參數(shù)量更關(guān)鍵?!边@個結(jié)論不是空話而是從對比數(shù)據(jù)里自然得出來的。6.2 我踩過的5個坑和對應(yīng)解決方案做實驗的過程中肯定會出問題我總結(jié)了自己踩過的高頻坑寫在這里。第一個坑是TensorFlow版本不匹配。有一次我照著網(wǎng)上教程用tf.placeholder寫代碼結(jié)果因為我裝的是2.x版本這個API早就沒了直接報錯。解決方法是先確認(rèn)版本教程也必須用對應(yīng)版本的文章?,F(xiàn)在我在查資料時第一眼看的就是文章標(biāo)題或開頭標(biāo)注的版本號。第二個坑是PyTorch訓(xùn)練時忘記調(diào)用optimizer.zero_grad()。導(dǎo)致每輪的梯度不斷累加loss不降反升我還一度以為模型結(jié)構(gòu)寫錯了。自查了一陣才發(fā)現(xiàn)是這么個小問題。這種問題你自己遇到一次就長記性了。第三個坑是CPU訓(xùn)練太慢。我第一次跑實驗時沒裝GPU版PyTorch用CPU訓(xùn)練全連接網(wǎng)絡(luò)還行等到跑一個稍微寬一點的網(wǎng)絡(luò)時每一輪都要好久。后來我發(fā)現(xiàn)一個很聰明的辦法用一個小一點的樣本子集先把整個代碼流程跑通確認(rèn)無誤后再用全量數(shù)據(jù)訓(xùn)練。調(diào)試速度和迭代效率提升明顯。第四個坑是測試時忘了用model.eval()導(dǎo)致Dropout在預(yù)測時仍然生效每次預(yù)測出來的結(jié)果都不一樣。如果你發(fā)現(xiàn)同一個樣本每次預(yù)測結(jié)果都不同十有八九是這個原因。第五個坑是數(shù)據(jù)加載時圖片維度的順序搞混。PyTorch的圖片張量是[通道數(shù), 高度, 寬度]而TensorFlow默認(rèn)是[高度, 寬度, 通道數(shù)]這兩個框架的差異讓人很容易混淆。如果你在寫代碼時發(fā)現(xiàn)維度報錯先檢查數(shù)據(jù)形狀是否符合當(dāng)前框架的約定。6.3 這個項目還能怎么擴(kuò)展跑通MNIST只是一個起點我做完這個實驗后一直在想下一步可以怎么走。最直接的擴(kuò)展是把模型換成真正的CNN網(wǎng)絡(luò)加幾層卷積和池化層你會發(fā)現(xiàn)準(zhǔn)確率明顯提升。進(jìn)一步的思路是嘗試一些現(xiàn)代架構(gòu)里的技巧比如BatchNorm、殘差連接、數(shù)據(jù)增強(qiáng)等觀察它們對性能的影響。再進(jìn)一步你可以把訓(xùn)練好的模型拿來識別自己手寫的數(shù)字通過攝像頭或畫圖工具生成圖片輸入到模型里做預(yù)測。這個玩法看起來簡單但它會逼著你搞定“真實圖像的處理流程”比如背景怎么去除、字母怎么定位、縮放到28x28時保持比例等。這里面門道非常多。如果你對理論更感興趣還可以做一個“參數(shù)可視化”。把訓(xùn)練好的第一層權(quán)重畫出來你可能會看到一些類似筆畫、邊緣的特征提取器。把隱藏層的中間輸出畫出來也能直觀感受到網(wǎng)絡(luò)在逐層提取信息。這些內(nèi)容會讓你的實驗報告和項目展示更有深度。最后再說兩句做完這次雙框架實驗我最大的體會就是手寫數(shù)字識別這個任務(wù)看起來簡單但把整個流程完整跑通、把細(xì)節(jié)搞明白收獲遠(yuǎn)大于“我會用API了”。現(xiàn)在再讓我去寫一個新模型的代碼我不需要去網(wǎng)上搜“該怎么開始”因為訓(xùn)練一個模型的基本流程已經(jīng)刻在腦子里了。這種基本功是任何框架教程都替代不了的。如果你也正在做這個實驗我的建議很直接:別只滿足于把代碼跑通試試改一下網(wǎng)絡(luò)結(jié)構(gòu)、換個優(yōu)化器、看看錯誤樣本這個過程才會讓你真正進(jìn)步。實驗報告也認(rèn)真寫把每個決定背后的原因?qū)懬宄?。等你做完再看這不僅僅是一個作業(yè)而是你深度學(xué)習(xí)入門的第一塊扎實的墊腳石。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲1区| 国产超碰AV在线精品| HEYZO高无码国产精品227| 精品国产乱子伦一区二区三区,精品一| 91大学精品激情戏| 大香蕉520| 很很操在线| 欧美日韩人妻精品一区二区三区| 风月影院男女十八禁| 91亚州日韩高清| 天天日天天干天天整| 亚洲国产成人精品999| 国产又粗又长视频| 精品综合久久久久久97| 老司机久久| 青青草日韩无码| 脫衣舞一区二区三区| 成·人免费午夜在线观看| 亚洲日本天堂| 免费成人在线熟妇网| 高清不卡国产| 97超碰无码网| 骚货人妻偷情自拍在线视频| 97国产成人精品免费视频| 麻豆久久精品亚洲精品88| 青青青草伊人精品| 色 亚洲 91| 久久99黄色卞西瓜| 欧美日韩99精品麻豆传媒| 婷婷激情五月| 久久97| 婷婷五月天色色| 国产精品成人福利在线| 国产东北女人在线视频| 日韩高清黄片| av在线播放国产一区| 中文字幕AV乱伦| 亚洲中文字幕在线视频一区二区| 日本一区二区中文字幕久久| 亚洲精品久久久久毛片A片拉屎 | 亚洲男人综合| 98久久| 偷拍亚洲| 午夜精品探花| 久久激情五月| 区日韩亚洲乱码av电影| 九九热精品在线| 中文字幕在线24| 99热在线观看| 亚洲欧洲无码97久久精品| 精品国产一区二区三区久久久蜜臀 | 男人的天堂2010| 九月丁香| 久久久久久久久九九久孕交| 超碰在线97国产| 夜夜骑操视频| 性爱网站一区二区| 国产欧美日韩精品中文| 激情看片网站| 英伦大奶子熟妇吊带| 亚91亚洲网| 亚洲和欧美裸体美女双飞视频| 屌妞视频久久久久久久久久久久| 亚州综合图片| 蜜臀久久99精品久久久久久成人小说 | 亚洲男人天堂视频| 久久αⅴ| 在线观看不卡一区二区三区| 乱欲一区二区| 亚洲熟妇自偷自拍另欧美| 肥臀熟女福利视频一区二区| 久久99深爱久久99精品| 欧姜老司机| 高清无码一区二区三区| 久久激情网| 久久久工口| 天美传媒Av在线| 日韩一级二级三级| 在线岛| 26uuu国产免费观看| www.99在线| 久久超碰97中文字幕| 蜜桃臀一区二区aV| 三级日韩一区二区三区| 亚洲精品视频在线| 国产高潮AA片免费看| 日本性爰一道本| 狠狠色噜噜狠狠狠狠狠色综合久久 | 99这里有精品| 美欧色综合| 7777奇米影视久久| 三上制服丝AV| 欧美一级在线观看成人| 九九性视频| 黑人干亚洲| 国产精品视频内谢女人| 无套内射性感少妇视频| 日韩精品操少妇| 亚洲色图 91| 久久成年片色大黄全免费网站| 93人人操人人| 诱惑人妻欧美一区在线播放| 偷拍 欧美 日韩| 婷婷丁香六月天| 欧美色图 人妻| 91男人综合| 中出在线视频| 久久神马影院| 天堂亚洲欧美| 欧美人人曰人人操人人射射 | 97色伦欧美| 欧美最大综合网| 丁香五六月啪啪| 六月丁丁香| 超碰综合97在线| 亚洲一级性爱视频免费看| 搡老女人老妇女老妇老熟女怎么读| 色九九久九九| 在现视频女上位好爽| 暴力av在线| 91人妻做a观看视频| 91超碰人人| 亚洲久9| 91久久久久久| 色综合国产在线观看| 日韩在线女优天天干| 一本久道久久综合狠狠爱一密臀精 | 93人人操人人| 欧美日韩人妻婷婷一区| 蜜臀AV网站| 骚人妻少妇视频| 看日韩操逼| 人妻熟女一区二区三区在线| 91操人| 久久9免费视频| 色婷婷五月综合激情中文字幕| 97操综合| 欧美另类色图片| 蜜臀久久99精品久久久久久-DVD原版全| 91oumei| 日韩欧美性吧婷婷乱伦大香蕉| 精品美女在线视频| 日本精品第一视频在'| 亚洲自拍一区夜夜操| 中文字幕第23区| 色久桃花影院在线观看| 97电影院超碰| 99re69综合| 91色人妻| 日韩不卡一二三四| 天天综合色| 青青草中文字幕| 欧美激情亚洲色图| a网站免费观看| 欧美一级在线观看成人 | 97情超碰色| 亚洲av强奸乱伦| 操碰97| 你草精品在线视频| 91精品丝袜在线观看| 男人天堂2030| 亚洲黄色网址| 久久精品欧美一区蜜桃| av九九| 人人操人人干xxx| 裸体1区| 国产成人久久久精品免费AV| 国产捆绑一区| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 亚洲色图综合网| 国产99 中文字幕日韩小视频| 欧美激情综合网| 天天干天天日天天射黄色片| 六月婷婷综合| 欧美日韩亚洲一区二区在线观看| 91视频精品| 欧美啪啪天堂| 日本新免费二区三区| 天天干天天干天天干| 久久性爱精品一区| 无遮挡男女激烈动态图| 东京热毛片177b2viP| 欧美日韩精品久久| 九九九综合精品| 成人三级片无码| 国产精品ⅴ无码大片在线看.| 亚洲九九视频| 少妇人妻激情四射| 亚州再线| 九九九九88| 五月婷婷基地| 成人免费不卡在线视频| 3d成人精品一区二区| 97超碰人人操人人操| 中文字幕精品三级久久久| 国产AV人人 夜夜人人澡| 2001天天操| 久久丁香五月天| 亚洲精品a人片在线观看视| 国产亚洲精品久久久久小| 视频一区二区免费在线| 超碰97 线线 在现| 大学生美女口爆| 国产熟女无套内射| 亚洲毛片基地专区| 2017天天拍大香蕉| 亚洲丝袜诱惑| 亚洲九九九九| 在线视频 亚洲精品| 大香蕉懂9| 久9久9久9久9久9久9| 男人的天堂无码| 日韩大香蕉精品在线视频| 99只有精品| 亚洲视频二区 | 欧美一品道| 欧美大色交| 在线情色电影 91大| 骚逼一区二区| 欧美第五页| 91亚洲综合在线| 久操97| 日韩精品-原创伙伴| …亚洲黄色厕厕女女在线播…| 欧美大的香蕉有线电视视频| 成人线上超碰| 国产一级137片内射麻豆| 一类无码操逼视频| 第一高清av中文字幕| 我要看免费韩日黄片| 色999五月色| 日韩av女优在线免费一区| 亚洲欧美校园另类春色| 美女诱惑在线一区| 亚洲极品| 天天综合网在线观看| 搡老女人老91二区| 老熟女乱子伦中文字幕一区二区| 丁香五月性| 综合色图亚洲欧美| 亚洲欧洲第二视频在线观看色图| 午夜福利一区二区三区四区五区色婷婷| 96精品久久| 99激情视频| 韩国久久97| 你草精品在线视频| 国产强奸乱伦xd| 激情文学亚洲| 在线视频 亚洲精品| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 鸥美中出| 99老司机精品视频在线观看| 久久久久九九九| 九九九九久久久| 欧美熟妇操操视频| 久久丝袜| 又粗又长又爽在线观看| 无码又爽又硬又激情免费视频| 美女97超碰| 国产免费一区| 久久免费99精品久久久久久| 欧美综合骚| 人妻少妇久久中文| 国产一区自拍欧美日韩| 亚洲综合春色| 人妻人久久精品中文字幕| 国产精品96久久久久久| 久久久久久久唑| 久久99草| 无码动漫av中文字幕| 国产情侣自拍在线播放| 999精品久久久久久久| 亚洲 综合 第一页| 国产精品久久久久久久AV大片| 九九九久久久| 亚洲电影中字一区二区| 久久一级无码精品毛片6| 亚洲 日本 一 二 三| 久操在97| 日韩性爱视频在线免费观看 | 欧美嗯啊……在线观看视频免费| 亚洲另类色综合网站| 秋霞一级A片黄色视频| 美女露胸露屁股| 人人操人人操人妻人| 无码最新| 中文字幕十五区| 亚洲一区中文精品| 狠狠操一区二区| WWW.操逼.COM| 人妻精品综合中文字幕在线 | 麻豆久久视频在线地址| 久草看看看| 亚洲无线码一区国产欧美国| 狠狠爱夜夜干| 亚洲黄色网址视频| 国产精品69久久久久久久| 国产高清MV操逼视频| 亚洲欧洲色情高清| 亚洲制服欧美另类内射| 青青草在线视频美女| 美女自卫慰黄网站免费| 91亚洲综合在线| 91狠狠色丁香婷婷综合久久| 欧美视频一| 久九九九九九九热| 约操熟妇| 青青草综合在线| 免费毛片在线播放| 大香蕉99999| 插入综合网| 日韩性爱小视频| 曰本精品久久久| 99久久精品无码一区二区毛片免费 | 亚州伊人色综台| 亚洲一区二区AV| 91neishe| 久热网| 亚洲精品成人| 国产农村妇女毛片精品久久| 99热色这里只有精品| 97视频在线播放| 97硬碰| 亚洲精品人妻在线| 久久精品成人| 欧美九九爱| 欧美大波激情xxxx| 亚洲人久久久网| 日本网色| 午夜国产综合视频在线观看 | chaopen97久久| 99热综合| 五月综合视频| 超碰91在线| AVE乱伦| 色五月综合| 久久婷婷电影网| 日本不卡免费二区| 人人手机欧洲亚洲国产人妻| 欧美日韩青操| 思思在线免费视频| 国产日韩精品suv| 干b在线性社区| 99亚洲国产精品色一区二区三区| 日本孕妇一区二区视频操逼免费看 | 九九综合久久| 野狼激情网| 人妻一二三区| 色区97| 97一本大道亚洲一区| AA丁香综合激情| 久久久久久久久久久免费精品| 欧美在线第五页| 自拍盗摄一区| 丁香婷婷色五月| AV和黑人在线播放| 亚洲一区二区三区春色| 婷婷丁香人妻| 日日嗨AV一区二区夜夜| 国产自产91区13区| 熟女丰满人妻一区| 色色激情| 婷婷亚洲综合| 久久ww| 欧美日韩激情无码专区| 91精品久久久| 国产成年精品高清在线观看91| 92久久| 麻豆天美一区二区| 国产精品农村妇女精品| 超碰到97情色| 亚洲熟女偷拍在线观看| 久九9精品| 美女91在线观看| 日韩人妻操B| 欧洲熟妇xxXx欧美老妇裸体| 黄色网址在线免费观看| av在线一区二区三区| 欧美大香蕉久| 狠狠色伊人亚洲综合网站色| 久操电影| 日韩综合成人免费视频| 97无码视频在线播放| 精品69网| 欧美日韩在线小说 | 亚洲在钱| 97伦乱| 公司1区2区3区精产精| 色综合99999| 爱爱久久| 欧美96交| 亚洲在线欧美| 97干色| 免费试看60秒| 国产午夜精品理论片一二三区区| 色波多| 亚洲码在线中文在线观看| 日本精品五区| 国产一区二区三区白丝| 欧美大香蕉同搞| 天天搞在线综合网| 国产精品第一页国产大屁股视频免费区| 亚洲日韩精品在线播放| 久久久久亚洲熟妇熟女| 国产精品无码久久久久2028| 91成人精品在线播放| 熟女视频久久| 欧美 亚洲 制服 精品| 久九干| 美美91成人国产精品欧美精品久久久久久久| 久草新免费| 欧美成人国产精品| 97超碰护士| 欧美爱三级日韩久久| 久久五月天婷婷丁香中文字幕| 性在久久久久久| 香蕉人人操tv| 久久99国产综合精品女同| aaa淫乱视频| 亚洲欧洲激情| 玖玖爱在线视频免费观看| 无码免费在线观看黄色片| 殴美在线AⅤ| 99综合| 91精品国久久久久久无码| 久久久久久人| 日本熟女不卡视频| 五月天综合网| 最新av在线| 国产9熟妇视频网站| 亚洲自拍偷拍视频在线| 最新啪啪视频| 一区二区三区四区姦女| 91无码精品| 日本一区视频在线观看| 超碰超碰欧美| 婷婷激情五月综合| 国产精品久久久久久久AV大片| 日本午夜久久电影| 日韩精品操少妇| 69一区二区三区 | 小电影欧美91| 青青草中日韩在线| 狠狠久久手机视频精品| 中文字幕av乱伦| 亚洲日韩青青草色月| 亚州精品人妻一二三区| 国产在线视频二区| 校园春色制服丝袜中文字亚洲 | 看日韩黄片| 99在线精品观看99| 久久亚洲日韩熟女精品| 欧美黄色大片在线观看 | 欧美色66| 热99这里有精品综合久久 | 美女天天干| 亚洲色图尤物视频| 美女露胸露屁股| 9I1性色影院| 亚洲色图日韩精品| 蜜桃臀一区二区aV| 26uuu性| 国产精品肉丝自拍| 欧美18老人禁| 亚洲码和欧洲精品激情系列| 亚洲色交| 亚洲天堂人妻一区二区| 在线综合网| 99热亚洲天堂| 女人与公拘交酡2020视频| 九色 人妻 大香蕉| 中文字幕在线免费观看2| 伊人天堂在线| 亚洲黑人在线| 亚州成人a∨| 久久精品福利影院| 亚洲自拍一区夜夜操| 超碰国产精品无码| 欧美传媒一区| 一块操欧美性爱| 91色夜| 男人天堂一区二区| 少妇熟女1区2区3区| 欧美久久毛片基地| 日韩 欧美 另类 人妻| 国产精品在线一区二区| 国产无马av| 在线欧美亚洲| 久久熟妇五十路一区| 国产最火爆久久国产网站网站| 国精综合一二三区影视| 亚洲精美粉嫩嫩泬在线观看| 欧美韩日精品99综合| 亚洲人成网www| 襙一襙| 日韩精品人妻中文字有码在线| 18禁美女裸体无遮挡啪啪| 久久美国毛片| 久久午夜伦| a男人的天堂久久一级A毛片| 内射中国少妇高清视频免费视频 | 97精品久久久久中文字幕| 最新日产中文在线麻豆| 啊啊啊免费视频| 天天插夜夜爽| 久久久无码国精品无码三区三区| 日本1区2区不卡视频| 后入式五六区| 18一区二区三区| 国产综合网站在线播放| 超碰九7| 欧美日动态视频| 午夜精品视频777| 9色国产精品一区粉嫩| Aa东京男人的天堂| 亭亭丁香激情| 色色五月婷婷| 视频黄色国产一级| 亚洲97超碰| 色五月激情AV在线| 国产又大又粗又长视频在线| 色婷婷综合网| 操逼视频亚洲| 强被迫伦姧在线观看无码网站| 福利大香蕉| 自拍丝袜美腿人妻| 最新欧美色网| 制服乱伦| 精品毛片久久久精品毛片| 蜜臀在线视频| 78精品| 国产女人9999| 国内操逼视频二区| 91大神电影天堂| 国产福利精品最新在线| 加勒比在线视频一区二区三区| 女人天堂av在线播放| 深爱伊人影院| 欧美日韩系列| 亚洲清纯唯美| 欧美国产有色电影| 妇女视频网站| 激情终合网| 久久的网站啊啊啊啊啊| 在线观看不卡一区二区三区| 青青草一区二区三区四| 东京热毛片调教| 97在线资源| 精品二999| 玖玖综合色| 高凊专区人人操| 天天操夜夜操| 五月婷婷六月丁香| 五月丁香综合激情| 人妻丝袜无 码视频专区| 亚洲欧美日韩精品久| 欧美性爱第一区| 91色人妻| 国产亚洲性生活视频播放| 国产精品视频内谢女人| 沈阳熟女高潮对白视频| 亚洲色图综合| 久久久久久99AV无码免费网站| 嗯嗯啊啊操我| 成人小说另类在线| 天天操人人操狠狠插| 国产成人99久久亚洲综合| 三级日韩一区二区三区| 午夜视频久久久久一区| 无码人妻系列少妇| 婷婷10月天青娱乐| 波多野结衣一级视频| 精品一区二区三区蜜桃臀赵总 | 欧美日韩丝袜 | 亚洲情色图片区| 热久日综合| 亚州Av天美传媒| 中出20p| 超碰色老头| 国产91av在线播放| 亚洲精品无码久久AV| 精品国产www久久| 中文字幕成人| 情色av电影| 日本中文字幕一区| 久久久久久人体| 日本色日夜干| 国产精品久久久久久照片| 国产一区在线免费播放| 国产玖玖| 免费超碰97久久| 天躁夜夜躁2021| 欧美精品久久96人妻无码| 人人艹亚洲| 婷婷激情五月| 大香蕉综合久久| 亚洲天堂一二| 精品久久无码午夜福利| 亚洲aV无码成人在线观看| 夜夜操二区| 97公开久久| 96超碰网| 成人性爱av.com| 嗯嗯嗯好爽| 天堂涩涩| 欧美性爱综合,免费| 国产尹人在线视频免费| 97色欧州| 一起草在线视频| 国产亚洲精品农村妇女| 精品久久久久久亚洲| 青青欧美| 欧美性生活男人的天堂| 在线日韩视频| 人人摸人人舔一区二区| 精品人妻中文字幕高清| 欧美日韩91| 美女黄码视频午夜| 自拍偷拍 日韩欧美| 性一交一乱一交A片久久四色| 亚州乱码中文字幕综合久久久| 成人青青草原伊人| 久久精品中文字幕无码l| 中文字幕天天天天天| 亚洲毛片久久| 天天日天天干天天操| 家庭乱伦麻豆| 一区二区三区一亚洲中文字幕、综合区灬| 特级大荫道BBwBBwBBW| 屌逼麻豆| 欧美人妻精品| 97精品免费视频网站| HEYZO高无码国产精品227| 熟啊v色欧美热| 亚州综合色| 99视频内射三四| 天天操熟妇| 老熟女乱子伦中文字幕一区二区 | 天天躁狠狠躁av| 91性高朝久久久久久久久| 亚洲高潮少妇| 国产三级片在线观看| 色色五月婷婷| 麻豆视频一区二区| 人妻啊啊人妻啊| 久久久久久久| 91N欧美| 天天做天天爱| 毛片视频白嫩| yaouchengrenav| 亚熟在线| 亚洲色图欧美色图日韩色图| 偷拍在线观看视频| 欧美性爱三区二区| 春色综合免费| 99re在线观看| 日韩综合色图| 91女神在线视频| 欧美成熟性爱精品| 99只有精品| 91快色色色色色| 五月天人妻综合| 九九色婷婷| 中文字幕乱亚洲美女精品一区| 女同在线视频一区| 欧美组图日韩亚洲中文字幕| 亚洲免费日韩在线一区二区| ..日韩av毛片精品久久久| 操老熟女AV| 婷婷五月天基地| 久久精品国产Aⅴ| 亚洲第91页 | 亚洲熟女乱色一区二区三区久久久| 国产日韩欧美亚洲精品95| 天天在线91| 日本人体九九九九九九| 麻豆国产视频精品观看| 少好三P| 精品 码产区一区二-1080P高清在线www-B029AV | 国产久久久久久| 国产丰满熟夫69mpp| 日韩精品1区2区中文字幕| 啊啊啊啊嗯嗯在线久久久| 久久久一热在线播放| 无码一区二区精品视频久久久春药 | 国产尤物在线三区| 97 亚洲 日韩 欧美 在线| 无码人妻精品一区二区中文| 97伦综合| 国产高清不卡视频| 操美女高潮抽搐白浆| 精品欧美老熟女一二区| 丰满人妻一区二区中文| www.狠狠干.coom | 东京热亚洲一区二区| 欧美亚洲第一页| 久久久久国色αv免费观看| 亚洲瓯美色图| 丁香五月久久| 亚洲啪AⅤ永久无码| 人妻蜜桃臀| 欧美日本天堂| 97超碰碰碰| 操逼视频免费日韩无码| 亚洲色婷婷久久91| 午夜福利 成人 91| 亚洲天堂人人妻| 91 手机在线播放 绯色| 婷婷影院入口| 国产一级高跟丝袜| 免费试看60秒| 欧美综合1性辶| 91久久国外网| 久久超碰大香蕉| http://qxhbdz.com| 九九综合久久| 国产精品久久久久亚洲av| 天天日天天干天天操| 91操熟女视频| 夫妻AV网站| 日日日色色色色色| 九九九影院| 精品97精品97| 97资源欧美| 亚洲人成色9999精品久久 | 人妻娇喘 激情视频| 欧美一品道| 久久国语| 亚洲 另类 丝袜 自拍 动漫| 欧美性战999| 色穴精品| 久久9久9久99久9久9| 首页亚洲国产高跟丝袜诱惑视频| 欧美黄片视频在线观看免费| 丝袜美腿制服人妻二区中文字幕| 岛国色情视频在线观看| 成人无遮挡毛片免费看| a片 xxxx受爽视频| 亚洲色狠| 毛片久久| 欧美亚洲国产91在线| 热思思免费视频| 天天看天天日| 日韩欧美亚洲自拍偷拍| 亚洲āv网址在线观看| 亚洲精品一区二区日本| 青娱乐老司机视频| 天天视频网站黄| 天天懆天天日| 性色av蜜臀av色欲aV| 亚洲1区2区三区高清中文字幕| 日韩亚洲中文有码视频| 国产91啪| 性色av婷婷久久一区二区点复制| 99操碰| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 色狠狠综合噜一二三区| 日日夜夜国产综合| 久久97超碰香蕉| 情色图区| 夜夜骑夜夜操| 国产精品点击进入在线影院| 曰本人妻人人澡人人夹| 亚洲成?V人片在线观看福利| 九九热免费视频| 熟妇人妻一区二区| 天天色踪合| 超碰97久| 中文AV制服乱伦| 亚洲色图日韩精品| 人妻熟女午夜精品在线| 国产有码一区| 人人摸人人舔一区二区| 麻豆视频一区二区| 欧美精品23| 欧美精品1区2区3区| 黄色污污污污污污网站| 校园春色亚洲无码| 啊啊啊啊操死我| 日本免费一级AAA大片器| 精品国产片亚洲一区| 亚洲熟女国产综合另类| 国产热av| 视频国产成人精品日本亚洲18| 黑人操一区二区| 五月天婷婷久久| 人妻酒店出差被中出免费在线播放| 国产精品对白自产拍| 一中国女人毛片水真多| 欧美久久伊人| 国产一区麻豆免费观看| 久伊人网78| 九九综合久久中文字幕| 五月开心网| 色香伊人| 999久久久免费精品国产牛牛| 强奸乱伦大香蕉网| 嗯阿好爽好紧| 中文字幕成人乱码熟女精品国50| 在线欧美69V免费观看视频| 狠狠久久亚洲欧美专区| 亚洲资源网| 一级性爱视频免费观看| 玖玖色综合| 国产乱码久久久久久| 在线视频 亚洲精品| 99色天堂| 亚洲情色综合网| 亚洲成人性爱网站在线播放| 蜜桃久久综合视频| 日1区2区3区2020| 啪啪资源网| 青青操在线亚洲视频观看欧美在线| 5252色欧美在线男人的天堂| 一类无码操逼视频| 久热精品色情| 婷婷丁香激情| 亚洲色图大香| 欧美综合色,www| 欧美精品日韩一区二区| 超碰97首页| 爽极品影院| 欧美操逼视频二区| 精品无码久久久久久久杏吧| 久操大香蕉手机视频在线看| 凹凸 69堂 在线播放| 日韩不卡毛片Av免费高清| 裸体1区| 久草视频观看视频在线| 色九九九| 日本熟女不卡视频| 97欧美精品综合| 亚洲综合欧美| 性色乱AV一区二区| 啪啪性爱免费视频| 亚洲色图欧美色图制服丝袜 | 99久久综合| 91看黄片| 大香蕉国产中文自拍| 国产精品直播在线观看直播| 久久久久久久久久久97| 亚洲欧美成人网站AAA| 97中文超碰| 84YTCOM性无码| 九一综合精品视品av| www.99色| 日本最新免费韩国1区2区视频播放| 人人干黄色| 中文字幕人乱码中文字的预防方法| 波多野结衣一级视频| 动漫av中文| 亚洲最大网站av| 久热伊人| 国产伊人自拍| 亚洲乱色熟女一区| 青青草日韩免费观看高清在线| 91强热人妻| 欧美丝袜91| 国产欧美美女免费观看视频| av网站免费线看| 久久久禁| 色情综合| 91免费看一区二区三区 | 国产Aα| 人人妻人人色一区二区三区| 99热这里只有精品9| 久久专区| 超碰碰激情97+久| 女同性恋久久| 男人在线天堂| 素人无码中文字幕| 亚洲精品亚洲人成人网| 精品78| 日本99一区二区| 性爱1区| 亚洲学生妹高清av| 久久精9| 六月婷婷色综合| 乱伦一二三区| 亚州伊人色综台| 久久性爱精品一区| AV中文字幕三四五| 歐美一級亂黃99在綫精品| 精品亚洲国产成人精品| AV天堂因数| 黄呦呦在线| 能看的AV| 操逼逼中文字幕| 亚洲天天操| 超碰到97情色| 国产性刺激| 国产激情久久| 欧美一级特黄淫片在线观看| 91性片| 中文字幕伊人| 超碰色中文| 五月色综合| 亚洲av综合色| 日本一区二区中文字幕久久| 女上位精品在线| 色婷婷婷五月天激情四射| 桃色五月天| 狠狠色噜噜狠狠狠狠狠色综合久久| 久久天堂| 午夜啊啊| 色69大色97香蕉| 九九拍拍精品视频在线播放| 91麻豆天美国产欧美日| 免费精品福利在线观看| 一区二区三区黄色片a| 中文字幕蜜乳av| 少妇精品| 蜜桃传媒视频第一区入口在线看| 伊人玖玖网| 刺激性视频黄页| 91粉芽高清在线一区二区| 囯产乱伦一区二区三女| 在线A日本| 十八禁视频一区二区| 亚洲一二三四区| 2017天天插| 亚洲一区二区中文字幕| 日日骚精品视频| 亚洲天堂人妻熟妇视频| 欧美视频边做饭边橾| 精品二区三四区五电影| 大香交伊人网| 日韩操逼HD| 亚洲区 欧美区| 久久噜| 久久久久性熟视频| 欧美亚洲日本视频久久久| 裸体美女久久久| 亚洲色图加勒比| 青青青操| 黄色大片免费在线| 好爽,再快点啊哈嗯嗯嗯嗯| 色五91| 日韩草久视频| 东北夫妻性偷拍| 久久久久骚| 久操99| 啊a一区在线| 老熟女91av| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 国产做?爰片久久毛片?片美国| 欧美一级A片不卡视频。| 18禁免费视频| 久久久久亚洲Aⅴ无码| 欧美网站免费| 婷婷综合在线| 欧美黑人性猛交91| 色狠人在线99| 国产精品不卡一区二区三区| 蜜桃臀一区二区aV| 撸无码不卡免费视频| 精品人妻一区二区三区四区| 黄页av| 精品一区二区国产日韩| 三男一女不戴套的A片| 亚洲 日本 国产 综合| 一区二区三区黄片免费观看| 天天操天天舔| 久久精品人体AV| 9超碰免费| 日韩 女同 综合| 9久热这里只有精品| 国产成年女黄特黄| 超97在线精品视频| 九九色综合| 欧美性色综合网| 天天干夜夜肏| 色汉综合| 日本东京热加勒比久久| 超碰99在线观看| 欧美五区| 欧美综合亚洲| 欧洲在线性爱视频| 3D污黄视频在线观看| 啊啊啊好爽快点啊啊啊嗯嗯| 樱花草社区www中国| 99色在线| 20cm女自慰在线日韩欧美| 国产精品视频一区二区三区八戒| 丁香六月激情| 成人久久精品| 天天肏天天干| 成人性爱美曰韩| 素人美腿视频网站| 日本操色导航| www.大香| 国产精品久久久三级无码| 久久综合女优| 好吊色青靑草| 操逼日韩无码| 俺也射| 无码高清国产AV| 色好看av| 日韩欧美久久婷婷网站| 97看操| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 欧美97在线观看| 大逼色网站| 欧美色视频在线| 九九热九九热| 亚洲天天自拍| 无码操逼网| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 天天看精品动漫视频一区| av天堂手机版追回| 亚洲美女30b| 丰满人妻一区二区三区蜜桃视频| 成人乱码一区二区三少妇| 99操| 国产精品直播在线观看直播| 五月天伊人| 啊啊啊操死我了| 国产熟女完整版中字| 好看的91视频| 国内偷拍精品一区二区| 日韩一区二区精品视频| 欧美色亚洲色| 天天日天天干天天整| 四虎在线播放| 精品无码不卡视频| 嫩草伊人久久精品| 日韩三级在线观看网站| 青娱乐亚洲热| 天天综合网在线观看| 六十路日本| 天天综合91入口| 亚洲国产成人高清在线| 久久久久久久综合,国产| 久久九九视频九九视频| 丰满精品人妻少妇久久字幕| 欧美色网| julia ann久久| wwe 天天干.com| 无卡一区=区| 亚洲成人在线高清| 激情开心五月天| 大粗鳼巴久久久久| 91狠狠综合久久久| 久久婷婷一区| 日本熟女中文| 91在线观看,天天综合| 国产一区二区三区导航| 97在线资源| 永久免费发布性爱网| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 亚洲双插| 色色婷婷丁香| 美女诱惑久久| 亚洲天堂另类美腿| 操逼视频国产无套| 久久m| 亚洲日韩美国人妻| 欧美色图小说综合| 91九色精品熟女内射| 91 丝袜在线播放| 青青操97| 成人av影院在线观看| 国外91| 99在线精品观看99| 高清国产精品福利网站| 欧美中字二区| 国产精品岛国片在线观看| 日日躁天天躁狠狠躁| 电影69乱码96| 午夜激情成人在线观看| 97天天插| 91neishe| 日本成人A片免费看| 中文字幕国产| 国产精品久久发布| 国产精品久久久久中文字幕| 国产美女91| 精品久久99| 最近2019中文字幕国语免费版| 日韩无码人妻中字久久三区四区| 2001天天操| 欧美日本中字另类在线| 狠狠入| 97色色国产视频| 女人高潮大叫一级毛片| 亚洲国产另类在线中文| 中文久久96| 91欧美高清| 人人操人人操草草| 少妇久久久| AV男人天堂网| 欧美香蕉视xxx| 亚洲精品三| 久热在线精品免费观看| 9久9久9久9久视频网站| 超碰 另类 欧美| 丁香五月性| 搡老女人老妇女AAA一VU麻豆| 欧美色网络| 欧美成人国产精品| 禁止观看美女黄| 亚洲精品日日夜夜52| 日韩熟女操逼| 春色91| 91黑丝操| 91天天综合网,天天综合网| 99热在线观看| a级成人毛片免费视频高清| 成人一二| 殴美性天天| 亚洲高清在线se| 亚洲自拍一区夜夜操| 97久久精品亚洲| 日本在线激情一区二区三区| 亚洲av无码成电影在线播放| 玖玖久久久| 亚洲欧美激情小说| 青草影院内射高潮| 亚洲精品欧洲精品| 婷婷四五区| 综合啪啪| www黄片免费看com| 天堂а√在线最新版在线| 国产精品 视频| 天天综合网~91| 老熟女综合网| 久久久久深夜无码| 色偷偷人人玩人人舔人人操人人摸人人爽 | 亚洲国产精品久久久久婷婷青年| 精品婷婷| 在线观看日韩av不卡| 国产精品999zyz| 国产精品一区av在线| 亚洲日韩精品久久久久一区壹牛 | 少妇一区二区三区高速| 极品销魂美女一区二区| 玖草在线视频| 一区二区高清视频| 91高潮| 伊人网高清| 欧美性性性| 久久精品28| 殴美性天天| 69一区二区三区| 少妇色| 凹凸视频在线一区二区| 国产精品爆乳懂色蜜乳| 国产操逼网站亚洲一级黄色| 激情综合网激情综合| 偷拍精品一区二区三区| 中文一区二区三区影院| 狠狠操使劲操| 国产真乱mangent| 永久免费av无码网站国产app| 一级岛国大片| 久久无码成人| 久久精品国产亚洲AV无码电影| 国产92麻豆天美精品色欲5| 人妻激情偷乱视三区频一区二区| 人妻99p|