日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

Caffe 在自己的数据库上训练步骤

發(fā)布時(shí)間:2023/12/4 数据库 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Caffe 在自己的数据库上训练步骤 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


回憶ImageNet的步驟:http://caffe.berkeleyvision.org/gathered/examples/imagenet.html

Brewing ImageNet

This guide is meant to get you ready to train your own model on your own data. If you just want an ImageNet-trained network, then note that since training takes a lot of energy and we hate global warming, we provide the CaffeNet model trained as described below in the?model zoo.

Data Preparation

The guide specifies all paths and assumes all commands are executed from the root caffe directory.

By “ImageNet” we here mean the ILSVRC12 challenge, but you can easily train on the whole of ImageNet as well, just with more disk space, and a little longer training time.

We assume that you already have downloaded the ImageNet training data and validation data, and they are stored on your disk like:

/path/to/imagenet/train/n01440764/n01440764_10026.JPEG /path/to/imagenet/val/ILSVRC2012_val_00000001.JPEG

You will first need to prepare some auxiliary data for training. This data can be downloaded by:

./data/ilsvrc12/get_ilsvrc_aux.sh

The training and validation input are described in?train.txt?and?val.txt?as text listing all the files and their labels. Note that we use a different indexing for labels than the ILSVRC devkit: we sort the synset names in their ASCII order, and then label them from 0 to 999. See?synset_words.txt?for the synset/name mapping.

You may want to resize the images to 256x256 in advance. By default, we do not explicitly do this because in a cluster environment, one may benefit from resizing images in a parallel fashion, using mapreduce. For example, Yangqing used his lightweight?mincepie?package. If you prefer things to be simpler, you can also use shell commands, something like:

for name in /path/to/imagenet/val/*.JPEG; doconvert -resize 256x256\! $name $name done

Take a look at?examples/imagenet/create_imagenet.sh. Set the paths to the train and val dirs as needed, and set “RESIZE=true” to resize all images to 256x256 if you haven’t resized the images in advance. Now simply create the leveldbs with?examples/imagenet/create_imagenet.sh. Note thatexamples/imagenet/ilsvrc12_train_leveldb?and?examples/imagenet/ilsvrc12_val_leveldb?should not exist before this execution. It will be created by the script.?GLOG_logtostderr=1?simply dumps more information for you to inspect, and you can safely ignore it.

Compute Image Mean

The model requires us to subtract the image mean from each image, so we have to compute the mean.?tools/compute_image_mean.cpp?implements that - it is also a good example to familiarize yourself on how to manipulate the multiple components, such as protocol buffers, leveldbs, and logging, if you are not familiar with them. Anyway, the mean computation can be carried out as:

./examples/imagenet/make_imagenet_mean.sh

which will make?data/ilsvrc12/imagenet_mean.binaryproto.

Model Definition

We are going to describe a reference implementation for the approach first proposed by Krizhevsky, Sutskever, and Hinton in their?NIPS 2012 paper.

The network definition (models/bvlc_reference_caffenet/train_val.prototxt) follows the one in Krizhevsky et al. Note that if you deviated from file paths suggested in this guide, you’ll need to adjust the relevant paths in the?.prototxt?files.

If you look carefully at?models/bvlc_reference_caffenet/train_val.prototxt, you will notice severalinclude?sections specifying either?phase: TRAIN?or?phase: TEST. These sections allow us to define two closely related networks in one file: the network used for training and the network used for testing. These two networks are almost identical, sharing all layers except for those marked with?include { phase: TRAIN }?or?include { phase: TEST }. In this case, only the input layers and one output layer are different.

Input layer differences:?The training network’s?data?input layer draws its data fromexamples/imagenet/ilsvrc12_train_leveldb?and randomly mirrors the input image. The testing network’s?data?layer takes data from?examples/imagenet/ilsvrc12_val_leveldb?and does not perform random mirroring.

Output layer differences:?Both networks output the?softmax_loss?layer, which in training is used to compute the loss function and to initialize the backpropagation, while in validation this loss is simply reported. The testing network also has a second output layer,?accuracy, which is used to report the accuracy on the test set. In the process of training, the test network will occasionally be instantiated and tested on the test set, producing lines like?Test score #0: xxx?and?Test score #1: xxx. In this case score 0 is the accuracy (which will start around 1/1000 = 0.001 for an untrained network) and score 1 is the loss (which will start around 7 for an untrained network).

We will also lay out a protocol buffer for running the solver. Let’s make a few plans:

  • We will run in batches of 256, and run a total of 450,000 iterations (about 90 epochs).
  • For every 1,000 iterations, we test the learned net on the validation data.
  • We set the initial learning rate to 0.01, and decrease it every 100,000 iterations (about 20 epochs).
  • Information will be displayed every 20 iterations.
  • The network will be trained with momentum 0.9 and a weight decay of 0.0005.
  • For every 10,000 iterations, we will take a snapshot of the current status.

Sound good? This is implemented in?models/bvlc_reference_caffenet/solver.prototxt.

Training ImageNet

Ready? Let’s train.

./build/tools/caffe train --solver=models/bvlc_reference_caffenet/solver.prototxt

Sit back and enjoy!


數(shù)據(jù)集準(zhǔn)備:

ImageNet consists of variable-resolution images, while our system requires a constant input dimensionality.Therefore, we down-sampled the images to a fixed resolution of 256 × 256. Given arectangular image, we first rescaled the image such that the shorter side was of length 256, and thencropped out the central 256×256 patch from the resulting image. We did not pre-process the imagesin any other way, except for subtracting the mean activity over the training set from each pixel.

參照?http://blog.csdn.net/u010417185/article/details/52651761

Data augmentation中的crop:

[python]?view plaincopy
  • layer?{??
  • ??name:?"data"??
  • ??type:?"Data"??
  • ??top:?"data"??
  • ??top:?"label"??
  • ??include?{??
  • ????phase:?TRAIN??
  • ??}??
  • ??transform_param?{??
  • ????mirror:?true??
  • ????crop_size:?600??
  • ????mean_file:?"examples/images/imagenet_mean.binaryproto"??
  • ??}??
  • ??data_param?{??
  • ????source:?"examples/images/train_lmdb"??
  • ????batch_size:?256??
  • ????backend:?LMDB??
  • ??}??
  • }??
  • layer?{??
  • ??name:?"data"??
  • ??type:?"Data"??
  • ??top:?"data"??
  • ??top:?"label"??
  • ??include?{??
  • ????phase:?TEST??
  • ??}??
  • ??transform_param?{??
  • ????mirror:?false??
  • ????crop_size:?600??
  • ????mean_file:?"examples/images/imagenet_mean.binaryproto"??
  • ??}??
  • ??data_param?{??
  • ????source:?"examples/images/val_lmdb"??
  • ????batch_size:?50??
  • ????backend:?LMDB??
  • ??}??
  • } ?
  • 從上面的 數(shù)據(jù)層的定義,看得出用了鏡像和crop_size,還定義了 mean_file。

    利用crop_size這種方式可以剪裁中心關(guān)注點(diǎn)和邊角特征,mirror可以產(chǎn)生鏡像,彌補(bǔ)小數(shù)據(jù)集的不足.

    這里要重點(diǎn)講一下crop_size在訓(xùn)練層與測(cè)試層的區(qū)別:

    首先我們需要了解mean_file和crop_size沒什么大關(guān)系。mean_file是根據(jù)訓(xùn)練集圖片制作出來的,crop_size是對(duì)訓(xùn)練集圖像進(jìn)行裁剪,兩個(gè)都是對(duì)原始的訓(xùn)練集圖像進(jìn)行處理。如果原始訓(xùn)練圖像的尺寸大小為800*800,crop_size的圖片為600*600,則mean_file與crop_size的圖片均為800*800的圖像集。

    文中用的是從256x256圖像上crop224x224區(qū)域,而如果尺寸超過256,則crop size也需要增大,盡管在multi-scale training中,提倡將同一大小的crop用在不同大小輸入圖像上,但那里最大也就是512,差距還好。

    在caffe中,如果定義了crop_size,那么在train時(shí)會(huì)對(duì)大于crop_size的圖片進(jìn)行隨機(jī)裁剪,而在test時(shí)只是截取中間部分(詳見/caffe/src/caffe/data_transformer.cpp):

    [python]?view plaincopy
  • //We?only?do?random?crop?when?we?do?training.??
  • ????if?(phase_?==?TRAIN)?{??
  • ??????h_off?=?Rand(datum_height?-?crop_size?+?1);??
  • ??????w_off?=?Rand(datum_width?-?crop_size?+?1);??
  • ????}?else?{??
  • ??????h_off?=?(datum_height?-?crop_size)?/?2;??
  • ??????w_off?=?(datum_width?-?crop_size)?/?2;??
  • ????}??
  • ??} ?

    • 從上述的代碼可以看出,如果我們輸入的圖片尺寸大于crop_size,那么圖片會(huì)被裁剪。當(dāng) phase 模式為 TRAIN 時(shí),裁剪是隨機(jī)進(jìn)行裁剪,而當(dāng)為TEST 模式時(shí),其裁剪方式則只是裁剪圖像的中間區(qū)域。

    下面是我在網(wǎng)上找到的自己進(jìn)行圖像裁剪的程序:

    可對(duì)照給出的網(wǎng)址進(jìn)行詳細(xì)閱讀:http://blog.csdn.NET/u011762313/article/details/48343799

    我們可以手動(dòng)將圖片裁剪并導(dǎo)入pycaffe中,這樣能夠提高識(shí)別率(pycaffe利用caffemodel進(jìn)行分類中:進(jìn)行分類這一步改為如下):

    [python]?view plaincopy
  • #記錄分類概率分布??
  • pridects?=?np.zeros((1,?CLASS_NUM))??
  • ??
  • #?圖片維度(高、寬)??
  • img_shape?=?np.array(img.shape)??
  • #?裁剪的大小(高、寬)??
  • crop_dims?=?(32,?96)??
  • crop_dims?=?np.array(crop_dims)??
  • #?這里使用的圖片高度全部固定為32,長(zhǎng)度可變,最小為96??
  • #?裁剪起點(diǎn)為0,終點(diǎn)為w_range??
  • w_range?=?img_shape[1]?-?crop_dims[1]??
  • #?從左往右剪一遍,再?gòu)挠彝蠹粢槐?#xff0c;步長(zhǎng)為96/4=24??
  • for?k?in?range(0,?w_range?+?1,?crop_dims[1]?/?4)?+?range(w_range,?1,?-crop_dims[1]?/?4):??
  • ????#?裁剪圖片??
  • ????crop_img?=?img[:,?k:k?+?crop_dims[1],?:]??
  • ????#?數(shù)據(jù)輸入、預(yù)處理??
  • ????net.blobs['data'].data[...]?=?transformer.preprocess('data',?crop_img)??
  • ????#?前向迭代,即分類??
  • ????out?=?net.forward()??
  • ????#?每一次分類,概率分布疊加??
  • ????pridects?+=?out['prob']??
  • ??
  • #?取最大的概率分布為最終結(jié)果??
  • pridect?=?pridects.argmax() ?

    • caffe中提供了過采樣的方法(oversample),詳見/caffe/python/caffe/io.py,裁剪的是圖片中央、4個(gè)角以及鏡像共10張圖片。

    在使用pycaffe定義網(wǎng)絡(luò)、使用pycaffe進(jìn)行網(wǎng)絡(luò)訓(xùn)練與測(cè)試之后得到caffemodel文件,下面利用caffemodel進(jìn)行分類:

    • 導(dǎo)入相關(guān)庫(kù)
    <code class="language-python hljs has-numbering" style="display: block; padding: 0px; background: transparent; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal;"><span class="hljs-keyword" style="color: rgb(0, 0, 136); box-sizing: border-box;">import</span> caffe</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>
    • 配置
    <code class="language-python hljs has-numbering" style="display: block; padding: 0px; background: transparent; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal;"><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># caffemodel文件</span> MODEL_FILE = <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'model/_iter_10000.caffemodel'</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># deploy文件,參考/caffe/models/bvlc_alexnet/deploy.prototxt</span> DEPLOY_FILE = <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'deploy.prototxt'</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># 測(cè)試圖片存放文件夾</span> TEST_ROOT = <span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'datas/'</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li></ul>
    • GPU模式測(cè)試
    <code class="language-python hljs has-numbering" style="display: block; padding: 0px; background: transparent; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal;">caffe.set_mode_gpu() net = caffe.Net(DEPLOY_FILE, MODEL_FILE, caffe.TEST)</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li></ul>
    • 數(shù)據(jù)輸入預(yù)處理
    <code class="language-python hljs has-numbering" style="display: block; padding: 0px; background: transparent; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal;"><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># 'data'對(duì)應(yīng)于deploy文件:</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># input: "data"</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># input_dim: 1</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># input_dim: 3</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># input_dim: 32</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># input_dim: 96</span> transformer = caffe.io.Transformer({<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'data'</span>: net.blobs[<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'data'</span>].data.shape}) <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># python讀取的圖片文件格式為H×W×K,需轉(zhuǎn)化為K×H×W</span> transformer.set_transpose(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'data'</span>, (<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>)) <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># python中將圖片存儲(chǔ)為[0, 1],而caffe中將圖片存儲(chǔ)為[0, 255],</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># 所以需要一個(gè)轉(zhuǎn)換</span> transformer.set_raw_scale(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'data'</span>, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">255</span>) <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># caffe中圖片是BGR格式,而原始格式是RGB,所以要轉(zhuǎn)化</span> transformer.set_channel_swap(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'data'</span>, (<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span>, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span>)) <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># 將輸入圖片格式轉(zhuǎn)化為合適格式(與deploy文件相同)</span> net.blobs[<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'data'</span>].reshape(<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span>, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">3</span>, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">32</span>, <span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">96</span>)</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li></ul>
    • 讀取圖片
    <code class="language-python hljs has-numbering" style="display: block; padding: 0px; background: transparent; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal;"><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># 詳見/caffe/python/caffe/io.py</span> img = caffe.io.load_image(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'temp.jpg'</span>) <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># 讀取的圖片文件格式為H×W×K,需轉(zhuǎn)化</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li></ul>
    • 進(jìn)行分類
    <code class="language-python hljs has-numbering" style="display: block; padding: 0px; background: transparent; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal;"><span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># 數(shù)據(jù)輸入、預(yù)處理</span> net.blobs[<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'data'</span>].data[...] = transformer.preprocess(<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'data'</span>, img) <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># 前向迭代,即分類</span> out = net.forward() <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># 輸出結(jié)果為各個(gè)可能分類的概率分布</span> pridects = out[<span class="hljs-string" style="color: rgb(0, 136, 0); box-sizing: border-box;">'prob'</span>] <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># 上述'prob'來源于deploy文件:</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># layer {</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># name: "prob"</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># type: "Softmax"</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># bottom: "ip2"</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># top: "prob"</span> <span class="hljs-comment" style="color: rgb(136, 0, 0); box-sizing: border-box;"># }</span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li></ul>
    • 最可能分類
    <code class="language-python hljs has-numbering" style="display: block; padding: 0px; background: transparent; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal;">pridect = pridects.argmax()</code> 注:如果圖片過大,需要適當(dāng)縮小batch_size的值,否則使用GPU時(shí)可能超出其緩存大小而報(bào)錯(cuò)


    在AlexNet訓(xùn)練中,trainset的batch_size是256,testset的batch_size是50,與兩個(gè)集合的大小不成比例。

    關(guān)于輸入圖像尺寸問題:http://caffecn.cn/?/question/74

    建議讀一下caffe.proto文件,里面有對(duì)每種layer的詳細(xì)參數(shù)定義,在ConvolutioalParameter里可以找到你想找到的。

    看examples/imagenet里面的convert_imageset.sh

    GLOG_logtostderr=1 $TOOLS/convert_imageset \
    ???? --resize_height=$RESIZE_HEIGHT \
    ??? --resize_width=$RESIZE_WIDTH \

    ??? --shuffle \
    ??? $TRAIN_DATA_ROOT \
    ??? $DATA/train.txt \
    ??? $EXAMPLE/ilsvrc12_train_lmdb

    構(gòu)造一個(gè)網(wǎng)絡(luò)首先要保證數(shù)據(jù)流是通的,即各層的輸出形狀的是整數(shù),不能是小數(shù)。至于構(gòu)造出來的網(wǎng)絡(luò)效果好不好,按下不表。只要數(shù)據(jù)流通暢,你的輸入圖像是什么形狀的都無所謂了。
    ?
    如果你的圖像是邊長(zhǎng)為 256 的正方形。那么卷積層的輸出就滿足 [ (256 - kernel_size)/ stride ] + 1 ,這個(gè)數(shù)值得是整數(shù)才行,否則沒有物理意義。例如,你算得一個(gè)邊長(zhǎng)為 7.7 的 feature map 是沒有物理意義的。?pooling 層同理可得。FC 層的輸出形狀總是滿足整數(shù),其唯一的要求就是整個(gè)訓(xùn)練過程中 FC 層的輸入得是定長(zhǎng)的。
    ?
    如果你的圖像不是正方形。那么可以在制作 leveldb / lmdb 數(shù)據(jù)庫(kù)時(shí),縮放到統(tǒng)一大小(非正方形)。然后再使用非正方形的 kernel_size 來使得卷積層的輸出依然是整數(shù)。

    其他問題:http://blog.csdn.net/u010417185/article/details/52649178

    1、均值計(jì)算是否需要統(tǒng)一圖像的尺寸?

    在圖像計(jì)算均值時(shí),應(yīng)該先統(tǒng)一圖像的尺寸,否則會(huì)報(bào)出錯(cuò)誤的。

    粘貼一部分官方語(yǔ)言:

    均值削減是數(shù)據(jù)預(yù)處理中常見的處理方式,按照之前在學(xué)習(xí)ufldl教程PCA的一章時(shí),對(duì)于圖像介紹了兩種:第一種常用的方式叫做dimension_mean(個(gè)人命名),是依據(jù)輸入數(shù)據(jù)的維度,每個(gè)維度內(nèi)進(jìn)行削減,這個(gè)也是常見的做法;第二種叫做per_image_mean,ufldl教程上說,在natural images上訓(xùn)練網(wǎng)絡(luò)時(shí);給每個(gè)像素(這里只每個(gè)dimension)計(jì)算一個(gè)獨(dú)立的均值和方差是make little sense的;這是因?yàn)閳D像本身具有統(tǒng)計(jì)不變性,即在圖像的一部分的統(tǒng)計(jì)特性和另一部分相同。作者最后建議,如果你訓(xùn)練你的算法在非natural images(如mnist,或者在白背景存在單個(gè)獨(dú)立的物體),其他類型的規(guī)則化是值得考慮的。但是當(dāng)在natural images上訓(xùn)練時(shí),per_image_mean是一個(gè)合理的默認(rèn)選擇。


    這段話意在告訴我們?cè)谟?xùn)練的圖像不同,我們均值采用的方法亦可發(fā)生變化。


    了解完后我們來看一下如果圖像尺寸不統(tǒng)一會(huì)報(bào)出什么樣子的錯(cuò)誤:

    上圖中很明顯爆出了“size_in_datum == data_size ” 的錯(cuò)誤。

    下面是小編找到的問題原因:

    在把圖片轉(zhuǎn)化到levelDB中遇到了Check failed: data.size() == data_size,歸根究底還是源碼沒細(xì)看,找到出錯(cuò)的行在F0714 20:31:14.899121 26565 convert_imageset.cpp:84] convert_imageset.cpp中的第84行,? CHECK_EQ(data.size(), data_size) << "Incorrect data field size "?<< data.size();就是說兩個(gè)大小不一致,再看代碼

    [cpp]?view plaincopy
  • int?data_size;??
  • ???bool?data_size_initialized?=?false;??
  • ???for?(int?line_id?=?0;?line_id?<?lines.size();?++line_id)?{??
  • ?????if?(!ReadImageToDatum(root_folder?+?lines[line_id].first,lines[line_id].second,?datum))?{??
  • ???????continue;??
  • ?????}??
  • ?????if?(!data_size_initialized)?{??
  • ???????data_size?=?datum.channels()?*?datum.height()?*?datum.width();??
  • ???????data_size_initialized?=?true;??
  • ?????}?else?{??
  • ???????const?string&?data?=?datum.data();??
  • ???????CHECK_EQ(data.size(),?data_size)?<<?"Incorrect?data?field?size?"??
  • ???????????<<?data.size();??
  • ?????} ?
  • 從上面的代碼可知,第一次循環(huán)中,data_size_initialized=false,然后進(jìn)入到if (!data_size_initialized) 中,把data_size設(shè)為了datum.channels() * datum.height() * datum.width(),同時(shí)把data_size_initialized=true,在以后的迭代中,都是執(zhí)行else語(yǔ)句,從而加入圖片大小不一致會(huì)報(bào)錯(cuò),處理的辦法可選的是,在轉(zhuǎn)換到數(shù)據(jù)庫(kù)levelDB前,讓圖片resize到一樣的大小,或者把ReadImageToDatum改成ReadImageToDatum(root_folder + lines[line_id].first,lines[line_id].second,width,height ,datum)。


    參考博文地址:http://blog.csdn.NET/alan317/article/details/37772457


    2、caffe實(shí)際運(yùn)行中圖像大小不一,放大縮小時(shí)都有可能失真,此時(shí)該如何處理數(shù)據(jù)?


    如果處理的圖像大小不一且過度放大或者過度縮小會(huì)造成圖像嚴(yán)重失真且丟失信息,則不能直接對(duì)圖像尺寸進(jìn)行歸一化。

    措施:

    可以采用一個(gè)居中的尺寸,例如統(tǒng)一圖像的寬度為600,而高度根據(jù)寬度的大小按照比例進(jìn)行縮放。處理完之后可以對(duì)圖像進(jìn)行切片處理,進(jìn)而將圖像尺寸進(jìn)行歸一化。


    3、Crop_size的作用?


    對(duì)圖像進(jìn)行裁剪,如果原圖為800*800,而我們只需進(jìn)行600*600圖像檢測(cè)時(shí),我們可以使用crop_size進(jìn)行圖像截取。當(dāng)截取的模式為TRAIN時(shí),截取方式為隨機(jī)截取。其他的模式則只截取圖像的中間區(qū)域。 具體可查看http://blog.csdn.net/u010417185/article/details/52651761

    4、在網(wǎng)絡(luò)配置文件中的 test_iter 值得確定

    [python]?view plaincopy
  • #?reduce?the?learning?rate?after?8?epochs?(4000?iters)?by?a?factor?of?10??
  • ??
  • #?The?train/test?net?protocol?buffer?definition??
  • net:?"examples/cifar10/cifar10_quick_train_test.prototxt"??
  • #?test_iter?specifies?how?many?forward?passes?the?test?should?carry?out.??
  • #?In?the?case?of?MNIST,?we?have?test?batch?size?100?and?100?test?iterations,??
  • #?covering?the?full?10,000?testing?images.??
  • test_iter:?100??
  • #?Carry?out?testing?every?500?training?iterations.??
  • test_interval:?100??
  • #?The?base?learning?rate,?momentum?and?the?weight?decay?of?the?network.??
  • base_lr:?0.001??
  • momentum:?0.9??
  • weight_decay:?0.004??
  • #?The?learning?rate?policy??
  • lr_policy:?"fixed"??
  • #?Display?every?100?iterations??
  • display:?100??
  • #?The?maximum?number?of?iterations??
  • max_iter:?4000??
  • #?snapshot?intermediate?results??
  • snapshot:?4000??
  • snapshot_format:?HDF5??
  • snapshot_prefix:?"examples/cifar10/cifar10_quick"??
  • #?solver?mode:?CPU?or?GPU??
  • solver_mode:?CPU ?
  • 在設(shè)置配置時(shí),對(duì)于test_iter值的計(jì)算有一點(diǎn)模糊,不知是根據(jù)batch size 值與整體圖像庫(kù)(測(cè)試集合與訓(xùn)練集合)還是單獨(dú)的某個(gè)圖像集合數(shù)據(jù)計(jì)算獲得。后來通過認(rèn)真讀給出的解釋與實(shí)例,最終確定該值是batch size 值與測(cè)試圖像集合計(jì)算獲得的。若batch size 值為100,而訓(xùn)練集合含有6000幅圖片,測(cè)試集含有1000幅圖片,則test_iter值為1000/10,與訓(xùn)練集的圖片量無關(guān)。

    整體步驟:參照http://blog.csdn.net/alexqiweek/article/details/51281240

    1.數(shù)據(jù)準(zhǔn)備

    在caffe/data下新建目錄myself,并在myself里又新建兩個(gè)目錄train、val。

    ?

    注意:圖片的格式必須為.jpeg格式

    train存放訓(xùn)練用的數(shù)據(jù)源;該目錄下又兩個(gè)目錄bird(70張圖)、cat(70張圖)

    ?

    ?

    ?

    val存放用于測(cè)試的數(shù)據(jù)源;bird和cat各20張圖

    ?

    在終端下切換到caffe/data/myself目錄下,利用上面的數(shù)據(jù)源生成train.txt、val.txt、test.txt。

    test.txt的內(nèi)容和val.txt相同,只是沒有后面的數(shù)字標(biāo)識(shí)。

    ?

    生成val.txt的命令:find? -name *.jpeg |grep -v train | cut -d/ -f3>val.txt

    ?

    生成train.txt的命令:find? -name *.jpeg |grep? train | cut -d/ -f3-4 > train.txt;但由于bird和cat的圖片需要通過在后面添加不同的數(shù)字區(qū)分開來,因此還需命令:sed -i '1,70s/.*/&? 0/' train.txt和sed -i'71,141s/.*/&? 1/' train.txt






    2創(chuàng)建數(shù)據(jù)庫(kù)

    在caffe/example目錄下新建目錄myself。并將caffe/examples/imagenet目錄下create_imagenet.sh文件拷貝到myself中。

    ?

    create_imagenet.sh的內(nèi)容如下:


    第5行的EXAMPLE指定生成的數(shù)據(jù)庫(kù)文件存放路徑。

    第6行的DATA指定生成數(shù)據(jù)庫(kù)所需文件來源路徑。

    9行的TRAIN_DATA_ROOT指明存放訓(xùn)練數(shù)據(jù)的絕對(duì)路徑。

    10行的VAL_DATA_ROOT指明存放測(cè)試數(shù)據(jù)的絕對(duì)路徑。TRAIN_DATA_ROOTVAL_DATA_ROOT寫錯(cuò)了,就會(huì)報(bào)一堆找不到圖片的錯(cuò)誤。

    第12行到21行用于將圖片調(diào)節(jié)成統(tǒng)一大小,256X256。

    ?

    第45、55行指定生成的數(shù)據(jù)庫(kù)文件夾的名稱。

    ?

    在caffe的主目錄下輸了命令./examples/myself/create_imagenet.sh就會(huì)在create_imagenet.sh中的EXAMPLE所指定的目錄下(此次為example/myself)生成兩個(gè)數(shù)據(jù)庫(kù)文件。

    ?


    3訓(xùn)練網(wǎng)絡(luò)【使用CaffeNet網(wǎng)絡(luò)進(jìn)行訓(xùn)練的時(shí)間可能比LeNet網(wǎng)絡(luò)用的時(shí)間多,本次實(shí)驗(yàn)使用的網(wǎng)絡(luò)是CaffeNet

    ①??拷貝models/bvlc_alexnet目錄下的train_val.prototxt文件到example/myself目錄下。

    該文件的定義的為待訓(xùn)練網(wǎng)絡(luò)的結(jié)構(gòu)。

    ?

    ②拷貝models/bvlc_alexnet目錄下的solver.prototxt文件到example/myself目錄下。

    該文件為訓(xùn)練網(wǎng)絡(luò)時(shí)的所需的一些配置和設(shè)置


    第1行指定定義網(wǎng)絡(luò)結(jié)構(gòu)的文件的相對(duì)路徑。

    ?

    ③??拷貝examples/imagenet目錄下的make_imagenet_mean.sh文件到examples/myself目錄下。用于計(jì)算圖像均值,使用的源文件在/tools/compute_image_mean.cpp。

    ?

    ?

    ④??拷貝examples/imagenet目錄下的train_caffenet.sh文件到example/myself目錄下。

    該文件為一個(gè)腳本文件,內(nèi)容為訓(xùn)練網(wǎng)絡(luò)的命令

    ?

    在caffe的主目錄下輸入命令:./ examples/myself/train_caffenet.sh開始訓(xùn)練網(wǎng)絡(luò)。

    ?

    ?

    ?

    4使用測(cè)試數(shù)據(jù)測(cè)試網(wǎng)絡(luò)

    使用命令:./build/tools/caffe.bintest --model=examples/myself/train_val.prototxt?--weights=examples/myself/caffenet_model/caffenet_train_iter_16000.caffemodel對(duì)網(wǎng)絡(luò)進(jìn)行測(cè)試。Train_val.prototxt為網(wǎng)絡(luò)的定義;caffenet_train_iter_16000.caffemodel為訓(xùn)練網(wǎng)絡(luò)時(shí)生成的模型。

    [出現(xiàn)的問題]


    [解決辦法]


    復(fù)制上圖中的三個(gè)文件到/caffe/examples/mysel下。使其和與CaffeNet有關(guān)的網(wǎng)絡(luò)結(jié)構(gòu)定義文件.protxt、訓(xùn)練網(wǎng)絡(luò)時(shí)生成的.caffemodel.solversate文件在同一目錄下。

    ?


    5.使用某張圖片測(cè)試網(wǎng)絡(luò),并顯示所提取的特征。

    編寫Classification:Instant Recognition with Caffe有關(guān)的文件。

    在/caffe/examples/myself/下使用命令Python?./xxxxx.py命令運(yùn)行Classification:Instant Recognition with Caffe有關(guān)的文件有關(guān)文件。

    【出錯(cuò)1


    【解決辦法】



    修改定義CaffeNet訓(xùn)練網(wǎng)絡(luò)結(jié)構(gòu)的定義.prototxt文件的有關(guān)內(nèi)容,使相對(duì)路徑變成絕對(duì)路徑。

    ?

    ?

    【出錯(cuò)2


    【解決辦法2


    該問題無法解決,因?yàn)楝F(xiàn)在測(cè)試所用的網(wǎng)絡(luò)與訓(xùn)練所用的網(wǎng)絡(luò)是同一個(gè)網(wǎng)絡(luò)。可以考慮用其它的網(wǎng)絡(luò)來測(cè)試訓(xùn)練生成的模型是否準(zhǔn)確。修改前面提到的xxxxxxx.py文件






    總結(jié)

    以上是生活随笔為你收集整理的Caffe 在自己的数据库上训练步骤的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    欧美日韩国产在线精品 | 久久97久久 | 狠狠色噜噜狠狠狠合久 | 国产成人综合在线观看 | 日韩理论片在线 | 亚洲精品视频在线看 | 麻豆91在线播放 | 欧美午夜寂寞影院 | 91看片成人 | 国产精品激情 | 手机在线永久免费观看av片 | 91视频 - x99av| 亚洲精品美女在线观看 | 日韩av免费一区二区 | 久久久国产精品一区二区三区 | 欧美综合色在线图区 | 日韩高清www | 日韩成人在线免费观看 | 日本不卡一区二区 | 免费的黄色的网站 | 91精品999 | 国产一区在线视频播放 | 亚洲天堂首页 | 99视频偷窥在线精品国自产拍 | 超碰在线国产 | 在线免费高清 | 最新色站 | 成人永久在线 | 97超碰超碰久久福利超碰 | 亚洲视频精品在线 | 国产欧美综合视频 | 国产精品一区在线 | 国产日产精品一区二区三区四区 | 97在线精品国自产拍中文 | 国产精品久久久久久久久久久免费看 | 成人电影毛片 | av电影在线不卡 | 日韩午夜剧场 | 亚洲国产美女久久久久 | 人人插人人艹 | 在线观看www视频 | 蜜臀av在线一区二区三区 | 91精品小视频 | 成人午夜精品久久久久久久3d | 色国产在线 | 国产精品久久视频 | www.日韩免费 | 日韩久久在线 | 国产精品自在线 | 黄色av免费在线 | 天天干.com | 亚洲九九影院 | 婷婷午夜 | 色香蕉网| 欧美性精品 | 色av网站| 天天在线免费视频 | www免费网站在线观看 | 一 级 黄 色 片免费看的 | 91大神精品视频在线观看 | 免费毛片一区二区三区久久久 | 91桃色在线观看视频 | 三级在线视频播放 | 国产在线观看免费观看 | 一本一本久久a久久精品综合妖精 | 91丨九色丨国产在线观看 | 国产精品成人国产乱一区 | 国产一级二级在线观看 | 不卡视频国产 | 午夜精品视频一区二区三区在线看 | a黄色一级片 | 国产免费不卡av | 国产精品久久伊人 | 中文字幕 婷婷 | 韩日成人av| 天天躁日日躁狠狠躁 | 亚洲人成人99网站 | 天天插天天干 | 不卡av电影在线观看 | 黄色av大片 | 国产精品一区二区在线观看免费 | 午夜视频在线观看网站 | 日本精品视频免费 | 国产福利不卡视频 | www在线观看视频 | 日韩色爱 | 日韩视频中文字幕在线观看 | 黄色1级大片 | 久草在线免费电影 | 色婷婷在线观看视频 | 狠狠躁夜夜躁人人爽超碰91 | 国产aa精品 | 色视频在线免费观看 | 久久污视频 | 亚洲精品综合在线 | 亚洲精品裸体 | 日韩中文字幕国产精品 | 国产一线在线 | 国产麻豆电影 | 天天色天天爱天天射综合 | 亚洲成人在线免费 | 看片的网址 | 日本乱码在线 | 97av在线 | 色av网站| 日韩有码专区 | 国产精品久久久久久久99 | 超碰97中文 | 中文字幕在线免费看 | 欧美性直播 | 国产日韩欧美在线 | 国产精品久久久久影视 | 成人欧美一区二区三区在线观看 | 色婷婷综合久久久久中文字幕1 | 美腿丝袜一区二区三区 | 中文字幕在线看视频 | 日韩av男人的天堂 | 深爱婷婷网 | 美女网站免费福利视频 | 久久免费播放视频 | 国内外激情视频 | 国产精品精品国产色婷婷 | 成人网看片 | 中文伊人 | 香蕉视频网址 | 日韩av在线看 | 欧美一级专区免费大片 | 国产成人精品不卡 | 欧美午夜性| 久久久久国产精品一区二区 | 久久午夜网 | 国产午夜激情视频 | 亚洲一区精品人人爽人人躁 | 成人av日韩 | 天天视频亚洲 | 亚洲精品在线观看的 | 一级欧美黄 | 国产啊v在线观看 | 久艹视频在线观看 | 国产一区二区三区免费在线 | 亚洲成aⅴ人在线观看 | 九色在线 | 欧美性做爰猛烈叫床潮 | 欧美一级久久久久 | 国产精品岛国久久久久久久久红粉 | 成人免费网站在线观看 | 久久国产美女视频 | 免费特级黄色片 | 九九免费在线观看 | 在线不卡视频 | 欧美日韩国产页 | 成人午夜精品 | 国产精品免费小视频 | 99热这里只有精品在线观看 | 婷婷在线资源 | 99热精品视| 色综合www| 特片网久久| 青青草国产精品视频 | 日本女人的性生活视频 | 狠狠的日日 | 韩国av免费在线 | 最近中文字幕国语免费高清6 | 精品黄色在线 | 男女精品久久 | 日韩高清在线一区二区三区 | 中文字幕综合在线 | 国产69精品久久99不卡的观看体验 | 超碰人人做 | 天天躁天天操 | 96超碰在线 | 色网站免费在线观看 | 中文字幕在线观看免费高清完整版 | 国产精品免费不 | 精品在线观 | 午夜精品一二区 | 精品国产美女 | 在线观看岛国av | 亚洲高清视频一区二区三区 | 99久在线精品99re8热视频 | 米奇狠狠狠888 | 久久久久久久久久网站 | 91av视频导航 | 日本女人在线观看 | 人人草在线观看 | 久久久久国产成人免费精品免费 | 亚洲精品视频国产 | 精品视频在线播放 | 成人免费xxx在线观看 | 亚洲专区一二三 | 欧美成人高清 | 天天搞天天干天天色 | 又黄又爽又色无遮挡免费 | 欧美综合久久 | 99视频国产在线 | 中文有码在线 | 午夜精品久久久久久久久久久久久久 | 毛片3| 日本丶国产丶欧美色综合 | 免费国产在线视频 | free. 性欧美.com | 久久久久久麻豆 | 黄色影院在线观看 | 91亚洲夫妻 | 亚洲男男gaygay无套 | 在线观看日本高清mv视频 | 日韩av黄 | 97超级碰| 国产精品丝袜久久久久久久不卡 | 午夜三级在线 | 国产精品专区一 | 中文字幕 国产视频 | 最新av网址在线观看 | 国产成人一区二区三区电影 | 日韩精品中文字幕有码 | 日本黄色黄网站 | 深夜成人av | 亚洲理论视频 | 久久久麻豆 | 日韩色综合网 | 激情伊人 | 国产视频一 | 国产精品视频大全 | 亚洲精品2区 | 狠狠色丁香九九婷婷综合五月 | 91亚洲精品久久久蜜桃网站 | 91精品视频播放 | 精品欧美小视频在线观看 | 在线国产专区 | 午夜骚影| 国内精品久久久久久中文字幕 | 免费三级av| 99av在线视频 | 国产中文自拍 | 五月婷婷开心中文字幕 | 日本三级在线观看中文字 | av电影中文字幕 | 欧美日韩伦理一区 | 欧美激情视频一区 | 免费在线激情电影 | 亚洲免费在线看 | 激情伊人| 天天操天天添 | 日本99干网 | 91精品视屏 | 欧美在线一 | 亚洲精品tv久久久久久久久久 | 91视频国产高清 | 97精产国品一二三产区在线 | 99国产精品一区二区 | 国产馆在线播放 | 五月婷婷综 | 在线观看视频一区二区 | 日本久热| 国产在线美女 | 九色91av| 婷婷六月网 | 精品国产一区二区三区蜜臀 | 中文字幕免费一区 | 在线 国产 日韩 | 日本中文字幕在线看 | 免费一级片在线观看 | www久久| 亚洲天天看 | 精品视频国产 | 欧美日韩中文在线 | 在线天堂v| 亚洲黄色在线免费观看 | 久久国产精品久久久 | 亚洲免费资源 | 亚洲精品三级 | 免费下载高清毛片 | 69av在线播放 | 久久综合影视 | 深爱激情亚洲 | 9在线观看免费高清完整 | 99久久一区| 久久天堂影院 | 亚洲国产日韩在线 | 香蕉视频免费看 | 亚洲春色成人 | 日韩成人不卡 | 狂野欧美激情性xxxx欧美 | 日韩免费在线观看视频 | 天天射天天干天天操 | 8x成人免费视频 | 久久综合九色综合欧美狠狠 | 亚洲一区在线看 | 黄在线 | 精品久久久久久亚洲 | 国产在线v| 亚洲激情婷婷 | 99国产精品久久久久久久久久 | 91在线视频免费91 | 麻豆视频免费播放 | 国产高清在线不卡 | 久久丁香网 | 成人在线一区二区 | 丁香六月激情婷婷 | 成人一区二区三区中文字幕 | 日韩av不卡在线观看 | 日韩一二三在线 | 成人免费一级 | 久久精品国产99国产 | 五月婷婷久久丁香 | 天天综合天天综合 | 亚洲天天看 | 99久精品 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 99免费视频| 极品久久久久 | 91黄色小视频 | 久久成人欧美 | 韩国在线一区二区 | 久草视频在| 国产精品久久久久四虎 | 国产黄色看片 | 日狠狠| 国产精品久久久久三级 | 黄色片视频免费 | 91麻豆福利| 91精品久久久久久综合乱菊 | 成人wwwxxx视频 | 在线色亚洲 | 日韩av午夜 | 日韩av成人在线观看 | 丁香资源影视免费观看 | 国产美女精品视频 | 国产精品99久久久久人中文网介绍 | 天天av综合网 | www.伊人网 | 久久精品欧美 | 看片一区二区三区 | 91xav| 一区二区三区动漫 | 亚洲免费a | 97国产人人| 久久99热这里只有精品 | 国产精品久久久久久久久久久久午夜 | 一区二区三区在线免费播放 | 国产美女在线精品免费观看 | 亚洲国产999 | 国产精品不卡av | 国产高清中文字幕 | 亚洲成免费 | 91网址在线| 特级西西444www大胆高清无视频 | 日韩视频在线不卡 | 国产一区二区免费看 | 免费看国产一级片 | 国产婷婷精品 | 欧美日韩视频在线 | 丁香九月激情 | 99精品免费视频 | 午夜12点 | 亚洲综合导航 | 一区二区在线不卡 | www.狠狠色| 99精品视频免费 | 涩涩成人在线 | 亚洲精品国偷拍自产在线观看蜜桃 | 久久视频在线观看免费 | 91精品国产91久久久久久三级 | 成人免费观看在线视频 | 伊人婷婷网 | 操久久网| 在线性视频日韩欧美 | 天天干天天做天天操 | 久久手机免费视频 | 三三级黄色片之日韩 | 少妇性色午夜淫片aaaze | 亚洲成人频道 | 欧美日韩一区二区在线观看 | 日韩欧美在线观看一区二区三区 | 成人一级 | 国产 视频 高清 免费 | 亚洲资源| 国产一区视频免费在线观看 | 欧美黑人xxxx猛性大交 | 精品欧美一区二区在线观看 | 久久久久久久久久久免费视频 | 人人草人 | 97精品国产97久久久久久免费 | 日韩欧美一区二区三区在线观看 | 免费在线黄色av | 免费看一及片 | 日韩免费网址 | 免费日韩三级 | 日韩久久精品一区二区三区下载 | 亚洲精品永久免费视频 | 香蕉影院在线 | 亚洲狠狠丁香婷婷综合久久久 | 日韩午夜电影网 | 91在线精品秘密一区二区 | 色狠狠干 | 在线观看av小说 | 奇米四色影狠狠爱7777 | 天天爱天天操天天爽 | 久久国产精品久久久 | 亚洲 欧洲av | 久久综合成人 | 夜夜婷婷| 青青草国产精品 | 日韩字幕| 久久超| 亚洲色图av | 婷久久| 人人干人人搞 | 天天色天天操综合 | 日本免费久久高清视频 | 欧美精品久久久久久久久久白贞 | 欧美a级片免费看 | 激情五月婷婷综合网 | 91精品国产自产在线观看 | 天天操天天色天天射 | 精品久久久免费视频 | 亚洲成av人片 | 国产免费作爱视频 | 青春草免费视频 | www.久久久精品 | 亚洲成免费 | 日韩免费播放 | 九九国产精品视频 | 麻豆成人精品视频 | 99在线观看免费视频精品观看 | 99视频精品免费观看, | 成人久久免费视频 | 狠狠色噜噜狠狠狠狠2022 | 男女视频久久久 | 激情 亚洲 | 亚在线播放中文视频 | 日韩精品视频网站 | 欧美精品久久久久久久亚洲调教 | 国产日韩在线一区 | 免费在线观看av网站 | 国产综合香蕉五月婷在线 | 99精品免费在线 | 国内久久精品视频 | 在线视频欧美精品 | 国产在线观看,日本 | 国产精在线| 亚洲国产资源 | 日韩中文字幕a | 日韩av一区二区三区 | 久久99深爱久久99精品 | 欧美在线一级片 | 伊人六月 | 五月婷在线播放 | 欧美日韩不卡一区 | 色网站在线免费 | 人人网av| 国产精品久久久久久高潮 | 免费a v网站 | 国产成人亚洲在线观看 | 91探花国产综合在线精品 | 国产精品毛片一区视频播 | 国产美女免费看 | 国产福利精品一区二区 | 亚洲精品午夜久久久久久久 | 成人毛片一区 | 91爱爱网址 | 天天干干| 日韩在线视频观看免费 | 天天操比 | 国产免费一区二区三区网站免费 | 伊人热| 久草在线资源视频 | av免费看av| 久久99精品国产91久久来源 | 久久久久久欧美二区电影网 | 欧美日韩免费在线视频 | 99r在线观看 | 亚洲永久字幕 | 国产1区2区3区精品美女 | av免费片 | 亚洲精品午夜国产va久久成人 | 69精品久久 | 高清av免费看| 五月开心网 | av一级片| 91在线观看视频网站 | 国产又粗又长的视频 | 免费日韩一区二区三区 | 国产精品免费久久久久久久久久中文 | 久久视频网 | 久草在线视频免费资源观看 | 五月婷婷丁香色 | 日韩视频一区二区三区 | 天天操天天操天天操天天操 | 国产精品一区二区中文字幕 | 免费日韩一区二区三区 | 91精品国产电影 | 黄色在线观看污 | 精品在线播放 | 少妇自拍av | 亚洲国产精品99久久久久久久久 | av黄免费看 | 九色琪琪久久综合网天天 | 99久久9| 国产精品一区二区久久久 | 日韩中文在线电影 | 久久精品黄 | 国产精品成人自产拍在线观看 | 在线免费观看黄网站 | 日韩精品久久久久久中文字幕8 | 欧洲一区精品 | 日本不卡一区二区 | 亚洲午夜精品一区二区三区电影院 | 久久毛片网站 | 色视频在线看 | 国产视频1区2区 | 亚洲资源在线网 | 久久成年人视频 | 久草影视在线 | 又黄又刺激又爽的视频 | 色香蕉网 | 国产精品久久精品国产 | 在线观看日本高清mv视频 | 亚洲精品456在线播放乱码 | 少妇性色午夜淫片aaaze | 久久天堂影院 | 成人av在线看 | 亚洲成aⅴ人在线观看 | 久久久久二区 | 91麻豆精品91久久久久同性 | 成人在线你懂得 | 在线亚洲欧美日韩 | 欧美日韩高清免费 | 成人在线观看资源 | 午夜丰满寂寞少妇精品 | 国产精品免费不卡 | 91精品导航 | 99久久er热在这里只有精品66 | 91影视成人 | 一区中文字幕电影 | 一本一本久久aa综合精品 | 免费中文字幕在线观看 | 日韩美女av在线 | 国产又粗又猛又色又黄网站 | 四虎国产精品免费 | 久久呀 | av在观看| 久久精品免费看 | 欧美大片在线看免费观看 | 免费色网 | 精品欧美一区二区精品久久 | 色射色 | 日韩在线电影观看 | 人人玩人人添人人澡超碰 | 欧美日韩在线观看一区二区 | 97国产精品一区二区 | 中文字幕电影网 | 美女网站视频免费黄 | av先锋中文字幕 | 最新超碰在线 | 91成人在线观看高潮 | 欧美日韩一区久久 | 天天舔天天射天天操 | 狠狠干,狠狠操 | 久久天天躁狠狠躁亚洲综合公司 | 激情视频国产 | 欧美日韩不卡在线观看 | 久久免费视频3 | 丁香五婷 | 久久久精品欧美一区二区免费 | 91精品国产一区 | 欧美极品久久 | 欧美激情综合色综合啪啪五月 | 在线视频一二三 | 国产免费久久 | 亚洲乱码中文字幕综合 | 97超碰站| 国产精品久久一区二区三区, | 日韩成人免费观看 | 中文字幕一区二区三区乱码不卡 | 久久久久久久久久国产精品 | 国产h在线播放 | 久久国产免 | 国产一区二区在线看 | 97国产精品| 国产黄色片久久久 | 超级av在线 | www.久热| 激情五月激情综合网 | 欧美国产日韩一区二区三区 | 亚洲精品播放 | 亚洲成人av在线播放 | 国产精品久久久久久久免费 | 国产一区在线观看免费 | 亚洲精选视频免费看 | 国产第页 | 黄在线免费看 | 视频在线观看日韩 | 人人爱在线视频 | 四虎国产精 | 最新中文在线视频 | 欧美精品在线一区 | 天干啦夜天干天干在线线 | 免费黄色av电影 | 精品久久一级片 | 69av视频在线 | 日韩精品最新在线观看 | 久久精品欧美一区二区三区麻豆 | 在线亚州| 久久国产乱 | av电影在线不卡 | 99精品在线播放 | 天天添夜夜操 | 射射射av | 国产黄在线看 | a视频在线观看免费 | 91探花视频 | 人人澡人人澡人人 | 国产又粗又猛又色又黄视频 | 免费国产在线精品 | 国产精品久久久影视 | 国产精成人品免费观看 | 精品国产自在精品国产精野外直播 | 精品久久久久亚洲 | 婷婷午夜激情 | 日韩av电影免费在线观看 | 波多野结衣精品视频 | 国产小视频免费在线网址 | 欧美人人 | 久久久91精品国产一区二区三区 | 亚洲一区二区视频 | 99精品区| 91传媒91久久久 | 亚洲天天在线日亚洲洲精 | 五月宗合网 | 国产一区二区三区免费视频 | 999成人网| 毛片久久久 | 一区二区三区免费在线播放 | 国内精品久久久久影院优 | 国产一级一片免费播放放 | 亚洲精品福利在线 | 国内外成人在线视频 | 在线观看免费av网 | 中文字幕av全部资源www中文字幕在线观看 | 丁香5月婷婷| 在线激情小视频 | 免费在线激情电影 | 国产精品一区二区三区在线免费观看 | 在线 精品 国产 | 亚洲电影一级黄 | 色射爱 | 中文国产在线观看 | 婷婷综合久久 | 国产亚洲成人精品 | 色99导航 | 亚洲成av人片在线观看香蕉 | 日韩深夜在线观看 | 日本少妇久久久 | 五月婷婷深开心 | 美女久久99 | 在线观看深夜视频 | 黄色av一区二区 | 日韩精品中文字幕一区二区 | 日本在线观看一区二区三区 | 国产午夜精品av一区二区 | 国产经典三级 | 亚洲精品玖玖玖av在线看 | 99精品视频免费全部在线 | 欧美日韩性生活 | 91亚洲精品在线观看 | 五月婷婷综| 国产精品一区二区久久精品爱微奶 | 欧美成人一区二区 | 91久久久久久久 | 国产精品男女啪啪 | 欧美尹人 | 欧美日韩国产二区 | 福利视频第一页 | 超碰在97| 黄色影院在线播放 | 天天操夜夜操天天射 | 欧美久久久久久久久 | 日本高清xxxx | japanesefreesexvideo高潮 | 天天天射 | 日本99干网 | 国产视频亚洲 | 一色屋精品视频在线观看 | 欧美日韩网站 | 色偷偷男人的天堂av | 国产系列在线观看 | 婷婷去俺也去六月色 | 日韩网站在线播放 | 成人动漫一区二区 | 99视频精品免费视频 | 亚洲第一久久久 | 欧美日韩天堂 | 黄色免费观看网址 | 午夜在线资源 | 国产亚洲在线观看 | 日韩资源在线播放 | 久久亚洲国产精品 | 一级黄色a视频 | 99热精品久久 | 午夜精品一区二区三区可下载 | 蜜桃视频成人在线观看 | 黄色一级动作片 | 伊人婷婷 | 色综合a| 国产日韩精品久久 | 日韩成人免费在线 | 天天搞天天 | 日韩成人在线免费观看 | 免费黄色看片 | 国精产品永久999 | 久久91网 | 国产精品美女久久久网av | 国产高清视频免费最新在线 | 国产一卡在线 | 欧美日韩国产精品一区二区亚洲 | 人人爱爱| 在线观看亚洲电影 | 天天干天天射天天操 | 麻豆影视网 | 国产专区视频在线 | 天天操网站 | 亚洲视频免费视频 | 91精品视屏 | 91精品爽啪蜜夜国产在线播放 | av免费网| 天天操天天操一操 | 天天曰夜夜爽 | 欧美日韩一区二区在线观看 | 一区二区不卡视频在线观看 | 在线观看一级片 | 亚洲一区在线看 | 久久久久久久久久电影 | 午夜.dj高清免费观看视频 | 欧美另类tv| 国产 视频 高清 免费 | 丁香六月伊人 | 成人久久18免费网站图片 | 国产精品免费观看久久 | 免费在线观看的av网站 | 麻豆精品传媒视频 | 福利片视频区 | 亚洲一级黄色 | 欧美在线free | 成人中文字幕在线观看 | 国产福利网站 | 99热99热| 日日干av | 国产99免费视频 | 精品久久久久久久久久久院品网 | 亚洲资源网 | 亚洲精品白浆高清久久久久久 | 亚洲精品字幕在线观看 | 久久99精品一区二区三区三区 | 日本激情动作片免费看 | 国产精品视频专区 | 玖玖爱免费视频 | 国产亚洲精品久久久久久 | 免费精品久久久 | 日韩精品免费 | 亚洲婷婷综合色高清在线 | 国内精品久久久久久久久久久 | 日韩免费电影一区二区三区 | 黄网站色成年免费观看 | 丁香婷婷久久久综合精品国产 | 日韩高清免费在线观看 | 一区二区观看 | 成年人app网址 | 欧美一二三区播放 | 中文字幕免费成人 | 狠狠干天天 | 六月天色婷婷 | 免费av 在线 | 亚洲国产人午在线一二区 | 在线综合 亚洲 欧美在线视频 | 在线观看的黄色 | 2019精品手机国产品在线 | 一区二区精品视频 | 亚洲天堂在线观看完整版 | 久久久久久久久久久久影院 | 97超碰总站 | 久久国产免 | 中文字幕影片免费在线观看 | 成人综合婷婷国产精品久久免费 | 91网在线| 中文字幕九九 | 天天爱天天操天天射 | 国产99久久久国产精品 | 天天爽天天碰狠狠添 | 高清不卡一区二区在线 | 日日爱视频 | av色图天堂网 | 亚洲美女在线国产 | 精品字幕在线 | 日韩极品在线 | 国产精品女教师 | 日韩在线观看一区二区 | 日韩久久久久久久 | 97超碰在线久草超碰在线观看 | 国产精品成人久久久久久久 | 96久久久| 日韩精品在线免费播放 | 亚洲精品国内 | 黄色av电影在线观看 | 综合网中文字幕 | 男女日麻批 | 综合婷婷丁香 | 天天操婷婷| 黄色的视频网站 | 69久久久久久久 | 欧美精品一区二区在线播放 | 精品久久久久久亚洲综合网站 | 国产精品一区二区三区四 | 亚洲国产精品va在线看 | 亚洲欧美国产精品va在线观看 | 精品999在线观看 | 毛片激情永久免费 | 国产美女精品视频 | 最新91在线视频 | 在线免费三级 | 97国产在线视频 | 国产香蕉久久精品综合网 | 爱色婷婷 | 一区二区视频在线播放 | 国产一级久久久 | 免费福利片 | 狠狠操天天射 | 日韩在线免费视频观看 | 日韩一区二区免费在线观看 | 久久免费影院 | 色姑娘综合天天 | 国产精品久久久久久一区二区三区 | 国产精品99蜜臀久久不卡二区 | 国产午夜剧场 | 91亚洲欧美 | 国产在线高清视频 | 97视频免费在线看 | 在线天堂中文www视软件 | 91精品欧美一区二区三区 | 欧美日韩高清一区二区 国产亚洲免费看 | 一区二区三区视频 | 国产精品毛片久久久久久久久久99999999 | 特及黄色片 | 国产五十路毛片 | 一区二区三区高清在线观看 | 久99视频 | 日本中文字幕在线播放 | 免费在线播放av电影 | 亚洲精品理论 | 免费观看成人av | 激情综合网五月 | 婷婷综合五月天 | 2019久久精品 | 亚洲欧美日韩在线一区二区 | 久久久电影网站 | 欧美国产日韩一区二区三区 | 国产精品视频资源 | 狠狠狠色| 久久福利 | 在线观看中文字幕dvd播放 | 色综合久久精品 | a成人v | 奇米影视777四色米奇影院 | 成人性生爱a∨ | 久精品在线 | 99视频在线精品免费观看2 | 久久免费试看 | 成人一级片在线观看 | 亚洲精品美女在线 | 欧美片网站yy | 97综合网| 99中文字幕在线观看 | 久久精品电影网 | 亚洲欧洲精品一区二区 | 国产在线不卡 | 91精品国产自产91精品 | 久久久久久国产精品 | 国产精品99免费看 | 成全免费观看视频 | 99r国产精品 | 亚洲午夜不卡 | 91av在线不卡 | 日韩免费播放 | 国产精品女同一区二区三区久久夜 | 四虎国产精品免费观看视频优播 | 色婷婷免费视频 | 中文字幕精品一区二区三区电影 | 91免费网| 久久久久女教师免费一区 | 超碰日韩在线 | 国产午夜精品久久久久久久久久 | 国产在线精品福利 | 色福利网 | 亚洲视频在线看 | 最近中文字幕高清字幕免费mv | 九九九九色 | 久久人人爽人人爽 | 久久99久久精品 | 欧美尹人 | 欧美精品乱码久久久久久按摩 | av免费片 | 久久手机视频 | 99精品视频在线观看播放 | 国产亚洲精品久久久久久网站 | 黄污视频网站大全 | 99久久精品国产欧美主题曲 | 91麻豆免费版 | 日韩一区二区三区不卡 | 欧美日韩国产二区 | 国产精品午夜在线观看 | 精品免费一区 | 久久精品亚洲国产 | 久久精品视频免费观看 | 国产高清av在线播放 | 一区二区三区日韩视频在线观看 | 亚洲精品在线播放视频 | 天天鲁一鲁摸一摸爽一爽 | 超碰个人在线 | 国产成人一区二区啪在线观看 | 日韩理论片中文字幕 | 国产v欧美| 天海冀一区二区三区 | 激情五月婷婷激情 | 午夜久久影院 | 成人性生爱a∨ | 久久永久视频 | 精品国产一区二区三区av性色 | 奇米四色影狠狠爱7777 | 特级a毛片 | 色九九视频 | 日韩精品在线观看视频 | 久久免费公开视频 | 国产999精品久久久 免费a网站 | 亚洲成人黄| 99精品在线免费视频 | 国产高清中文字幕 | 中文字幕第一页在线视频 | 69欧美视频 | 久久精品99国产精品日本 | 亚洲 欧美 日韩 综合 | 欧美成人中文字幕 | 在线蜜桃视频 | 国产高清在线精品 | 国产亚洲精品综合一区91 | 日韩伦理一区二区三区av在线 | 欧美在线不卡一区 | 亚洲少妇天堂 | 久久艹人人 | 亚洲精品免费在线观看 | 国产在线精品一区二区不卡了 | 一区二区中文字幕在线 | 91传媒在线 | 91精品久久久久久久久 | 国产精品 999 | 成人精品国产 | 成人黄色在线 | 99热在线这里只有精品 | 91网在线 | 国产精品久久久久久久免费 | 国产成人精品午夜在线播放 | 国产精品第二十页 | 亚洲一级免费电影 | 人人爽人人舔 | free. 性欧美.com | 激情深爱 | 少妇18xxxx性xxxx片 | 免费观看国产精品 | 久草在线视频在线观看 | 精品a视频 | 免费a视频在线 | 欧美资源| 麻豆国产精品视频 | 97成人超碰 | 午夜av免费在线观看 | 久久综合激情 | 国产美女搞久久 | 五月天久久综合 | 99精品免费久久久久久久久日本 | 91视频免费观看 | 国产成a人亚洲精v品在线观看 | 波多野结衣在线视频免费观看 | 国产欧美中文字幕 | 五月婷婷六月丁香在线观看 | 日韩在线小视频 | 99re亚洲国产精品 | 9在线观看免费 | 成人中文字幕+乱码+中文字幕 | 精品国产伦一区二区三区 | 精品女同一区二区三区在线观看 | 免费在线观看91 | 久久一区二区三区四区 | 免费a级毛片在线看 | 亚洲dvd | 黄色片网站av | 九九九九九九精品任你躁 | 日本中文字幕影院 | 在线观看视频精品 | 久久久久久久久久久久av |