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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 卷积神经网络 >内容正文

卷积神经网络

04.卷积神经网络 W2.深度卷积网络:实例探究(作业:Keras教程+ResNets残差网络)

發布時間:2024/7/5 卷积神经网络 89 豆豆
生活随笔 收集整理的這篇文章主要介紹了 04.卷积神经网络 W2.深度卷积网络:实例探究(作业:Keras教程+ResNets残差网络) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 作業1:Keras教程
    • 1. 快樂的房子
    • 2. 用Keras建模
    • 3. 用你的圖片測試
    • 4. 一些有用的Keras函數
  • 作業2:殘差網絡 Residual Networks
    • 1. 深層神經網絡的問題
    • 2. 建立殘差網絡
      • 2.1 identity恒等模塊
      • 2.2 卷積模塊
    • 3. 建立你的第一個殘差網絡(50層)
    • 4. 用自己的照片測試

測試題:參考博文

筆記:04.卷積神經網絡 W2.深度卷積網絡:實例探究

作業1:Keras教程

Keras 是一個用 Python 編寫的高級神經網絡 API,它能夠以 TensorFlow, CNTK, 或者 Theano 作為后端運行。
Keras 的開發重點是支持快速的實驗。能夠以最小的時延把你的想法轉換為實驗結果,是做好研究的關鍵。

Keras 是更高級的框架,對普通模型來說很友好,但是要實現更復雜的模型需要 TensorFlow 等低級的框架

  • 導入一些包
import numpy as np from keras import layers from keras.layers import Input, Dense, Activation, ZeroPadding2D, BatchNormalization, Flatten, Conv2D from keras.layers import AveragePooling2D, MaxPooling2D, Dropout, GlobalMaxPooling2D, GlobalAveragePooling2D from keras.models import Model from keras.preprocessing import image from keras.utils import layer_utils from keras.utils.data_utils import get_file from keras.applications.imagenet_utils import preprocess_input import pydot from IPython.display import SVG from keras.utils.vis_utils import model_to_dot from keras.utils import plot_model from kt_utils import *import keras.backend as K K.set_image_data_format('channels_last') import matplotlib.pyplot as plt from matplotlib.pyplot import imshow%matplotlib inline

1. 快樂的房子

問題背景:快樂的房子的門口的攝像頭會識別你的表情是否是 Happy 的,是 Happy 的,門才會打開,哈哈!

我們要建模自動識別表情是否快樂!

  • 歸一化圖片數據,了解數據維度
X_train_orig, Y_train_orig, X_test_orig, Y_test_orig, classes = load_dataset()# Normalize image vectors X_train = X_train_orig/255. X_test = X_test_orig/255.# Reshape Y_train = Y_train_orig.T Y_test = Y_test_orig.Tprint ("number of training examples = " + str(X_train.shape[0])) print ("number of test examples = " + str(X_test.shape[0])) print ("X_train shape: " + str(X_train.shape)) print ("Y_train shape: " + str(Y_train.shape)) print ("X_test shape: " + str(X_test.shape)) print ("Y_test shape: " + str(Y_test.shape))

輸出:

number of training examples = 600 number of test examples = 150 X_train shape: (600, 64, 64, 3) Y_train shape: (600, 1) X_test shape: (150, 64, 64, 3) Y_test shape: (150, 1)

600個訓練樣本,150個測試樣本,圖片維度 64*64*3 = 12288

2. 用Keras建模

Keras 可以快速建模,且模型效果不錯

舉個例子:

def model(input_shape):# 定義輸入的 placeholder 作為 tensor with shape input_shape. # 想象這是你的圖片輸入X_input = Input(input_shape)# Zero-Padding: pads the border of X_input with zeroesX = ZeroPadding2D((3, 3))(X_input)# CONV -> BN -> RELU Block applied to XX = Conv2D(32, (7, 7), strides = (1, 1), name = 'conv0')(X)X = BatchNormalization(axis = 3, name = 'bn0')(X)X = Activation('relu')(X)# MAXPOOLX = MaxPooling2D((2, 2), name='max_pool')(X)# FLATTEN X (means convert it to a vector) + FULLYCONNECTEDX = Flatten()(X)X = Dense(1, activation='sigmoid', name='fc')(X)# Create model. This creates your Keras model instance, # you'll use this instance to train/test the model.model = Model(inputs = X_input, outputs = X, name='HappyModel')return model

本次作業很open,可以自由搭建模型,修改超參數,請注意各層之間的維度匹配

Keras Model 類參考鏈接

  • 定義模型
# GRADED FUNCTION: HappyModeldef HappyModel(input_shape):"""Implementation of the HappyModel.Arguments:input_shape -- shape of the images of the datasetReturns:model -- a Model() instance in Keras"""### START CODE HERE #### Feel free to use the suggested outline in the text above to get started, and run through the whole# exercise (including the later portions of this notebook) once. The come back also try out other# network architectures as well. X_input = Input(input_shape)X = ZeroPadding2D((3,3))(X_input)X = Conv2D(32,(7,7), strides = (1,1), name='conv0')(X)X = BatchNormalization(axis = 3, name='bn0')(X)X = Activation('relu')(X)X = MaxPooling2D((2,2), name='max_pool')(X)X = Flatten()(X)X = Dense(1, activation='sigmoid', name='fc')(X)model = Model(inputs = X_input, outputs = X, name='HappyModel')### END CODE HERE ###return model
  • 創建模型實例
happyModel = HappyModel(X_train[0].shape)
  • 配置訓練模型
import keras opt = keras.optimizers.Adam(learning_rate=0.01) happyModel.compile(optimizer=opt, loss=keras.losses.BinaryCrossentropy(),metrics=['acc'])
  • 訓練 并 存儲返回的訓練過程數據用于可視化
history = happyModel.fit(x=X_train, y=Y_train, validation_split=0.25, batch_size=32, epochs=30)
  • 繪制訓練過程
# 繪制訓練 & 驗證的準確率值 plt.plot(history.history['acc']) plt.plot(history.history['val_acc']) plt.title('Model accuracy') plt.ylabel('Accuracy') plt.xlabel('Epoch') plt.legend(['Train', 'Test'], loc='upper left') plt.show()# 繪制訓練 & 驗證的損失值 plt.plot(history.history['loss']) plt.plot(history.history['val_loss']) plt.title('Model loss') plt.ylabel('Loss') plt.xlabel('Epoch') plt.legend(['Train', 'Test'], loc='upper left') plt.show() 。。。省略 Epoch 29/30 15/15 [==============================] - 2s 148ms/step - loss: 0.1504 - acc: 0.9733 - val_loss: 0.1518 - val_acc: 0.9600 Epoch 30/30 15/15 [==============================] - 2s 147ms/step - loss: 0.1160 - acc: 0.9711 - val_loss: 0.2242 - val_acc: 0.9333


  • 測試模型效果
### START CODE HERE ### (1 line) from keras import metrics preds = happyModel.evaluate(X_test, Y_test, batch_size=32, verbose=1, sample_weight=None) ### END CODE HERE ### print(preds)print ("Loss = " + str(preds[0])) print ("Test Accuracy = " + str(preds[1]))

輸出:

5/5 [==============================] - 0s 20ms/step - loss: 0.2842 - acc: 0.9400 [0.28415805101394653, 0.9399999976158142] Loss = 0.28415805101394653 Test Accuracy = 0.9399999976158142

3. 用你的圖片測試

### START CODE HERE ### img_path = 'images/1.jpg' ### END CODE HERE ### img = image.load_img(img_path, target_size=(64, 64)) imshow(img)x = image.img_to_array(img) x = np.expand_dims(x, axis=0) x = preprocess_input(x)print(happyModel.predict(x))

4. 一些有用的Keras函數

  • happyModel.summary() 模型的結構,參數等信息
happyModel.summary() Model: "HappyModel" _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= input_1 (InputLayer) [(None, 64, 64, 3)] 0 _________________________________________________________________ zero_padding2d (ZeroPadding2 (None, 70, 70, 3) 0 _________________________________________________________________ conv0 (Conv2D) (None, 64, 64, 32) 4736 _________________________________________________________________ bn0 (BatchNormalization) (None, 64, 64, 32) 128 _________________________________________________________________ activation (Activation) (None, 64, 64, 32) 0 _________________________________________________________________ max_pool (MaxPooling2D) (None, 32, 32, 32) 0 _________________________________________________________________ flatten (Flatten) (None, 32768) 0 _________________________________________________________________ fc (Dense) (None, 1) 32769 ================================================================= Total params: 37,633 Trainable params: 37,569 Non-trainable params: 64 _________________________________________________________________
  • plot_model() 把模型結構保存成圖片

作業2:殘差網絡 Residual Networks

使用殘差網絡能夠訓練更深的神經網絡,普通的深層神經網絡是很難訓練的。

  • 導入包
import numpy as np from keras import layers from keras.layers import Input, Add, Dense, Activation, ZeroPadding2D, BatchNormalization, Flatten, Conv2D, AveragePooling2D, MaxPooling2D, GlobalMaxPooling2D from keras.models import Model, load_model from keras.preprocessing import image from keras.utils import layer_utils from keras.utils.data_utils import get_file from keras.applications.imagenet_utils import preprocess_input import pydot from IPython.display import SVG from keras.utils.vis_utils import model_to_dot from keras.utils import plot_model from resnets_utils import * from keras.initializers import glorot_uniform import scipy.misc from matplotlib.pyplot import imshow %matplotlib inlineimport keras.backend as K K.set_image_data_format('channels_last') K.set_learning_phase(1)

1. 深層神經網絡的問題

深層網絡優點:

  • 可以表示復雜的函數
  • 可以學習很多不同層次的特征(低層次,高層次)

缺點:

  • 梯度消失/爆炸,梯度變的非常小或者非常大


隨著迭代次數增加,淺層的梯度很快的就降到 0

2. 建立殘差網絡

通過跳躍的連接,允許梯度直接反向傳到淺層

  • 跳躍連接使得模塊更容易學習恒等函數
  • 殘差模塊不會損害訓練效果

殘差網絡有兩種類型的模塊,主要取決于輸入輸出的維度是否一樣

2.1 identity恒等模塊



下面我們要實現:跳過3個隱藏層的結構,其稍微更強大一些

convolution2d 參考:https://keras.io/api/layers/convolution_layers/convolution2d/

batch_normalization 參考:
https://keras.io/api/layers/normalization_layers/batch_normalization/

add 參考:
https://keras.io/api/layers/merging_layers/add/

# GRADED FUNCTION: identity_blockdef identity_block(X, f, filters, stage, block):"""Implementation of the identity block as defined in Figure 3Arguments:X -- input tensor of shape (m, n_H_prev, n_W_prev, n_C_prev)f -- integer, specifying the shape of the middle CONV's window for the main pathfilters -- python list of integers, defining the number of filters in the CONV layers of the main pathstage -- integer, used to name the layers, depending on their position in the networkblock -- string/character, used to name the layers, depending on their position in the networkReturns:X -- output of the identity block, tensor of shape (n_H, n_W, n_C)"""# defining name basisconv_name_base = 'res' + str(stage) + block + '_branch'bn_name_base = 'bn' + str(stage) + block + '_branch'# Retrieve FiltersF1, F2, F3 = filters# Save the input value. You'll need this later to add back to the main path. X_shortcut = X# First component of main pathX = Conv2D(filters = F1, kernel_size = (1, 1), strides = (1,1), padding = 'valid', name = conv_name_base + '2a', kernel_initializer = glorot_uniform(seed=0))(X)X = BatchNormalization(axis = 3, name = bn_name_base + '2a')(X)X = Activation('relu')(X)### START CODE HERE #### Second component of main path (≈3 lines)X = Conv2D(filters = F2, kernel_size=(f, f), strides = (1, 1), padding='same', name=conv_name_base+'2b', kernel_initializer=glorot_uniform(seed=0))(X)X = BatchNormalization(axis=3, name=bn_name_base+'2b')(X)X = Activation('relu')(X)# Third component of main path (≈2 lines)X = Conv2D(filters=F3, kernel_size=(1,1), strides=(1,1), padding='valid', name=conv_name_base+'2c', kernel_initializer=glorot_uniform(seed=0))(X)X = BatchNormalization(axis=3, name=bn_name_base+'2c')(X)# Final step: Add shortcut value to main path, and pass it through a RELU activation (≈2 lines)X = Add()([X_shortcut, X])X = Activation('relu')(X)### END CODE HERE ###return X

測試代碼:

# import tensorflow.compat.v1 as tf # tf.disable_v2_behavior()tf.reset_default_graph()with tf.Session() as test:np.random.seed(1)A_prev = tf.placeholder("float", [3, 4, 4, 6])X = np.random.randn(3, 4, 4, 6)A = identity_block(A_prev, f = 2, filters = [2, 4, 6], stage = 1, block = 'a')test.run(tf.global_variables_initializer())out = test.run([A], feed_dict={A_prev: X, K.learning_phase(): 0})print("out = " + str(out[0][1][1][0]))

輸出:

out = [0.19716819 0. 1.3561226 2.1713073 0. 1.3324987 ]

2.2 卷積模塊

該模塊可以適用于:輸入輸出維度不匹配的情況

其 跳躍連接上有一個 CONV2D 卷積層,它沒有使用非線性激活函數,作用是改變輸入的維度,使后面的加法維度匹配

# GRADED FUNCTION: convolutional_blockdef convolutional_block(X, f, filters, stage, block, s = 2):"""Implementation of the convolutional block as defined in Figure 4Arguments:X -- input tensor of shape (m, n_H_prev, n_W_prev, n_C_prev)f -- integer, specifying the shape of the middle CONV's window for the main pathfilters -- python list of integers, defining the number of filters in the CONV layers of the main pathstage -- integer, used to name the layers, depending on their position in the networkblock -- string/character, used to name the layers, depending on their position in the networks -- Integer, specifying the stride to be usedReturns:X -- output of the convolutional block, tensor of shape (n_H, n_W, n_C)"""# defining name basisconv_name_base = 'res' + str(stage) + block + '_branch'bn_name_base = 'bn' + str(stage) + block + '_branch'# Retrieve FiltersF1, F2, F3 = filters# Save the input valueX_shortcut = X##### MAIN PATH ###### First component of main path X = Conv2D(F1, (1, 1), strides = (s,s), padding = 'valid', name = conv_name_base + '2a', kernel_initializer = glorot_uniform(seed=0))(X)X = BatchNormalization(axis = 3, name = bn_name_base + '2a')(X)X = Activation('relu')(X)### START CODE HERE #### Second component of main path (≈3 lines)X = Conv2D(F2, (f,f), strides=(1,1),padding='same',name=conv_name_base+'2b',kernel_initializer=glorot_uniform(seed=0))(X)X = BatchNormalization(axis=3, name=bn_name_base+'2b')(X)X = Activation('relu')(X)# Third component of main path (≈2 lines)X = Conv2D(F3,(1,1), strides=(1,1),padding='valid',name=conv_name_base+'2c',kernel_initializer=glorot_uniform(seed=0))(X)X = BatchNormalization(axis=3, name=bn_name_base+'2c')(X)##### SHORTCUT PATH #### (≈2 lines)X_shortcut = Conv2D(F3, (1,1), strides=(s,s),padding='valid',name=conv_name_base+'1',kernel_initializer=glorot_uniform(seed=0))(X_shortcut)X_shortcut = BatchNormalization(axis=3, name=bn_name_base+'1')(X_shortcut)# Final step: Add shortcut value to main path, and pass it through a RELU activation (≈2 lines)X = Add()([X, X_shortcut])X = Activation('relu')(X)### END CODE HERE ###return X

測試:

tf.reset_default_graph()with tf.Session() as test:np.random.seed(1)A_prev = tf.placeholder("float", [3, 4, 4, 6])X = np.random.randn(3, 4, 4, 6)A = convolutional_block(A_prev, f = 2, filters = [2, 4, 6], stage = 1, block = 'a')test.run(tf.global_variables_initializer())out = test.run([A], feed_dict={A_prev: X, K.learning_phase(): 0})print("out = " + str(out[0][1][1][0]))

輸出:

out = [0.09018463 1.2348979 0.46822023 0.03671762 0. 0.65516603]

3. 建立你的第一個殘差網絡(50層)

ID(Identity)恒等模塊,ID BLOCK x3 表示恒等模塊3次

pooling 參考 https://keras.io/zh/layers/pooling/

# GRADED FUNCTION: ResNet50def ResNet50(input_shape = (64, 64, 3), classes = 6):"""Implementation of the popular ResNet50 the following architecture:CONV2D -> BATCHNORM -> RELU -> MAXPOOL -> CONVBLOCK -> IDBLOCK*2 -> CONVBLOCK -> IDBLOCK*3-> CONVBLOCK -> IDBLOCK*5 -> CONVBLOCK -> IDBLOCK*2 -> AVGPOOL -> TOPLAYERArguments:input_shape -- shape of the images of the datasetclasses -- integer, number of classesReturns:model -- a Model() instance in Keras"""# Define the input as a tensor with shape input_shapeX_input = Input(input_shape)# Zero-PaddingX = ZeroPadding2D((3, 3))(X_input)# Stage 1X = Conv2D(64, (7, 7), strides = (2, 2), name = 'conv1', kernel_initializer = glorot_uniform(seed=0))(X)X = BatchNormalization(axis = 3, name = 'bn_conv1')(X)X = Activation('relu')(X)X = MaxPooling2D((3, 3), strides=(2, 2))(X)# Stage 2X = convolutional_block(X, f = 3, filters = [64, 64, 256], stage = 2, block='a', s = 1)X = identity_block(X, 3, [64, 64, 256], stage=2, block='b')X = identity_block(X, 3, [64, 64, 256], stage=2, block='c')### START CODE HERE #### Stage 3 (≈4 lines)X = convolutional_block(X, f=3, filters=[128,128,512], stage=3, block='a', s=2)X = identity_block(X, 3, [128,128,512],stage=3, block='b')X = identity_block(X, 3, [128,128,512],stage=3, block='c')X = identity_block(X, 3, [128,128,512],stage=3, block='d')# Stage 4 (≈6 lines)X = convolutional_block(X, f=3, filters=[256,256,1024], stage=4, block='a', s=2)X = identity_block(X, 3, [256,256,1024],stage=4, block='b')X = identity_block(X, 3, [256,256,1024],stage=4, block='c')X = identity_block(X, 3, [256,256,1024],stage=4, block='d')X = identity_block(X, 3, [256,256,1024],stage=4, block='e')X = identity_block(X, 3, [256,256,1024],stage=4, block='f')# Stage 5 (≈3 lines)X = convolutional_block(X, f=3, filters=[512,512,2048], stage=5, block='a', s=2)X = identity_block(X, 3, [512,512,2048], stage=5, block='b')X = identity_block(X, 3, [512,512,2048], stage=5, block='c')# AVGPOOL (≈1 line). Use "X = AveragePooling2D(...)(X)"X = AveragePooling2D(pool_size=(2,2))(X)### END CODE HERE #### output layerX = Flatten()(X)X = Dense(classes, activation='softmax', name='fc' + str(classes), kernel_initializer = glorot_uniform(seed=0))(X)# Create modelmodel = Model(inputs = X_input, outputs = X, name='ResNet50')return model
  • 建立模型
model = ResNet50(input_shape = (64, 64, 3), classes = 6)
  • 配置模型
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
  • 數據導入 + one_hot 編碼
X_train_orig, Y_train_orig, X_test_orig, Y_test_orig, classes = load_dataset()# Normalize image vectors X_train = X_train_orig/255. X_test = X_test_orig/255.# Convert training and test labels to one hot matrices Y_train = convert_to_one_hot(Y_train_orig, 6).T Y_test = convert_to_one_hot(Y_test_orig, 6).Tprint ("number of training examples = " + str(X_train.shape[0])) print ("number of test examples = " + str(X_test.shape[0])) print ("X_train shape: " + str(X_train.shape)) print ("Y_train shape: " + str(Y_train.shape)) print ("X_test shape: " + str(X_test.shape)) print ("Y_test shape: " + str(Y_test.shape))

輸出:

number of training examples = 1080 number of test examples = 120 X_train shape: (1080, 64, 64, 3) Y_train shape: (1080, 6) X_test shape: (120, 64, 64, 3) Y_test shape: (120, 6)
  • 訓練(迭代兩次測試下)
model.fit(X_train, Y_train, epochs = 2, batch_size = 32)

輸出:(損失在下降,準確率在上升)

Epoch 1/2 1080/1080 [==============================] - 208s 192ms/step - loss: 2.6086 - acc: 0.3037 Epoch 2/2 1080/1080 [==============================] - 193s 178ms/step - loss: 2.2677 - acc: 0.3972
  • 測試
preds = model.evaluate(X_test, Y_test) print ("Loss = " + str(preds[0])) print ("Test Accuracy = " + str(preds[1]))

輸出:(準確率 19%)

120/120 [==============================] - 5s 38ms/step Loss = 12.753657023111979 Test Accuracy = 0.19166666467984517

該模型訓練2次效果很差,訓練更多次效果才會好(時間比較久)

老師直接給出了訓練好的模型

model = load_model('ResNet50.h5') preds = model.evaluate(X_test, Y_test) print ("Loss = " + str(preds[0])) print ("Test Accuracy = " + str(preds[1])) Loss = 0.5301782568295796 Test Accuracy = 0.8666667

老師給的 ResNets 殘差網絡 預測準確率為 86.7%
前次作業中 TF 3層網絡模型的預測準確率為 72.5%

4. 用自己的照片測試

import imageioimg_path = 'images/my_image.jpg' img = image.load_img(img_path, target_size=(64, 64)) x = image.img_to_array(img) x = np.expand_dims(x, axis=0) x = preprocess_input(x) print('Input image shape:', x.shape) my_image = imageio.imread(img_path) imshow(my_image) print("class prediction vector [p(0), p(1), p(2), p(3), p(4), p(5)] = ") print(model.predict(x))

輸出:

Input image shape: (1, 64, 64, 3) class prediction vector [p(0), p(1), p(2), p(3), p(4), p(5)] = [[1. 0. 0. 0. 0. 0.]]

  • 模型結構總結
model.summary() Model: "ResNet50" __________________________________________________________________________________________________ Layer (type) Output Shape Param # Connected to ================================================================================================== input_1 (InputLayer) [(None, 64, 64, 3)] 0 __________________________________________________________________________________________________ zero_padding2d_1 (ZeroPadding2D (None, 70, 70, 3) 0 input_1[0][0] __________________________________________________________________________________________________ conv1 (Conv2D) (None, 32, 32, 64) 9472 zero_padding2d_1[0][0] __________________________________________________________________________________________________ bn_conv1 (BatchNormalization) (None, 32, 32, 64) 256 conv1[0][0] __________________________________________________________________________________________________ activation_4 (Activation) (None, 32, 32, 64) 0 bn_conv1[0][0] __________________________________________________________________________________________________ max_pooling2d_1 (MaxPooling2D) (None, 15, 15, 64) 0 activation_4[0][0] __________________________________________________________________________________________________ res2a_branch2a (Conv2D) (None, 15, 15, 64) 4160 max_pooling2d_1[0][0] ________________________________________________________________________省略省略省略省略 省略省略省略省略add_16 (Add) (None, 2, 2, 2048) 0 bn5b_branch2c[0][0] activation_46[0][0] __________________________________________________________________________________________________ activation_49 (Activation) (None, 2, 2, 2048) 0 add_16[0][0] __________________________________________________________________________________________________ res5c_branch2a (Conv2D) (None, 2, 2, 512) 1049088 activation_49[0][0] __________________________________________________________________________________________________ bn5c_branch2a (BatchNormalizati (None, 2, 2, 512) 2048 res5c_branch2a[0][0] __________________________________________________________________________________________________ activation_50 (Activation) (None, 2, 2, 512) 0 bn5c_branch2a[0][0] __________________________________________________________________________________________________ res5c_branch2b (Conv2D) (None, 2, 2, 512) 2359808 activation_50[0][0] __________________________________________________________________________________________________ bn5c_branch2b (BatchNormalizati (None, 2, 2, 512) 2048 res5c_branch2b[0][0] __________________________________________________________________________________________________ activation_51 (Activation) (None, 2, 2, 512) 0 bn5c_branch2b[0][0] __________________________________________________________________________________________________ res5c_branch2c (Conv2D) (None, 2, 2, 2048) 1050624 activation_51[0][0] __________________________________________________________________________________________________ bn5c_branch2c (BatchNormalizati (None, 2, 2, 2048) 8192 res5c_branch2c[0][0] __________________________________________________________________________________________________ add_17 (Add) (None, 2, 2, 2048) 0 bn5c_branch2c[0][0] activation_49[0][0] __________________________________________________________________________________________________ activation_52 (Activation) (None, 2, 2, 2048) 0 add_17[0][0] __________________________________________________________________________________________________ avg_pool (AveragePooling2D) (None, 1, 1, 2048) 0 activation_52[0][0] __________________________________________________________________________________________________ flatten_1 (Flatten) (None, 2048) 0 avg_pool[0][0] __________________________________________________________________________________________________ fc6 (Dense) (None, 6) 12294 flatten_1[0][0] ================================================================================================== Total params: 23,600,006 Trainable params: 23,546,886 Non-trainable params: 53,120
  • 繪制模型結構圖
plot_model(model, to_file='model.png') SVG(model_to_dot(model).create(prog='dot', format='svg'))

圖片很長,只截取部分

參考論文

  • Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun - Deep Residual Learning for Image Recognition (2015)
  • Francois Chollet’s github repository: https://github.com/fchollet/deep-learning-models/blob/master/resnet50.py

我的CSDN博客地址 https://michael.blog.csdn.net/

長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!

總結

以上是生活随笔為你收集整理的04.卷积神经网络 W2.深度卷积网络:实例探究(作业:Keras教程+ResNets残差网络)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

国产视频高清 | 成 人 黄 色 视频免费播放 | 色资源二区在线视频 | 激情婷婷六月 | 国产只有精品 | 超碰97在线人人 | 大荫蒂欧美视频另类xxxx | 国产精品第| 日韩不卡高清 | 成人高清av在线 | 日韩精品免费在线播放 | 国产 精品 资源 | 久久精彩 | 日韩在线免费电影 | 少妇做爰k8经典 | 成人观看视频 | 99精品视频网站 | 成人黄大片视频在线观看 | 成人av一区二区在线观看 | 在线观看日韩免费视频 | 伊人精品在线 | 狠狠色狠狠色合久久伊人 | 91福利在线观看 | 亚洲最大色 | 国产精品丝袜在线 | 亚洲aⅴ乱码精品成人区 | 精品一区二区电影 | 高清精品视频 | 成人黄色在线看 | 欧美成人在线免费观看 | 波多野结衣精品在线 | 激情喷水 | 亚洲撸撸 | 91精品资源 | 中文字幕乱码视频 | 日韩午夜剧场 | 国产精品嫩草影视久久久 | 欧美影片| 日韩二区三区在线 | 成人h在线| 91九色视频在线播放 | 午夜视频一区二区 | 免费黄色在线网址 | 成人午夜电影免费在线观看 | a在线免费观看视频 | 午夜精品福利在线 | 激情综合网五月激情 | 日韩高清在线一区 | 国产一区二区在线观看视频 | 国产精品乱码久久久久久1区2区 | 在线播放日韩av | 88av视频 | 91精品国产乱码久久桃 | 手机看片国产 | 亚洲狠狠婷婷综合久久久 | av中文字幕亚洲 | 免费观看www小视频的软件 | 亚洲精品日韩av | 一区二区三区在线看 | 日韩一区二区三区高清免费看看 | 日韩精品中文字幕在线不卡尤物 | 亚洲日韩欧美一区二区在线 | 婷婷四房综合激情五月 | 美女久久久 | 视频在线日韩 | 天天干天天天 | 日韩精品一区二区三区视频播放 | 欧美成人日韩 | 丁香电影小说免费视频观看 | 亚洲视频 在线观看 | 美女在线观看av | 91豆花在线观看 | 日韩视频在线不卡 | 成人禁用看黄a在线 | 综合色站导航 | av激情五月 | 中文字幕乱码在线播放 | 久久网站av | 色狠狠狠| 视频精品一区二区三区 | 欧美专区日韩专区 | 婷婷 中文字幕 | www国产亚洲 | 久久免费国产视频 | 中文字幕免费观看全部电影 | 91在线在线观看 | 亚洲午夜精品一区二区三区电影院 | av一级二级 | 高清av中文在线字幕观看1 | 亚洲 欧美 变态 国产 另类 | 国产精品一区二区av影院萌芽 | 亚洲成av | 99精品视频免费在线观看 | 黄视频网站大全 | 伊人资源视频在线 | av免费观看高清 | 亚洲精品中文字幕在线 | av中文字幕在线看 | 国产欧美精品一区二区三区四区 | 久久亚洲综合色 | 日韩高清一区 | 久久精品视频在线免费观看 | 麻豆国产精品视频 | 一级一片免费看 | 1024在线看片 | 91精品久久久久 | 精品uu | 亚洲国产精品视频 | 天天操天天干天天 | 99色免费 | 久久视影 | 成人在线视频观看 | 亚洲永久精品在线观看 | 午夜精品一区二区三区可下载 | 亚洲一级片在线观看 | 日韩精品免费在线播放 | 999久久a精品合区久久久 | 国产一区二区三区四区大秀 | 亚洲日本黄色 | 亚洲精品视频在 | 最新影院 | 亚洲天天综合网 | 国产精品一区专区欧美日韩 | 欧美日韩一区二区三区在线观看视频 | 日本女人的性生活视频 | 亚洲精品视频在线观看视频 | 久久夜色精品国产欧美乱 | 成年人免费看片网站 | 波多野结衣理论片 | 国产精品乱码久久久久久1区2区 | 久久99热国产 | 亚洲天堂网站视频 | 天天干天天玩天天操 | 天天综合视频在线观看 | 久久免费精品国产 | 日韩精品在线免费播放 | 午夜免费福利视频 | 欧美精品在线视频观看 | 99精品网站 | 激情小说久久 | 国产综合精品一区二区三区 | 久草91视频 | 日本性生活一级片 | 天天干,天天射,天天操,天天摸 | 天天干夜夜爱 | 亚洲 欧美 变态 国产 另类 | 精品一区 在线 | 国产99久久久精品视频 | 亚洲最大成人免费网站 | 日韩精品一区在线播放 | 午夜在线观看一区 | 91亚瑟视频| 日韩在线高清免费视频 | 国产精品久久久久久久久毛片 | 欧美天天综合网 | 久草国产视频 | 99久e精品热线免费 99国产精品久久久久久久久久 | 狠狠狠色丁香婷婷综合激情 | 成人在线免费视频观看 | 亚洲精品国偷自产在线99热 | 国产精品一区二区在线免费观看 | 日女人免费视频 | av三区在线 | 81精品国产乱码久久久久久 | 欧美精品色 | 最新日韩中文字幕 | 久久黄色网页 | 成人丁香花 | 日韩久久精品一区二区三区 | 97成人免费视频 | 黄色aaaaa| 中文字幕日本在线观看 | 国产精品自产拍在线观看 | 美女免费视频一区 | 免费看亚洲毛片 | 色综合www | 精品在线免费视频 | 久久精品一区二区三区四区 | 在线成人av | 99久久免费看| 激情综合网五月婷婷 | 黄色亚洲 | 日韩高清免费观看 | 日韩在线免费小视频 | 美女视频免费一区二区 | 日韩精品中文字幕在线观看 | 亚洲人成免费 | 国产91精品一区二区绿帽 | 国产精品成人久久久 | 超碰公开在线观看 | 五月天综合网 | 日韩黄色av网站 | 亚洲日本一区二区在线 | 午夜免费电影院 | 久久久亚洲影院 | 亚洲区精品视频 | 三级动图 | 操久在线 | 91色在线观看视频 | 亚洲春色奇米影视 | 亚洲精品国偷拍自产在线观看蜜桃 | 天天色天天草天天射 | 国内成人综合 | 日韩欧美一区二区在线 | 深夜免费小视频 | 麻豆视频在线播放 | www.eeuss影院av撸| 色综合激情久久 | 黄色av一区二区三区 | 久久久免费看片 | 欧美国产亚洲精品久久久8v | 国产精品都在这里 | 日韩剧情 | 欧美一级爽| 99视频这里有精品 | 婷久久 | 五月婷婷,六月丁香 | 草久电影 | 久久性生活片 | 激情五月在线 | 久久一视频| 国产69精品久久久久99尤 | 欧美成人在线免费 | 91亚洲精品国偷拍自产在线观看 | 国产精品久久久久9999 | 久久久久在线观看 | 四虎www com | 尤物一区二区三区 | 日韩欧美综合在线视频 | 美女免费视频一区 | 久久综合精品一区 | 精品国产乱码久久久久久久 | 999免费视频 | 亚洲欧洲国产精品 | 亚洲精品乱码久久久久久蜜桃91 | 手机成人免费视频 | 国产品久精国精产拍 | 欧美成人一二区 | 午夜视频在线观看一区二区三区 | 探花在线观看 | 久国产在线播放 | 美女露久久 | 日韩精品一区二区在线 | 国产精品久久人 | 丁香婷婷综合网 | 亚洲精品国产电影 | 免费成人结看片 | 在线观看日韩一区 | 日韩黄色大片在线观看 | 天天激情天天干 | 五月婷亚洲 | 五月婷婷中文网 | 99视频在线免费看 | 国产精品成人自产拍在线观看 | 91男人影院 | av一区二区三区在线观看 | 午夜日b视频 | 日韩美女高潮 | 综合久久久久久 | 亚洲片在线| 国产91大片 | 免费一级特黄录像 | 国产精品女同一区二区三区久久夜 | 免费观看成人网 | 亚洲高清视频在线观看免费 | 一区二区三区视频在线 | 在线免费看黄色 | 国内精品久久天天躁人人爽 | 午夜精品影院 | 伊人导航| 亚洲国产精品人久久电影 | 天天躁日日躁狠狠躁 | 国产欧美日韩视频 | 日本成人免费在线观看 | 999国内精品永久免费视频 | 综合久久久久久久 | 又黄又爽免费视频 | 国产性天天综合网 | 日韩欧美区 | 最新国产精品久久精品 | 成 人 黄 色视频免费播放 | 免费三级黄色 | 欧美性做爰猛烈叫床潮 | 久久久片| 久久精品国产一区二区三区 | 天天摸天天操天天爽 | 最新真实国产在线视频 | 国产精品成人久久 | 丁香激情综合国产 | 人人看黄色 | 亚洲精品白浆高清久久久久久 | 手机看片1042 | 亚洲欧洲视频 | 豆豆色资源网xfplay | 精品99在线 | 成人在线观看你懂的 | 99亚洲精品在线 | 午夜精品久久久久久久99水蜜桃 | 99精品视频精品精品视频 | 久久一区二区三区四区 | 少妇bbw揉bbb欧美 | 久久精品播放 | 久久国产精品视频观看 | 久久久久成人精品 | 久草在线费播放视频 | 亚洲成人资源 | 99av国产精品欲麻豆 | 日韩电影在线观看一区二区 | 国产成人久久av免费高清密臂 | 国产小视频在线看 | a级国产乱理论片在线观看 特级毛片在线观看 | 久久,天天综合 | 国产精品久久久久久一区二区三区 | 超碰国产在线 | 婷婷综合电影 | 久久精品一二三区白丝高潮 | 在线观看精品一区 | 国产乱码精品一区二区蜜臀 | 操操日 | 亚洲精品国产日韩 | 久草精品资源 | 91cn国产在线 | 国产成人三级在线观看 | 日本三级不卡 | 久久精品三级 | 日韩精品国产一区 | 91九色最新地址 | 久久男人免费视频 | 手机av片 | 黄色av电影在线观看 | 色婷婷狠狠五月综合天色拍 | 婷婷亚洲最大 | 久久香蕉国产精品麻豆粉嫩av | 91九色网站 | 91激情小视频 | av动图 | 久久综合射 | 日韩中文在线电影 | 久久一区二区三区超碰国产精品 | 精品国产亚洲日本 | 亚洲欧美日韩国产精品一区午夜 | 岛国一区在线 | 四虎影视成人永久免费观看亚洲欧美 | 亚洲精品午夜视频 | 中文字幕制服丝袜av久久 | 精品国产资源 | 国产成人久久精品一区二区三区 | 日日夜日日干 | 在线91网 | 成人精品亚洲 | 国产免码va在线观看免费 | 国产精品女人久久久久久 | 蜜臀一区二区三区精品免费视频 | 精品国产亚洲一区二区麻豆 | 69精品久久久 | 久久社区视频 | 欧美在线99 | 国产精品久久久精品 | 天天艹| 日韩精品一区二区三区免费视频观看 | 亚洲综合视频在线 | 超碰97人人干 | 久久人人插 | 日日干夜夜草 | 婷婷色中文 | 97精品久久人人爽人人爽 | 国产精品中文字幕在线播放 | 亚洲精品一区二区三区高潮 | 狠狠干狠狠插 | 日韩欧美第二页 | 91精品视频免费 | 蜜桃视频在线观看一区 | 日韩视频一区二区三区在线播放免费观看 | 国产一级片直播 | 久草在线欧美 | 国产美腿白丝袜足在线av | 久久激情视频网 | 久久三级视频 | 黄色三级免费观看 | 六月色丁香 | 一区中文字幕在线观看 | 国产一线二线三线性视频 | 99精品国产视频 | 久久国产电影院 | ,午夜性刺激免费看视频 | 精品一二区 | 久久综合五月婷婷 | 99久久99久久精品免费 | 夜夜夜草 | 波多野结依在线观看 | 国产视频一区在线免费观看 | 99久久久久久 | 国产女人免费看a级丨片 | 精品国产电影一区二区 | 99久久er热在这里只有精品15 | 五月色丁香 | 亚洲精品视频一二三 | 色橹橹欧美在线观看视频高清 | a极黄色片| 久久久久久免费网 | 久久成人免费电影 | 九色在线视频 | 久久精品9 | 日韩亚洲欧美中文字幕 | 日韩一区二区在线免费观看 | 国产精品视频永久免费播放 | 国产视频黄 | 国内精品久久久久久久 | 成人免费看片网址 | 国产免费xvideos视频入口 | 国产成人性色生活片 | 最近中文字幕在线播放 | 精品国产一二三 | 国产精品刺激对白麻豆99 | 91资源在线免费观看 | 五月开心综合 | www.国产在线观看 | 免费三级骚 | 在线直播av | 国产69精品久久app免费版 | 五月天最新网址 | 最近能播放的中文字幕 | 精品美女久久久久 | 不卡av在线| 99福利片 | 国产日韩视频在线观看 | 成人免费在线观看电影 | 国产精品扒开做爽爽的视频 | 精精国产xxxx视频在线播放 | 高清一区二区三区 | 一二区av| 久久国产精品视频免费看 | 国际精品久久 | 国产精品爽爽久久久久久蜜臀 | 最近日韩中文字幕中文 | 黄色看片 | www.亚洲在线| 欧美精品免费在线 | 久久精品黄色 | 午夜私人影院久久久久 | 国产三级香港三韩国三级 | 在线播放精品一区二区三区 | 九九热精品视频在线观看 | 天天骚夜夜操 | 黄色av网站在线观看 | 国产日韩欧美视频在线观看 | 国产一区高清在线观看 | 很黄很污的视频网站 | 激情网婷婷| 亚洲国产播放 | 久久精品99久久久久久2456 | 国产精品孕妇 | 欧美精品亚洲精品日韩精品 | 99国产在线观看 | 狠狠躁夜夜av | 中文字幕一区二区三区乱码不卡 | 亚洲免费国产视频 | 最近最新最好看中文视频 | 伊人天天狠天天添日日拍 | 中文字幕在线观看亚洲 | 免费观看一区二区 | 国产精品久久亚洲 | 九九九在线观看视频 | 亚洲成av人影院 | 久久精品99久久久久久 | 五月婷av | 中文资源在线播放 | 久久精品99久久 | 国内成人精品2018免费看 | 亚洲欧洲精品一区二区精品久久久 | 日韩三级久久 | 成人av教育| 亚洲精品高清视频在线观看 | 免费一级片在线观看 | 国产成人精品亚洲精品 | 国产一区二区三区免费在线 | 国产高清视频免费观看 | 日本夜夜草视频网站 | 亚洲视频免费在线观看 | 精品国产精品一区二区夜夜嗨 | 婷婷伊人五月 | a级一a一级在线观看 | 美女网站久久 | 伊人天天色 | 麻豆传媒在线免费看 | 久草视频在线看 | 美女网站视频免费都是黄 | 日日草av | 国产精品99久久久精品 | 成人午夜黄色影院 | 欧美午夜视频在线 | 日韩 在线观看 | 欧美日韩免费一区二区三区 | 精品国产成人在线影院 | 狠狠干干 | 国产高清在线观看av | 日韩网站在线播放 | 日日夜操 | 99久久夜色精品国产亚洲 | 99在线观看精品 | 午夜.dj高清免费观看视频 | 波多野结衣最新 | 国产精品18久久久久久首页狼 | 在线观看视频你懂 | 中文字幕在线观看视频一区二区三区 | 香蕉精品视频在线观看 | 欧洲成人免费 | 精品国产黄色片 | 国产1区2区3区在线 亚洲自拍偷拍色图 | 国产精品18p | 亚洲视频在线免费观看 | 亚洲精品视频在线看 | 天天干人人干 | 国产精品a久久久久 | 又爽又黄又刺激的视频 | 天天狠狠 | 亚洲 欧美日韩 国产 中文 | 久久综合九色综合久99 | 久久国产系列 | 国产精品久久久久久久久久久久午夜 | 91久久精品一区二区三区 | 一级成人网| 丁香五月亚洲综合在线 | 欧美最猛性xxxx | 欧美国产亚洲精品久久久8v | 日韩在线观看网站 | 黄色在线看网站 | 国产亚洲欧美精品久久久久久 | 美女黄濒 | 亚洲人成在线电影 | 国产精品麻豆三级一区视频 | 国产99久久久国产精品免费看 | 久久在草 | 香蕉视频啪啪 | 日韩精品免费一区二区三区 | 国产精品永久免费视频 | 久久精品欧美日韩精品 | 国产精品1000 | 天天干,夜夜爽 | 国产高清在线观看av | 欧美激情xxxx性bbbb | 日韩欧美xxx | 日韩电影在线视频 | 国产小视频你懂的 | 欧美一级久久久久 | 毛片激情永久免费 | a特级毛片 | 亚洲不卡av一区二区三区 | 久久躁日日躁aaaaxxxx | 99久久精品免费看国产四区 | 成人一区在线观看 | 午夜少妇av | 97国产精品久久 | 六月丁香在线视频 | 狠狠干电影 | 久久精品视频18 | 久久高清精品 | 日韩毛片在线播放 | 在线观看91av | 五月婷婷黄色网 | 色婷婷亚洲综合 | 精品国产伦一区二区三区观看方式 | 国产精品毛片久久久久久久 | 天天干天天操天天干 | 香蕉日日 | 欧美巨大 | 精品久久一 | 91成人免费在线 | 黄色软件大全网站 | 色婷婷99 | av福利网址导航大全 | 欧美成人999 | 91漂亮少妇露脸在线播放 | 亚洲精品国产麻豆 | 91精品视频在线免费观看 | 久久国产视屏 | 精选久久 | www.国产在线观看 | 日韩一二区在线观看 | 四虎精品成人免费网站 | 国产亚洲精品日韩在线tv黄 | 香蕉视频在线网站 | 久久成人毛片 | 日日夜夜噜噜噜 | 久久99国产精品自在自在app | 国产精品观看 | 色综合夜色一区 | 狠狠精品 | 中文字幕电影网 | 婷婷综合在线 | 色在线视频网 | 日韩欧美一区二区三区在线 | 黄色国产大片 | 成人午夜影视 | 日韩综合一区二区 | 在线欧美最极品的av | 亚洲专区路线二 | 国产精品黄色在线观看 | 五月天六月色 | 久久99免费视频 | 在线综合色 | 久久人人精 | 69国产精品成人在线播放 | 亚洲国产播放 | www天天干 | 91精品国产自产91精品 | 日p在线观看 | 久久情网 | 91x色| 一级黄色在线免费观看 | 91网页版免费观看 | 最新高清无码专区 | 成人va在线观看 | 国产一级片观看 | 99 久久久久 | 亚洲精品 在线视频 | 国内精品视频免费 | 国产91九色蝌蚪 | 久草视频在线播放 | 在线91av| 欧美黄色成人 | 五月婷婷导航 | 天堂在线视频免费观看 | 中文字幕av最新更新 | 在线观看亚洲国产精品 | 在线观看日本高清mv视频 | 66av99精品福利视频在线 | 九九久久久久久久久激情 | av在线免费在线 | 又黄又爽又刺激的视频 | 国产永久免费高清在线观看视频 | 国内丰满少妇猛烈精品播放 | 国产香蕉视频在线观看 | av大片免费在线观看 | 91精品视频免费在线观看 | 亚洲综合爱 | 一级国产视频 | 99 久久久久 | 久久爱资源网 | 国产精品资源在线观看 | av一级免费 | 欧美性色网站 | 一区二区三区动漫 | 国产在线播放不卡 | 婷婷国产在线观看 | 久久夜av| 国产成人精品午夜在线播放 | 国产做a爱一级久久 | 99久久精品免费看国产 | 亚洲最大av网 | 国产精品黄色 | a在线观看视频 | 日韩欧美高清在线 | 亚洲 欧美 精品 | 精品欧美在线视频 | 日韩精品在线视频免费观看 | 成人在线一区二区 | 亚洲视频播放 | 精品免费观看视频 | 中文在线中文资源 | 日免费视频 | 色综合久久66 | 久久国产成人午夜av影院宅 | 一二三精品视频 | 日本狠狠色| 天天玩夜夜操 | 久久久久久久久久影院 | 欧美日韩在线精品 | 欧美a视频 | 99精品欧美一区二区三区 | 欧美天天综合网 | 成人在线视频免费观看 | 人人玩人人爽 | 国产麻豆剧传媒免费观看 | 久久久精品综合 | 欧美日韩一区二区三区在线免费观看 | aaaaaa毛片| 精品中文字幕在线播放 | 国产爽妇网 | www视频在线免费观看 | 看毛片的网址 | 成人av一级片 | 江苏妇搡bbbb搡bbbb | 免费又黄又爽 | 日韩高清在线不卡 | 欧美日韩不卡在线视频 | 蜜臀av性久久久久蜜臀aⅴ流畅 | www.狠狠| 国产精品一区在线播放 | 国产精品久久久久久久久久新婚 | 开心激情网五月天 | 激情五月激情综合网 | 91麻豆国产 | 精品视频国产 | 色视频在线免费观看 | 久久亚洲欧美日韩精品专区 | 国产精品视频在线看 | 国产精品久久久久久久av大片 | 久久久久久免费网 | 久久久美女 | 97爱| 欧美日韩国产一区二区三区 | 国产成人精品一区二区在线 | 亚洲高清色综合 | 欧美成年黄网站色视频 | 91精品国产91久久久久 | 激情五月在线视频 | 深夜国产在线 | 特级西西www44高清大胆图片 | 亚洲精品视频在线播放 | 一区二区三区中文字幕在线观看 | 日韩免费不卡视频 | 国产在线免费av | av成人在线网站 | 特级西西人体444是什么意思 | 99视频免费播放 | 日韩在线观看电影 | 99视频这里只有 | 久久综合狠狠综合久久综合88 | 97精产国品一二三产区在线 | 国产精品久久久久久久久费观看 | 亚洲精品午夜久久久久久久 | 成人在线观看免费视频 | 免费日韩一区二区三区 | 色网站免费在线看 | 国产中文a | 亚洲电影自拍 | 天天插狠狠干 | 97国产精品久久 | 九月婷婷色| 丝袜美腿亚洲综合 | 国产高清视频 | 国产在线成人 | av一级一片| 亚洲成人精品在线观看 | 亚洲成人频道 | av在线超碰 | 91视频免费网址 | 精品久久久久久国产91 | 欧美日韩精品免费观看 | 国产精品一区二区视频 | 久久男人视频 | 国产亚洲视频在线免费观看 | 97视频免费在线观看 | 天天添夜夜操 | 久草久热| 日韩欧三级 | 91国内产香蕉 | 国产色在线观看 | 久久公开视频 | 国产精品久久久999 国产91九色视频 | 亚洲国产视频a | 婷婷色av| 久久精品免费 | 亚洲欧美日韩国产 | 久久久久国产精品视频 | 欧洲精品一区二区 | 午夜色婷婷 | 麻豆av一区二区三区在线观看 | 亚洲精品欧洲精品 | 综合久久综合久久 | 午夜在线观看 | 色综合亚洲精品激情狠狠 | 国产超碰97 | 天天插天天狠 | 久久久久亚洲国产 | 黄色毛片在线看 | 天天狠狠操 | 国产女人免费看a级丨片 | av福利在线看 | 91中文字幕在线视频 | 夜夜夜夜爽 | 免费av网站在线看 | 久久婷婷色 | 久久激情综合网 | 综合网天天 | www国产亚洲| 国产成人免费观看 | 中文字幕日本特黄aa毛片 | 97在线精品国自产拍中文 | 久久精品久久精品久久 | 97超碰成人 | 久久久免费精品国产一区二区 | 国产亚洲精品久久久久久大师 | 国产精品久久久久久久久久不蜜月 | 亚洲人成免费 | 免费麻豆网站 | 五月婷婷欧美视频 | 国产精品激情偷乱一区二区∴ | 黄色三级视频片 | 亚洲免费视频在线观看 | 国产91影院 | 日韩精品中字 | 久久午夜色播影院免费高清 | 97成人精品视频在线播放 | 欧美在线视频一区二区三区 | 一区二区三区在线免费播放 | 九九热re | 人人舔人人插 | 婷婷99 | 久久免费视频在线观看30 | 婷婷视频在线观看 | 国产小视频免费在线观看 | 91最新网址 | 国产999精品视频 | 国产精品久久久久久久久久久久午夜 | 97精品国产一二三产区 | 91麻豆精品国产91久久久久久久久 | 国产精品av免费在线观看 | 久久精品国产第一区二区三区 | 黄色软件网站在线观看 | 成人在线播放免费观看 | 美女又爽又黄 | 黄p在线播放 | 四虎影视4hu4虎成人 | 91看片成人 | 91精品视频在线看 | 婷婷开心久久网 | 亚洲视频www | 亚洲激情电影在线 | 中文字幕av播放 | 国产成人在线免费观看 | 午夜精品电影一区二区在线 | 久久精品国产亚洲a | 色婷婷啪啪免费在线电影观看 | 国产中文字幕在线播放 | 成人免费视频播放 | 亚洲国产日韩一区 | 欧美性另类| 色婷婷亚洲综合 | 少妇性色午夜淫片aaaze | 亚洲美女久久 | www.人人草| 中文在线免费观看 | 国产3p视频| www.五月婷婷.com | 国产黄a三级三级三级三级三级 | 国产区在线视频 | 99在线观看视频 | 美女网站在线看 | 91免费的视频在线播放 | 波多野结衣综合网 | 美国av大片| 日韩中文久久 | 一级α片免费看 | 日av免费| 一区二区精品在线 | 中文在线免费看视频 | 久久不射电影院 | 免费在线中文字幕 | a√天堂中文在线 | 高潮久久久久久 | 久久手机视频 | 免费看久久 | 最新国产在线观看 | 一区二区网 | 欧美福利久久 | 午夜国产一区二区 | 人人爽人人干 | 日韩电影久久 | 日本在线观看视频一区 | 日日爽夜夜操 | 五月婷婷六月综合 | 久久久久久久久久毛片 | 欧美了一区在线观看 | 欧美另类v| 国产亚洲视频在线观看 | 91超碰在线播放 | 色综合天天射 | 成人av中文字幕在线观看 | 中文在线8资源库 | 久久国产精品一国产精品 | 中文字幕在线观看的网站 | 成人av在线电影 | 在线观看91av| 黄色1级大片 | 久久丁香 | 最新亚洲视频 | 91免费看黄 | 97在线影视| 91精品视频免费在线观看 | 98超碰在线 | 日本韩国精品一区二区在线观看 | 综合色影院| 欧美色图一区 | 在线观看日韩中文字幕 | 国产视频91在线 | 午夜在线日韩 | 久久久综合九色合综国产精品 | 狠狠干网址 | 日韩欧美在线一区 | 成人av免费看 | 国产专区在线播放 | 嫩草av在线| 欧洲精品久久久久毛片完整版 | 久久精品婷婷 | 久久99最新地址 | 日本久久中文 | 国产成人精品aaa | 五月天婷婷狠狠 | 天天干天天拍天天操 | 在线观看黄色的网站 | 91色九色 | 992tv在线| 亚洲一区二区观看 | 在线免费观看黄色小说 | 亚洲国产精品99久久久久久久久 | 玖玖综合网| 国产精品无av码在线观看 | 在线亚洲午夜片av大片 | 91最新国产 | 最近2019中文免费高清视频观看www99 | 久久久国产成人 | 日韩精品视频免费专区在线播放 | 99久久精品费精品 | 亚洲波多野结衣 | 97国产视频 | 日韩在线首页 | 亚洲日本韩国一区二区 | 中文在线a√在线 | 日韩啪啪小视频 | 国产精品久久久影视 | 最近最新最好看中文视频 | 伊人天堂久久 | 欧美成人精品欧美一级乱 | 国产在线欧美日韩 | 久久久久一区二区三区 | 在线看片视频 | 免费精品在线视频 | 亚洲九九精品 | 亚洲综合日韩在线 | 国产经典 欧美精品 | av不卡中文字幕 | 在线视频专区 | 日韩一区二区三区高清免费看看 | 欧美激情综合五月色丁香小说 | 在线国产一区 | 美女国内精品自产拍在线播放 | 丁香影院在线 | 99视频在线免费播放 | 又色又爽又激情的59视频 | 日韩专区在线 | 久久久久久片 | 亚洲一区欧美激情 | 在线观看视频 | 日韩欧美国产精品 | 亚洲欧美一区二区三区孕妇写真 | 狠狠操夜夜 | 毛片网站在线观看 | 91中文字幕永久在线 | 91精品一区二区在线观看 | 亚洲精品视频播放 | 国产精品2区 | 91av美女| 欧美精品一区二区三区四区在线 | av在线免费在线观看 | 成人黄色视 | 国产色资源 | 久久在现 | 91在线精品播放 | 久草剧场 | 玖玖玖影院 | 精品福利在线 | 国产资源在线播放 | a天堂最新版中文在线地址 久久99久久精品国产 | 中文字幕 国产专区 | 亚欧日韩av | 91麻豆精品一区二区三区 | 视频在线一区二区三区 | 久草干 | 成人av高清 | 久久免费公开视频 | 国产一线二线三线性视频 | 天天操天操| 国产精品少妇 | 国产一区二区在线播放视频 | 国产黄色片免费看 | 国产成人三级在线 | 最近中文字幕mv | 福利视频导航网址 | 久久综合婷婷综合 | 国产日韩欧美精品在线观看 | 国产一区二区在线精品 | 亚洲aⅴ在线 | 91在线视频在线观看 | 色多多在线观看 | 成人丝袜| 成人欧美一区二区三区黑人麻豆 | 亚洲四虎在线 | 中文在线最新版天堂 | 中文一区在线 | 午夜国产福利在线观看 | 麻豆超碰 | 国产精品毛片一区视频播不卡 | 日本韩国在线不卡 | 久久中文字幕导航 | 国精产品一二三线999 | 成人aⅴ视频 |