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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人工智能 > pytorch >内容正文

pytorch

01.神经网络和深度学习 W4.深层神经网络(作业:建立你的深度神经网络+图片猫预测)

發(fā)布時(shí)間:2024/7/5 pytorch 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 01.神经网络和深度学习 W4.深层神经网络(作业:建立你的深度神经网络+图片猫预测) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

    • 作業(yè)1. 建立你的深度神經(jīng)網(wǎng)絡(luò)
      • 1. 導(dǎo)入包
      • 2. 算法主要流程
      • 3. 初始化
        • 3.1 兩層神經(jīng)網(wǎng)絡(luò)
        • 3.2 多層神經(jīng)網(wǎng)絡(luò)
      • 4. 前向傳播
        • 4.1 線性模塊
        • 4.2 線性激活模塊
        • 4.3 多層模型
      • 5. 損失函數(shù)
      • 6. 反向傳播
        • 6.1 線性模塊
        • 6.2 線性激活模塊
        • 6.3 多層模型
        • 6.4 梯度下降、更新參數(shù)
    • 作業(yè)2. 深度神經(jīng)網(wǎng)絡(luò)應(yīng)用:圖像分類
      • 1. 導(dǎo)入包
      • 2. 數(shù)據(jù)集
      • 3. 建立模型
        • 3.1 兩層神經(jīng)網(wǎng)絡(luò)
        • 3.2 多層神經(jīng)網(wǎng)絡(luò)
        • 3.3 一般步驟
      • 4. 兩層神經(jīng)網(wǎng)絡(luò)
      • 5. 多層神經(jīng)網(wǎng)絡(luò)
      • 6. 結(jié)果分析
      • 7. 用自己的圖片測(cè)試

測(cè)試題:參考博文

作業(yè)1. 建立你的深度神經(jīng)網(wǎng)絡(luò)

1. 導(dǎo)入包

import numpy as np import h5py import matplotlib.pyplot as plt from testCases_v2 import * from dnn_utils_v2 import sigmoid, sigmoid_backward, relu, relu_backward%matplotlib inline plt.rcParams['figure.figsize'] = (5.0, 4.0) # set default size of plots plt.rcParams['image.interpolation'] = 'nearest' plt.rcParams['image.cmap'] = 'gray'%load_ext autoreload %autoreload 2np.random.seed(1)

2. 算法主要流程

3. 初始化

第4節(jié)筆記:01.神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí) W4.深層神經(jīng)網(wǎng)絡(luò)

3.1 兩層神經(jīng)網(wǎng)絡(luò)

模型結(jié)構(gòu):LINEAR -> RELU -> LINEAR -> SIGMOID
權(quán)重:np.random.randn(shape)*0.01
偏置:np.zeros(shape)

# GRADED FUNCTION: initialize_parametersdef initialize_parameters(n_x, n_h, n_y):"""Argument:n_x -- size of the input layern_h -- size of the hidden layern_y -- size of the output layerReturns:parameters -- python dictionary containing your parameters:W1 -- weight matrix of shape (n_h, n_x)b1 -- bias vector of shape (n_h, 1)W2 -- weight matrix of shape (n_y, n_h)b2 -- bias vector of shape (n_y, 1)"""np.random.seed(1)### START CODE HERE ### (≈ 4 lines of code)W1 = np.random.randn(n_h, n_x)*0.01b1 = np.zeros((n_h, 1))W2 = np.random.randn(n_y, n_h)*0.01b2 = np.zeros((n_y, 1))### END CODE HERE ###assert(W1.shape == (n_h, n_x))assert(b1.shape == (n_h, 1))assert(W2.shape == (n_y, n_h))assert(b2.shape == (n_y, 1))parameters = {"W1": W1,"b1": b1,"W2": W2,"b2": b2}return parameters

3.2 多層神經(jīng)網(wǎng)絡(luò)

模型結(jié)構(gòu):[LINEAR -> RELU] × (L-1) -> LINEAR -> SIGMOID

# GRADED FUNCTION: initialize_parameters_deepdef initialize_parameters_deep(layer_dims):"""Arguments:layer_dims -- python array (list) containing the dimensions of each layer in our networkReturns:parameters -- python dictionary containing your parameters "W1", "b1", ..., "WL", "bL":Wl -- weight matrix of shape (layer_dims[l], layer_dims[l-1])bl -- bias vector of shape (layer_dims[l], 1)"""np.random.seed(3)parameters = {}L = len(layer_dims) # number of layers in the networkfor l in range(1, L):### START CODE HERE ### (≈ 2 lines of code)parameters['W' + str(l)] = np.random.randn(layer_dims[l], layer_dims[l-1])*0.01parameters['b' + str(l)] = np.zeros((layer_dims[l], 1))### END CODE HERE ###assert(parameters['W' + str(l)].shape == (layer_dims[l], layer_dims[l-1]))assert(parameters['b' + str(l)].shape == (layer_dims[l], 1))return parameters

4. 前向傳播

4.1 線性模塊

向量化公式
Z[l]=W[l]A[l?1]+b[l]Z^{[l]} = W^{[l]}A^{[l-1]} +b^{[l]}Z[l]=W[l]A[l?1]+b[l]

其中 A[0]=XA^{[0]} = XA[0]=X

計(jì)算 ZZZ,緩存 A,W,bA, W, bA,W,b

# GRADED FUNCTION: linear_forwarddef linear_forward(A, W, b):"""Implement the linear part of a layer's forward propagation.Arguments:A -- activations from previous layer (or input data): (size of previous layer, number of examples)W -- weights matrix: numpy array of shape (size of current layer, size of previous layer)b -- bias vector, numpy array of shape (size of the current layer, 1)Returns:Z -- the input of the activation function, also called pre-activation parameter cache -- a python dictionary containing "A", "W" and "b" ; stored for computing the backward pass efficiently"""### START CODE HERE ### (≈ 1 line of code)Z = np.dot(W, A) + b### END CODE HERE ###assert(Z.shape == (W.shape[0], A.shape[1]))cache = (A, W, b)return Z, cache

4.2 線性激活模塊

計(jì)算激活輸出 AAA,以及緩存 ZZZ (反向傳播時(shí)要用到)(作業(yè)里的激活函數(shù)會(huì)返回這兩項(xiàng))
A[l]=g(Z[l])=g(W[l]A[l?1]+b[l])A^{[l]} = g(Z^{[l]}) = g(W^{[l]}A^{[l-1]} +b^{[l]})A[l]=g(Z[l])=g(W[l]A[l?1]+b[l])
其中 ggg 是激活函數(shù),可以是ReLu,Sigmoid等

# GRADED FUNCTION: linear_activation_forwarddef linear_activation_forward(A_prev, W, b, activation):"""Implement the forward propagation for the LINEAR->ACTIVATION layerArguments:A_prev -- activations from previous layer (or input data): (size of previous layer, number of examples)W -- weights matrix: numpy array of shape (size of current layer, size of previous layer)b -- bias vector, numpy array of shape (size of the current layer, 1)activation -- the activation to be used in this layer, stored as a text string: "sigmoid" or "relu"Returns:A -- the output of the activation function, also called the post-activation value cache -- a python dictionary containing "linear_cache" and "activation_cache";stored for computing the backward pass efficiently"""if activation == "sigmoid":# Inputs: "A_prev, W, b". Outputs: "A, activation_cache".### START CODE HERE ### (≈ 2 lines of code)Z, linear_cache = linear_forward(A_prev, W, b)A, activation_cache = sigmoid(Z)### END CODE HERE ###elif activation == "relu":# Inputs: "A_prev, W, b". Outputs: "A, activation_cache".### START CODE HERE ### (≈ 2 lines of code)Z, linear_cache = linear_forward(A_prev, W, b)A, activation_cache = relu(Z)### END CODE HERE ###assert (A.shape == (W.shape[0], A_prev.shape[1]))cache = (linear_cache, activation_cache)return A, cache

4.3 多層模型


前面使用 L?1L-1L?1 層 ReLu,最后使用 1 層 Sigmoid

# GRADED FUNCTION: L_model_forwarddef L_model_forward(X, parameters):"""Implement forward propagation for the [LINEAR->RELU]*(L-1)->LINEAR->SIGMOID computationArguments:X -- data, numpy array of shape (input size, number of examples)parameters -- output of initialize_parameters_deep()Returns:AL -- last post-activation valuecaches -- list of caches containing:every cache of linear_relu_forward() (there are L-1 of them, indexed from 0 to L-2)the cache of linear_sigmoid_forward() (there is one, indexed L-1)"""caches = []A = XL = len(parameters) // 2 # number of layers in the neural network# Implement [LINEAR -> RELU]*(L-1). Add "cache" to the "caches" list.for l in range(1, L):A_prev = A ### START CODE HERE ### (≈ 2 lines of code)A, cache = linear_activation_forward(A_prev, parameters['W'+str(l)], parameters['b'+str(l)], 'relu')caches.append(cache) # 每一層的 (A,W,b, Z)### END CODE HERE #### Implement LINEAR -> SIGMOID. Add "cache" to the "caches" list.### START CODE HERE ### (≈ 2 lines of code)AL, cache = linear_activation_forward(A, parameters['W'+str(L)], parameters['b'+str(L)], 'sigmoid')caches.append(cache)### END CODE HERE ###assert(AL.shape == (1,X.shape[1]))return AL, caches

現(xiàn)在得到了一個(gè)完整的前向傳播,AL 包含預(yù)測(cè)值,可以計(jì)算損失函數(shù)

5. 損失函數(shù)

計(jì)算損失:

?1m∑i=1m(y(i)log?(a[L](i))+(1?y(i))log?(1?a[L](i)))-\frac{1}{m} \sum\limits_{i = 1}^{m} \bigg(y^{(i)}\log\left(a^{[L] (i)}\right) + (1-y^{(i)})\log\left(1- a^{[L](i)}\right) \bigg) ?m1?i=1m?(y(i)log(a[L](i))+(1?y(i))log(1?a[L](i)))

# GRADED FUNCTION: compute_costdef compute_cost(AL, Y):"""Implement the cost function defined by equation (7).Arguments:AL -- probability vector corresponding to your label predictions, shape (1, number of examples)Y -- true "label" vector (for example: containing 0 if non-cat, 1 if cat), shape (1, number of examples)Returns:cost -- cross-entropy cost"""m = Y.shape[1]# Compute loss from aL and y.### START CODE HERE ### (≈ 1 lines of code)cost = np.sum(Y*np.log(AL)+(1-Y)*np.log(1-AL))/(-m)### END CODE HERE ###cost = np.squeeze(cost) # To make sure your cost's shape is what we expect (e.g. this turns [[17]] into 17).assert(cost.shape == ())return cost

6. 反向傳播

計(jì)算損失函數(shù)的梯度:

6.1 線性模塊


dW[l]=?L?W[l]=1mdZ[l]A[l?1]TdW^{[l]} = \frac{\partial \mathcal{L} }{\partial W^{[l]}} = \frac{1}{m} dZ^{[l]} A^{[l-1] T} dW[l]=?W[l]?L?=m1?dZ[l]A[l?1]T
db[l]=?L?b[l]=1m∑i=1mdZ[l](i)db^{[l]} = \frac{\partial \mathcal{L} }{\partial b^{[l]}} = \frac{1}{m} \sum_{i = 1}^{m} dZ^{[l](i)}db[l]=?b[l]?L?=m1?i=1m?dZ[l](i)
dA[l?1]=?L?A[l?1]=W[l]TdZ[l]dA^{[l-1]} = \frac{\partial \mathcal{L} }{\partial A^{[l-1]}} = W^{[l] T} dZ^{[l]} dA[l?1]=?A[l?1]?L?=W[l]TdZ[l]

# GRADED FUNCTION: linear_backwarddef linear_backward(dZ, cache):"""Implement the linear portion of backward propagation for a single layer (layer l)Arguments:dZ -- Gradient of the cost with respect to the linear output (of current layer l)cache -- tuple of values (A_prev, W, b) coming from the forward propagation in the current layerReturns:dA_prev -- Gradient of the cost with respect to the activation (of the previous layer l-1), same shape as A_prevdW -- Gradient of the cost with respect to W (current layer l), same shape as Wdb -- Gradient of the cost with respect to b (current layer l), same shape as b"""A_prev, W, b = cachem = A_prev.shape[1]### START CODE HERE ### (≈ 3 lines of code)dW = np.dot(dZ, A_prev.T)/mdb = 1/m*np.sum(dZ, axis=1, keepdims=True)dA_prev = np.dot(W.T, dZ)### END CODE HERE ###assert (dA_prev.shape == A_prev.shape)assert (dW.shape == W.shape)assert (db.shape == b.shape)return dA_prev, dW, db

6.2 線性激活模塊

dZ[l]=dA[l]?g′(Z[l])dZ^{[l]} = dA^{[l]} * g'(Z^{[l]})dZ[l]=dA[l]?g(Z[l])

# GRADED FUNCTION: linear_activation_backwarddef linear_activation_backward(dA, cache, activation):"""Implement the backward propagation for the LINEAR->ACTIVATION layer.Arguments:dA -- post-activation gradient for current layer l cache -- tuple of values (linear_cache, activation_cache) we store for computing backward propagation efficientlyactivation -- the activation to be used in this layer, stored as a text string: "sigmoid" or "relu"Returns:dA_prev -- Gradient of the cost with respect to the activation (of the previous layer l-1), same shape as A_prevdW -- Gradient of the cost with respect to W (current layer l), same shape as Wdb -- Gradient of the cost with respect to b (current layer l), same shape as b"""linear_cache, activation_cache = cacheif activation == "relu":### START CODE HERE ### (≈ 2 lines of code)dZ = relu_backward(dA, activation_cache)dA_prev, dW, db = linear_backward(dZ, linear_cache)### END CODE HERE ###elif activation == "sigmoid":### START CODE HERE ### (≈ 2 lines of code)dZ = sigmoid_backward(dA, activation_cache)dA_prev, dW, db = linear_backward(dZ, linear_cache)### END CODE HERE ###return dA_prev, dW, db

6.3 多層模型


dAL=?np.divide(Y,AL)+np.divide(1?Y,1?AL)dAL = - np.divide(Y, AL) + np.divide(1 - Y, 1 - AL)dAL=?np.divide(Y,AL)+np.divide(1?Y,1?AL)

# GRADED FUNCTION: L_model_backwarddef L_model_backward(AL, Y, caches):"""Implement the backward propagation for the [LINEAR->RELU] * (L-1) -> LINEAR -> SIGMOID groupArguments:AL -- probability vector, output of the forward propagation (L_model_forward())Y -- true "label" vector (containing 0 if non-cat, 1 if cat)caches -- list of caches containing:every cache of linear_activation_forward() with "relu" (it's caches[l], for l in range(L-1) i.e l = 0...L-2)the cache of linear_activation_forward() with "sigmoid" (it's caches[L-1])Returns:grads -- A dictionary with the gradientsgrads["dA" + str(l)] = ... grads["dW" + str(l)] = ...grads["db" + str(l)] = ... """grads = {}L = len(caches) # the number of layersm = AL.shape[1]Y = Y.reshape(AL.shape) # after this line, Y is the same shape as AL# Initializing the backpropagation### START CODE HERE ### (1 line of code)dAL = -np.divide(Y, AL) + np.divide(1-Y, 1-AL)### END CODE HERE #### Lth layer (SIGMOID -> LINEAR) gradients. # Inputs: "AL, Y, caches". # Outputs: "grads["dAL"], grads["dWL"], grads["dbL"]### START CODE HERE ### (approx. 2 lines)current_cache = caches[L-1]grads["dA" + str(L)], grads["dW" + str(L)], grads["db" + str(L)] = linear_activation_backward(dAL, current_cache, 'sigmoid')### END CODE HERE ###for l in reversed(range(L-1)):# lth layer: (RELU -> LINEAR) gradients.# Inputs: "grads["dA" + str(l + 2)], caches". # Outputs: "grads["dA" + str(l + 1)] , grads["dW" + str(l + 1)] , grads["db" + str(l + 1)] ### START CODE HERE ### (approx. 5 lines)current_cache = caches[l]dA_prev_temp, dW_temp, db_temp = linear_activation_backward(grads['dA'+str(l+2)], current_cache, 'relu')grads["dA" + str(l + 1)] = dA_prev_tempgrads["dW" + str(l + 1)] = dW_tempgrads["db" + str(l + 1)] = db_temp### END CODE HERE ###return grads

6.4 梯度下降、更新參數(shù)

W[l]=W[l]?αdW[l]W^{[l]} = W^{[l]} - \alpha \text{ } dW^{[l]}W[l]=W[l]?α?dW[l]
b[l]=b[l]?αdb[l]b^{[l]} = b^{[l]} - \alpha \text{ } db^{[l]}b[l]=b[l]?α?db[l]

# GRADED FUNCTION: update_parametersdef update_parameters(parameters, grads, learning_rate):"""Update parameters using gradient descentArguments:parameters -- python dictionary containing your parameters grads -- python dictionary containing your gradients, output of L_model_backwardReturns:parameters -- python dictionary containing your updated parameters parameters["W" + str(l)] = ... parameters["b" + str(l)] = ..."""L = len(parameters) // 2 # number of layers in the neural network# Update rule for each parameter. Use a for loop.### START CODE HERE ### (≈ 3 lines of code)for l in range(L):parameters["W" + str(l+1)] = parameters['W'+str(l+1)] - learning_rate * grads['dW'+str(l+1)]parameters["b" + str(l+1)] = parameters['b'+str(l+1)] - learning_rate * grads['db'+str(l+1)]### END CODE HERE ###return parameters

作業(yè)2. 深度神經(jīng)網(wǎng)絡(luò)應(yīng)用:圖像分類

使用上面的函數(shù),建立深度神經(jīng)網(wǎng)絡(luò),并對(duì)圖片是不是進(jìn)行預(yù)測(cè)。

1. 導(dǎo)入包

import time import numpy as np import h5py import matplotlib.pyplot as plt import scipy from PIL import Image from scipy import ndimage from dnn_app_utils_v2 import *%matplotlib inline plt.rcParams['figure.figsize'] = (5.0, 4.0) # set default size of plots plt.rcParams['image.interpolation'] = 'nearest' plt.rcParams['image.cmap'] = 'gray'%load_ext autoreload %autoreload 2np.random.seed(1)

2. 數(shù)據(jù)集

01.神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí) W2.神經(jīng)網(wǎng)絡(luò)基礎(chǔ)(作業(yè):邏輯回歸 圖片識(shí)別)

使用 01W2 作業(yè)里面的數(shù)據(jù)集,邏輯回歸的準(zhǔn)確率只有 70%

  • 加載數(shù)據(jù)
train_x_orig, train_y, test_x_orig, test_y, classes = load_data()
  • 查看數(shù)據(jù)
# Example of a picture index = 1 plt.imshow(train_x_orig[index]) print ("y = " + str(train_y[0,index]) + ". It's a " + classes[train_y[0,index]].decode("utf-8") + " picture.")

  • 查看數(shù)據(jù)大小
# Explore your dataset m_train = train_x_orig.shape[0] num_px = train_x_orig.shape[1] m_test = test_x_orig.shape[0]print ("Number of training examples: " + str(m_train)) print ("Number of testing examples: " + str(m_test)) print ("Each image is of size: (" + str(num_px) + ", " + str(num_px) + ", 3)") print ("train_x_orig shape: " + str(train_x_orig.shape)) print ("train_y shape: " + str(train_y.shape)) print ("test_x_orig shape: " + str(test_x_orig.shape)) print ("test_y shape: " + str(test_y.shape)) Number of training examples: 209 Number of testing examples: 50 Each image is of size: (64, 64, 3) train_x_orig shape: (209, 64, 64, 3) train_y shape: (1, 209) test_x_orig shape: (50, 64, 64, 3) test_y shape: (1, 50)
  • 圖片數(shù)據(jù)向量化
# Reshape the training and test examples train_x_flatten = train_x_orig.reshape(train_x_orig.shape[0], -1).T # The "-1" makes reshape flatten the remaining dimensions test_x_flatten = test_x_orig.reshape(test_x_orig.shape[0], -1).T# Standardize data to have feature values between 0 and 1. train_x = train_x_flatten/255. test_x = test_x_flatten/255.print ("train_x's shape: " + str(train_x.shape)) print ("test_x's shape: " + str(test_x.shape)) train_x's shape: (12288, 209) # 12288 = 64 * 64 * 3 test_x's shape: (12288, 50)

3. 建立模型

3.1 兩層神經(jīng)網(wǎng)絡(luò)

3.2 多層神經(jīng)網(wǎng)絡(luò)

3.3 一般步驟

  • 初始化參數(shù) / 定義超參數(shù)
  • n_iters次 迭代循環(huán):
    – a. 正向傳播
    – b. 計(jì)算成本函數(shù)
    – c. 反向傳播
    – d. 更新參數(shù)(使用參數(shù)、梯度)
  • 使用訓(xùn)練好的參數(shù) 預(yù)測(cè)
  • 4. 兩層神經(jīng)網(wǎng)絡(luò)

    • 定義參數(shù)
    ### CONSTANTS DEFINING THE MODEL #### n_x = 12288 # num_px * num_px * 3 n_h = 7 # 隱藏層單元個(gè)數(shù) n_y = 1 layers_dims = (n_x, n_h, n_y)
    • 組件模型
    # GRADED FUNCTION: two_layer_modeldef two_layer_model(X, Y, layers_dims, learning_rate = 0.0075, num_iterations = 3000, print_cost=False):"""Implements a two-layer neural network: LINEAR->RELU->LINEAR->SIGMOID.Arguments:X -- input data, of shape (n_x, number of examples)Y -- true "label" vector (containing 0 if cat, 1 if non-cat), of shape (1, number of examples)layers_dims -- dimensions of the layers (n_x, n_h, n_y)num_iterations -- number of iterations of the optimization looplearning_rate -- learning rate of the gradient descent update ruleprint_cost -- If set to True, this will print the cost every 100 iterations Returns:parameters -- a dictionary containing W1, W2, b1, and b2"""np.random.seed(1)grads = {}costs = [] # to keep track of the costm = X.shape[1] # number of examples(n_x, n_h, n_y) = layers_dims# Initialize parameters dictionary, by calling one of the functions you'd previously implemented### START CODE HERE ### (≈ 1 line of code)parameters = initialize_parameters(n_x, n_h, n_y)### END CODE HERE #### Get W1, b1, W2 and b2 from the dictionary parameters.W1 = parameters["W1"]b1 = parameters["b1"]W2 = parameters["W2"]b2 = parameters["b2"]# Loop (gradient descent)for i in range(0, num_iterations):# Forward propagation: LINEAR -> RELU -> LINEAR -> SIGMOID. # Inputs: "X, W1, b1". # Output: "A1, cache1, A2, cache2".### START CODE HERE ### (≈ 2 lines of code)A1, cache1 = linear_activation_forward(X, W1, b1, 'relu')A2, cache2 = linear_activation_forward(A1, W2, b2, 'sigmoid')### END CODE HERE #### Compute cost### START CODE HERE ### (≈ 1 line of code)cost = compute_cost(A2, Y)### END CODE HERE #### Initializing backward propagationdA2 = - np.divide(Y, A2) + np.divide(1 - Y, 1 - A2)# Backward propagation. # Inputs: "dA2, cache2, cache1". # Outputs: "dA1, dW2, db2; also dA0 (not used), dW1, db1".### START CODE HERE ### (≈ 2 lines of code)dA1, dW2, db2 = linear_activation_backward(dA2, cache2, 'sigmoid')dA0, dW1, db1 = linear_activation_backward(dA1, cache1, 'relu')### END CODE HERE #### Set grads['dWl'] to dW1, grads['db1'] to db1, grads['dW2'] to dW2, grads['db2'] to db2grads['dW1'] = dW1grads['db1'] = db1grads['dW2'] = dW2grads['db2'] = db2# Update parameters.### START CODE HERE ### (approx. 1 line of code)parameters = update_parameters(parameters, grads, learning_rate)### END CODE HERE #### Retrieve W1, b1, W2, b2 from parametersW1 = parameters["W1"]b1 = parameters["b1"]W2 = parameters["W2"]b2 = parameters["b2"]# Print the cost every 100 training exampleif print_cost and i % 100 == 0:print("Cost after iteration {}: {}".format(i, np.squeeze(cost)))if print_cost and i % 100 == 0:costs.append(cost)# plot the costplt.plot(np.squeeze(costs))plt.ylabel('cost')plt.xlabel('iterations (per tens)')plt.title("Learning rate =" + str(learning_rate))plt.show()return parameters
    • 訓(xùn)練
    parameters = two_layer_model(train_x, train_y, layers_dims = (n_x, n_h, n_y), num_iterations = 2500, print_cost=True) Cost after iteration 0: 0.693049735659989 Cost after iteration 100: 0.6464320953428849 Cost after iteration 200: 0.6325140647912678 Cost after iteration 300: 0.6015024920354665 Cost after iteration 400: 0.5601966311605747 Cost after iteration 500: 0.5158304772764729 Cost after iteration 600: 0.4754901313943325 Cost after iteration 700: 0.43391631512257495 Cost after iteration 800: 0.4007977536203887 Cost after iteration 900: 0.35807050113237976 Cost after iteration 1000: 0.33942815383664127 Cost after iteration 1100: 0.30527536361962654 Cost after iteration 1200: 0.2749137728213016 Cost after iteration 1300: 0.24681768210614846 Cost after iteration 1400: 0.19850735037466097 Cost after iteration 1500: 0.17448318112556657 Cost after iteration 1600: 0.1708076297809689 Cost after iteration 1700: 0.11306524562164715 Cost after iteration 1800: 0.09629426845937145 Cost after iteration 1900: 0.08342617959726863 Cost after iteration 2000: 0.07439078704319078 Cost after iteration 2100: 0.06630748132267933 Cost after iteration 2200: 0.0591932950103817 Cost after iteration 2300: 0.05336140348560554 Cost after iteration 2400: 0.04855478562877016

    • 預(yù)測(cè)

    訓(xùn)練集:Accuracy: 0.9999999999999998

    predictions_train = predict(train_x, train_y, parameters) # Accuracy: 0.9999999999999998

    測(cè)試集:Accuracy: 0.72,比之前的邏輯回歸 0.70 好一些

    predictions_test = predict(test_x, test_y, parameters) # Accuracy: 0.72

    5. 多層神經(jīng)網(wǎng)絡(luò)

    • 定義參數(shù),5層 NN
    ### CONSTANTS ### layers_dims = [12288, 20, 7, 5, 1] # 5-layer model
    • 組件模型
    # GRADED FUNCTION: L_layer_modeldef L_layer_model(X, Y, layers_dims, learning_rate = 0.0075, num_iterations = 3000, print_cost=False):#lr was 0.009"""Implements a L-layer neural network: [LINEAR->RELU]*(L-1)->LINEAR->SIGMOID.Arguments:X -- data, numpy array of shape (number of examples, num_px * num_px * 3)Y -- true "label" vector (containing 0 if cat, 1 if non-cat), of shape (1, number of examples)layers_dims -- list containing the input size and each layer size, of length (number of layers + 1).learning_rate -- learning rate of the gradient descent update rulenum_iterations -- number of iterations of the optimization loopprint_cost -- if True, it prints the cost every 100 stepsReturns:parameters -- parameters learnt by the model. They can then be used to predict."""np.random.seed(1)costs = [] # keep track of cost# Parameters initialization.### START CODE HERE ###parameters = initialize_parameters_deep(layers_dims)### END CODE HERE #### Loop (gradient descent)for i in range(0, num_iterations):# Forward propagation: [LINEAR -> RELU]*(L-1) -> LINEAR -> SIGMOID.### START CODE HERE ### (≈ 1 line of code)AL, caches = L_model_forward(X, parameters)### END CODE HERE #### Compute cost.### START CODE HERE ### (≈ 1 line of code)cost = compute_cost(AL, Y)### END CODE HERE #### Backward propagation.### START CODE HERE ### (≈ 1 line of code)grads = L_model_backward(AL, Y, caches)### END CODE HERE #### Update parameters.### START CODE HERE ### (≈ 1 line of code)parameters = update_parameters(parameters, grads, learning_rate)### END CODE HERE #### Print the cost every 100 training exampleif print_cost and i % 100 == 0:print ("Cost after iteration %i: %f" %(i, cost))if print_cost and i % 100 == 0:costs.append(cost)# plot the costplt.plot(np.squeeze(costs))plt.ylabel('cost')plt.xlabel('iterations (per tens)')plt.title("Learning rate =" + str(learning_rate))plt.show()return parameters
    • 訓(xùn)練
    parameters = L_layer_model(train_x, train_y, layers_dims, num_iterations = 2500, print_cost = True) Cost after iteration 0: 0.771749 Cost after iteration 100: 0.672053 Cost after iteration 200: 0.648263 Cost after iteration 300: 0.611507 Cost after iteration 400: 0.567047 Cost after iteration 500: 0.540138 Cost after iteration 600: 0.527930 Cost after iteration 700: 0.465477 Cost after iteration 800: 0.369126 Cost after iteration 900: 0.391747 Cost after iteration 1000: 0.315187 Cost after iteration 1100: 0.272700 Cost after iteration 1200: 0.237419 Cost after iteration 1300: 0.199601 Cost after iteration 1400: 0.189263 Cost after iteration 1500: 0.161189 Cost after iteration 1600: 0.148214 Cost after iteration 1700: 0.137775 Cost after iteration 1800: 0.129740 Cost after iteration 1900: 0.121225 Cost after iteration 2000: 0.113821 Cost after iteration 2100: 0.107839 Cost after iteration 2200: 0.102855 Cost after iteration 2300: 0.100897 Cost after iteration 2400: 0.092878

    • 預(yù)測(cè)

    訓(xùn)練集:Accuracy: 0.9856459330143539

    pred_train = predict(train_x, train_y, parameters) # Accuracy: 0.9856459330143539

    測(cè)試集:Accuracy: 0.8,比邏輯回歸 0.70,兩層NN 0.72 都要好

    pred_test = predict(test_x, test_y, parameters) # Accuracy: 0.8

    下一門課將會(huì)系統(tǒng)的學(xué)習(xí)如何調(diào)參,使得模型的效果更好

    6. 結(jié)果分析

    def print_mislabeled_images(classes, X, y, p):"""Plots images where predictions and truth were different.X -- datasety -- true labelsp -- predictions"""a = p + ymislabeled_indices = np.asarray(np.where(a == 1)) # 0+1, 1+0, wrong caseplt.rcParams['figure.figsize'] = (40.0, 40.0) # set default size of plotsnum_images = len(mislabeled_indices[0])for i in range(num_images):index = mislabeled_indices[1][i]plt.subplot(2, num_images, i + 1)plt.imshow(X[:,index].reshape(64,64,3), interpolation='nearest')plt.axis('off')plt.title("Prediction: " + classes[int(p[0,index])].decode("utf-8") + " \n Class: " + classes[y[0,index]].decode("utf-8"))print_mislabeled_images(classes, test_x, test_y, pred_test)


    錯(cuò)誤特點(diǎn):

    • 貓的身體在一個(gè)不尋常的位置
    • 貓出現(xiàn)在一個(gè)相似顏色的背景下
    • 不常見的貓顏色和種類
    • 照相機(jī)角度
    • 圖片的亮度
    • 大小程度(貓?jiān)趫D像中非常大或很小)

    7. 用自己的圖片測(cè)試

    ## START CODE HERE ## my_image = "my_image.jpg" # change this to the name of your image file my_label_y = [1] # the true class of your image (1 -> cat, 0 -> non-cat) ## END CODE HERE ##fname = "images/" + my_image image = Image.open(fname) my_image = np.array(image.resize((num_px,num_px))).reshape((num_px*num_px*3,1)) my_predicted_image = predict(my_image, my_label_y, parameters)plt.imshow(image) print ("y = " + str(np.squeeze(my_predicted_image)) + ", your L-layer model predicts a \"" + classes[int(np.squeeze(my_predicted_image)),].decode("utf-8") + "\" picture.") Accuracy: 1.0 y = 1.0, your L-layer model predicts a "cat" picture.


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

    長(zhǎng)按或掃碼關(guān)注我的公眾號(hào)(Michael阿明),一起加油、一起學(xué)習(xí)進(jìn)步!

    總結(jié)

    以上是生活随笔為你收集整理的01.神经网络和深度学习 W4.深层神经网络(作业:建立你的深度神经网络+图片猫预测)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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

    久久九九久久九九 | 欧美成a人片在线观看久 | 亚洲成人av电影在线 | 国内免费久久久久久久久久久 | 午夜精品一区二区三区免费 | 天天拍天天草 | av电影在线观看完整版一区二区 | 精品国产区在线 | 免费福利在线观看 | 亚洲天堂色婷婷 | 久久亚洲婷婷 | 亚洲不卡123 | 久久久久免费视频 | www激情久久 | 在线看一区 | 日日夜夜噜 | 免费在线播放 | 国产97色| 欧美精品乱码99久久影院 | 免费看国产精品 | 96av视频 | 成人免费视频网站 | 中文字幕亚洲在线观看 | 日韩久久精品一区二区三区下载 | 精品免费视频. | 一级特黄aaa大片在线观看 | 青青五月天 | 国产成人久久精品 | 免费黄色av. | 日韩电影在线看 | 丁香久久综合 | 国产男女爽爽爽免费视频 | 国产成人在线综合 | 日日操天天爽 | 99精品久久久久久久久久综合 | 日韩高清片 | 97av在线| 成人免费网视频 | www.成人精品| 在线播放视频一区 | 国产福利久久 | 欧美久久久 | 国产小视频国产精品 | 日韩欧美久久 | 91av中文| 天天操天天干天天插 | www久久com| 免费亚洲片 | 国内外成人在线 | 在线观看免费一级片 | 欧美日韩亚洲在线观看 | 日韩视频免费看 | 色偷偷888欧美精品久久久 | 亚洲在线黄色 | 黄色特级毛片 | 亚色视频在线观看 | 三级av在线免费观看 | 手机色站 | 久久久国产精品一区二区三区 | www激情com| 蜜臀久久99静品久久久久久 | 国产精品99视频 | 91视频大全 | 欧美一级电影在线观看 | 亚洲欧洲精品一区 | 六月丁香久久 | 色橹橹欧美在线观看视频高清 | 国产精品福利一区 | 在线免费观看涩涩 | 国产精品密入口果冻 | 亚洲欧美国产精品va在线观看 | 91免费试看 | 欧日韩在线 | 日韩三级中文字幕 | 国语黄色片 | 国产日韩视频在线播放 | 中文字幕激情 | 三三级黄色片之日韩 | 超碰人人乐 | 色免费在线| 免费在线观看日韩视频 | 久久精品7| 免费观看一级视频 | 国产精品久久久久久久久久 | 国产精品一区二区白浆 | 日本美女xx| 高清av中文在线字幕观看1 | www.午夜 | 亚洲欧洲精品在线 | 久久久久欧美精品 | 久久免费视频2 | 中文字幕日韩一区二区三区不卡 | 国产网站在线免费观看 | 欧美成人精品在线 | 国产福利一区在线观看 | 在线视频一二三 | 精品亚洲网 | 黄色影院在线播放 | 麻豆视频免费入口 | 成人毛片在线视频 | 国产麻豆精品传媒av国产下载 | 在线精品观看 | 一级片免费视频 | 国产成人一区二区三区电影 | 麻豆av一区二区三区在线观看 | 日韩欧美在线高清 | 美女久久久久久久 | 国产精品麻豆三级一区视频 | 69热国产视频 | 成人avav| 天天操狠狠操 | 久久免费视频在线观看6 | av在线色| 91亚洲激情| 国产精品成人一区二区 | 国产精品18p| 欧美日韩国产欧美 | 国产婷婷vvvv激情久 | 狠狠色香婷婷久久亚洲精品 | 精品色999 | 久精品视频在线 | 色综合天天色 | 欧美最爽乱淫视频播放 | 97成人在线观看 | 亚洲日本成人 | 欧美另类高清 | 91精品国产一区二区三区 | 麻豆精品在线 | 天天综合网入口 | 最新国产精品拍自在线播放 | 伊人影院av | 在线观看免费一区 | 91视频最新网址 | av噜噜噜在线播放 | 五月婷婷操 | 久久久久久99精品 | 色婷婷狠狠五月综合天色拍 | 国产成人一区二区三区免费看 | 国产老太婆免费交性大片 | 国内少妇自拍视频一区 | 999久久久久久久久6666 | 国产高清在线视频 | 伊人五月在线 | 欧美亚洲国产一卡 | 国产在线色站 | 中文字幕123区 | 5月丁香婷婷综合 | 久章草在线 | 国产精品av一区二区 | 色狠狠久久av五月综合 | 手机在线永久免费观看av片 | 中文字幕2021 | 成人永久在线 | 日韩精品 在线视频 | 日韩免费不卡视频 | 一区二区三区四区五区在线视频 | 久久久亚洲网站 | 激情深爱.com | 国产亚洲综合性久久久影院 | 国产99亚洲 | 国产精品一区久久久久 | 91久久国产露脸精品国产闺蜜 | 久产久精国产品 | 免费精品国产 | 91传媒免费在线观看 | 国产在线高清 | 国产 日韩 欧美 在线 | 三级小视频在线观看 | 成在线播放 | 久久久91精品国产 | 欧美日韩国产二区三区 | 天海翼一区二区三区免费 | 最新久久免费视频 | 黄色毛片在线观看 | 在线观看亚洲精品视频 | 中文字幕免费观看 | a天堂免费 | 久久久久久网址 | 91看片成人| 成年人视频在线免费 | 国产午夜在线观看视频 | 国产精品一区专区欧美日韩 | 欧美成人播放 | 国产视频在线播放 | 波多在线视频 | 亚洲视频免费在线观看 | 欧美日韩在线观看一区二区三区 | 插综合网 | 免费精品在线观看 | 国产一区二区精品 | 免费成人在线网站 | 91精品在线免费 | 中文在线字幕免费观 | 久久综合九色综合欧美就去吻 | 国产综合婷婷 | 色欲综合视频天天天 | 亚洲精品视频在线观看免费视频 | 久久激情视频 久久 | 狠狠躁夜夜a产精品视频 | 婷婷综合在线 | 伊人五月在线 | 超碰97在线看 | 久久久久亚洲精品成人网小说 | 园产精品久久久久久久7电影 | 日韩精选在线 | 99久久精品国产毛片 | 91久久爱热色涩涩 | 国产日韩在线播放 | 亚洲在线黄色 | 欧美一级性生活视频 | 超碰在线日本 | 在线播放av网址 | 蜜臀精品久久久久久蜜臀 | 99精品视频在线观看 | 日韩午夜电影院 | 天天操天天爱天天干 | a级国产乱理论片在线观看 特级毛片在线观看 | 亚洲高清久久久 | 精品在线观看一区二区三区 | 婷婷九月丁香 | 日本精品在线 | 99久久精品国产免费看不卡 | 亚洲精品理论 | 97香蕉久久国产在线观看 | 精品福利在线观看 | 午夜免费视频网站 | 亚洲激情六月 | 婷婷夜夜 | 国产精品嫩草影视久久久 | 久久成年人网站 | 韩国av免费观看 | 国产精品18毛片一区二区 | 日韩av视屏 | 欧美日韩电影在线播放 | 999在线视频 | 四虎在线视频 | 国产精彩视频 | 91麻豆高清视频 | 一区二区三区av在线 | 天天摸夜夜操 | 免费看片亚洲 | 国产精品午夜久久久久久99热 | 免费观看一级成人毛片 | 在线观看黄网 | 特片网久久| 99精品在线观看 | 99超碰在线播放 | 激情影音 | 天堂在线视频免费观看 | av线上看| 国产成人av电影在线 | 成人小视频在线观看免费 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 在线成人一区 | 天天干天天操天天干 | 粉嫩av一区二区三区四区 | 成年人视频在线免费播放 | 色综合久久99 | 99视频在线观看视频 | 久久免费的视频 | 欧美 日韩 国产 成人 在线 | 国内精品久久久久影院一蜜桃 | 欧美电影在线观看 | www.夜夜骑.com | 国产91探花| 91亚·色| 91av在线国产 | 99久久国产免费看 | 亚洲成aⅴ人在线观看 | 久久久人人人 | 天天曰天天爽 | 黄色av电影在线观看 | 91成人精品视频 | 欧美一区二区三区在线 | 亚洲高清久久久 | 天天操天天草 | 97国产在线 | 国产在线999 | 色.com| 久久99精品久久久久久清纯直播 | 亚洲精品乱码久久久久久写真 | 在线日韩| 天堂成人在线 | 日韩激情影院 | 伊人婷婷色 | 免费在线观看黄网站 | 五月天久久综合网 | 91插插插免费视频 | 黄色av电影一级片 | 亚洲精品婷婷 | 在线观看精品 | 免费av小说 | 午夜精品久久久久久久久久久久久久 | www婷婷 | 91在线播放国产 | 久久免费视频一区 | 日韩av成人免费看 | 日韩欧美在线综合网 | 国产精品美女999 | 日韩手机在线 | 岛国av在线免费 | 免费看片网址 | 精品二区视频 | 欧美一级高清片 | 国产露脸91国语对白 | 黄色在线观看免费 | 成人小视频在线播放 | 亚洲最大av网| 狠狠躁夜夜躁人人爽超碰97香蕉 | 亚洲激情在线 | 在线免费观看羞羞视频 | 日本久久综合视频 | 在线观看国产日韩欧美 | 激情五月网站 | 韩日精品中文字幕 | 日韩| 亚洲欧美视频网站 | 日韩亚洲欧美中文字幕 | 久久久资源网 | 日本中文字幕在线播放 | 免费观看的黄色 | 黄色av成人在线 | 国内精品久久久久影院一蜜桃 | 欧美日性视频 | 深夜免费福利视频 | 国产在线色站 | 午夜精品99久久免费 | 色狠狠综合| 81精品国产乱码久久久久久 | 免费视频久久久久久久 | 欧美精品第一 | 国产精品一区在线播放 | 91亚洲激情| 天天干,天天射,天天操,天天摸 | 在线视频 日韩 | 国产福利一区在线观看 | 午夜私人影院久久久久 | 激情丁香久久 | av大片免费看 | 日本视频精品 | 欧美韩日精品 | 日韩av女优视频 | 色多视频在线观看 | 亚洲男男gⅴgay双龙 | 免费三级大片 | 中文字幕影片免费在线观看 | 日韩精品中文字幕一区二区 | 色婷婷六月天 | 色小说在线 | 国产精品嫩草影院99网站 | 色天天综合网 | www.操.com| 亚洲日韩欧美视频 | 欧美日韩国产一区 | 免费久久精品视频 | 日韩免费在线视频观看 | 亚洲人人av | 人人狠狠| 91视频黄色| 天堂在线视频中文网 | 玖玖精品在线 | 日本超碰在线 | 中文字幕一区二区三区在线观看 | 亚洲激情综合 | 在线电影日韩 | www国产亚洲精品久久网站 | 国产午夜精品一区二区三区嫩草 | 欧美综合久久久 | 久久久国产网站 | 日韩激情视频 | 日韩精品中文字幕在线播放 | 中文字幕在线播放av | 九九综合久久 | 九九色在线观看 | 99久久精品国产一区二区成人 | 久久亚洲综合色 | 亚洲精品在线观看免费 | 亚洲专区在线播放 | 四虎在线免费视频 | 亚洲精品乱码久久久久久高潮 | 成 人 黄 色视频免费播放 | 九九免费在线观看视频 | 又黄又爽又无遮挡免费的网站 | 国产99久久精品 | 亚洲九九九在线观看 | 日日干日日色 | 国产精品亚 | 国产精品中文字幕在线观看 | 福利二区视频 | 女人18片毛片90分钟 | 91av在线看 | 97涩涩视频 | 手机看片久久 | 中文在线a√在线 | 国产麻豆精品一区 | 色久av| 国产精品成人一区二区三区吃奶 | 色综合天天综合在线视频 | 狠狠的操你 | 草久久久久久久 | 久久久精品国产一区二区电影四季 | 久久99精品波多结衣一区 | 久精品在线观看 | 中文字幕无吗 | 国产91精品看黄网站在线观看动漫 | 成人久久久久久久久久 | 亚洲视频 中文字幕 | 亚洲另类人人澡 | av在线免费观看网站 | 久久精品波多野结衣 | 国产精品美女久久久久久 | 91在线91拍拍在线91 | 欧美精品黑人性xxxx | 日批视频在线 | 久久精品人人做人人综合老师 | 色999五月色 | 91在线一区二区 | 国产自在线 | 中文字幕在线播放日韩 | 五月婷婷黄色 | 亚洲国产精品电影在线观看 | 天天操天天操天天干 | 91视频免费看片 | 久草在线这里只有精品 | 亚洲免费视频在线观看 | 久久视频在线观看 | 日韩欧美一区视频 | 九九久久电影 | 九九在线高清精品视频 | 中文字幕视频三区 | 在线中文字幕网站 | 中文亚洲欧美日韩 | 九九热国产视频 | 在线视频你懂得 | 玖玖玖在线 | 又黄又爽免费视频 | 手机av看片 | 99视频免费在线观看 | 国产精品 日韩精品 | 五月综合婷 | 在线观看国产一区二区 | 国产成人在线免费观看 | 午夜国产福利视频 | 91精品毛片| 国产欧美精品xxxx另类 | 国产精品久久久久久久久久久久冷 | 亚洲国产免费看 | 在线之家免费在线观看电影 | 91大神免费视频 | 亚洲人成在线观看 | 中文字幕在线看 | 国产一二三在线视频 | 午夜体验区 | 五月天网站在线 | 免费日韩一区 | 国产第页 | 六月天综合网 | 色视频网站在线观看一=区 a视频免费在线观看 | 麻豆免费在线视频 | 插久久 | 色婷婷www | 韩国av电影网 | 四虎成人精品 | 91禁看片 | v片在线看 | 天天操天天舔天天干 | 日日干,天天干 | 97在线精品视频 | 国产69久久精品成人看 | 国产又粗又硬又爽视频 | 久久午夜视频 | 97人人网 | 欧美成年人在线观看 | 久久久久久久久久久国产精品 | 亚洲 综合 国产 精品 | 久久久久久久久久久久久9999 | 中文字幕在线播放日韩 | 国产在线观看免费观看 | 最近日本韩国中文字幕 | 九月婷婷色 | 欧美黑吊大战白妞欧美 | 亚洲精品国产精品久久99热 | 香蕉视频国产在线观看 | www178ccom视频在线 | 狠狠躁日日躁狂躁夜夜躁 | 欧美性色黄| 国产精品成人a免费观看 | 国产一区二区三区四区大秀 | 91精品国自产在线观看欧美 | 手机色站 | 精品一区二区av | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 日本丶国产丶欧美色综合 | 亚洲欧洲美洲av | 在线日本看片免费人成视久网 | 亚洲一区二区视频 | 特级西西444www高清大视频 | 精品国产区在线 | 亚洲精品在线视频网站 | 亚洲天堂精品 | 97中文字幕| 天天射天天拍 | 久久国产高清视频 | 激情视频一区二区三区 | 亚洲日韩中文字幕在线播放 | 日韩免费在线一区 | 国产精品短视频 | 99视频久 | 久久五月婷婷丁香 | 免费一级特黄毛大片 | 美女久久网站 | 探花视频在线版播放免费观看 | 国产 欧美 日本 | 国产99中文字幕 | 久草在线手机视频 | 久久尤物电影视频在线观看 | 99精品国产在热久久下载 | 免费看三级网站 | 伊人亚洲综合网 | 国产日韩欧美在线 | 夜夜骑日日操 | 国产伦精品一区二区三区无广告 | 中文字幕视频播放 | 97超碰人人澡人人爱 | 日韩久久精品一区二区 | 国产精品ⅴa有声小说 | 在线免费中文字幕 | 日韩高清二区 | 欧美日韩国产精品一区 | 欧美精品v国产精品 | 国产精品免费不卡 | 国产成人精品一区二区三区在线观看 | 国产视频在线免费观看 | 97人人射 | 正在播放国产一区 | 久久久免费精品国产一区二区 | 午夜美女网站 | 美女福利视频一区二区 | 日韩高清av在线 | 亚洲伦理一区二区 | 国产麻豆精品传媒av国产下载 | 国产高清第一页 | 激情在线网址 | 婷婷在线播放 | 人人爽人人爽人人爽人人爽 | 久久人人爽人人爽人人片av免费 | 日韩理论片 | jizz欧美性9| 国产在线观看你懂的 | 中文字幕一区二区三区久久 | 狠狠干成人| 成人性生交大片免费观看网站 | 久久成人资源 | 久久久久久久精 | 久久婷婷网 | www.天天色.com| 国内精品视频一区二区三区八戒 | 国产精品一区二区免费在线观看 | 成年人在线免费看 | 2019免费中文字幕 | 91丨九色丨国产在线 | 在线之家免费在线观看电影 | 免费观看国产成人 | 成人va天堂 | 欧美激情视频一区二区三区免费 | 欧美有色 | av不卡在线看 | 国产一级做a爱片久久毛片a | 日本爽妇网 | 中文字幕最新精品 | 久久久99国产精品免费 | 国产精品18久久久久久久久久久久 | 国产精品久久久av | 中文字幕在线观看免费高清完整版 | 成人高清av在线 | 久久精品国产一区二区电影 | 亚洲 欧洲 国产 日本 综合 | 色偷偷88欧美精品久久久 | 天天综合婷婷 | 免费不卡中文字幕视频 | 久久精品亚洲一区二区三区观看模式 | 黄色大片免费播放 | 97视频免费| 天天操天天干天天 | www.91成人| 69视频网站 | 日韩成年视频 | www色综合 | 91片在线观看 | 国产淫片 | 国产黄色一级片在线 | 日韩电影在线观看一区 | 国产精品密入口果冻 | 久久国产精品第一页 | 日韩精品第1页 | 久久综合九色综合欧美就去吻 | 黄色在线看网站 | 久久激情婷婷 | 欧美日本三级 | 深爱五月激情五月 | 久久69精品 | 日本在线中文在线 | 日本久久久久久久久久 | 亚洲国产精品一区二区久久,亚洲午夜 | 免费看国产精品 | 国产一区二区在线观看免费 | 九九热re | 国产成人精品久 | 手机看片国产 | 国产精品高潮呻吟久久久久 | 91精品国产高清自在线观看 | 国产精品欧美激情在线观看 | 国产午夜一区二区 | 国产精品一区二区免费看 | 国产综合精品久久 | 久久 在线 | 日日弄天天弄美女bbbb | 亚洲国产精品日韩 | 国产在线一区二区三区播放 | 亚洲毛片久久 | 午夜视频在线观看一区二区三区 | 亚洲精品乱码久久 | 久久精品波多野结衣 | 色噜噜日韩精品一区二区三区视频 | 日韩高清在线观看 | 91午夜精品 | 综合网欧美 | 99免费看片 | 久久一区二区免费视频 | 五月婷婷六月综合 | 96av在线| 国产成人综合在线观看 | 欧美韩国日本在线 | 在线视频观看成人 | 99热国产在线 | 最新国产精品拍自在线播放 | 国产亚洲精品久久久久久移动网络 | 色.www| 欧美日韩一区二区在线观看 | 四虎成人精品永久免费av | 欧美激情综合色 | 国产只有精品 | 久久国产精品久久w女人spa | 91完整版 | 91九色视频在线观看 | 日韩精品视频一二三 | 狠狠狠色丁香综合久久天下网 | 日韩一级黄色片 | 国产色女 | 五月天欧美精品 | 福利网址在线观看 | 国产精品毛片久久久久久久久久99999999 | 一区 二区 精品 | 国产麻豆精品久久一二三 | 日韩精品一区二区三区丰满 | 美女精品 | 成年人免费在线观看网站 | 992tv在线观看网站 | 久久精品老司机 | 国产精品久久久久av免费 | 91高清视频在线 | 亚洲黄色影院 | 国产 日韩 在线 亚洲 字幕 中文 | 亚洲精品免费在线播放 | 超碰国产97 | 日本黄色免费网站 | 国产欧美最新羞羞视频在线观看 | 色婷婷亚洲精品 | 亚洲精品视频大全 | 久久精品视频国产 | 国产亚洲一级高清 | 激情久久网 | 不卡av在线 | 成人在线观看资源 | 国产成人一区二区啪在线观看 | 国产午夜在线 | 亚洲女人天堂成人av在线 | 国产精品成人a免费观看 | 大胆欧美gogo免费视频一二区 | 夜夜爽88888免费视频4848 | 日日夜夜精品免费观看 | 国产一级视频在线观看 | 成 人 黄 色 视频 免费观看 | 久久久精品久久日韩一区综合 | av看片网 | 日本黄色免费网站 | 精品国产视频一区 | 欧美日本一区 | 亚洲欧美国产精品18p | 亚洲激情在线播放 | 五月婷丁香网 | 成人国产精品久久久久久亚洲 | 黄色国产成人 | 国内精品美女在线观看 | 热久久视久久精品18亚洲精品 | 91在线最新 | 五月婷婷欧美视频 | 成片视频在线观看 | 国产自产高清不卡 | 国产99久久久国产精品免费二区 | www.国产在线 | 日韩美女一级片 | 色婷婷狠狠操 | 日本女人在线观看 | 亚洲综合成人专区片 | 日本韩国欧美在线观看 | 国产精品免费视频一区二区 | 欧美精品中文在线免费观看 | 日韩色区| 麻豆影视在线观看 | 日韩精品2区 | 久久资源总站 | 黄色av一级 | 日韩二区三区 | 日本韩国精品一区二区在线观看 | 久久精品国产99国产 | 97视频免费播放 | 国产成人精品一区二区在线观看 | 久久久久久久久久久免费av | 蜜桃久久久 | 人人爱人人做人人爽 | 亚洲综合视频在线 | 欧美日韩国产一区二 | 91精品高清| 国产三级精品在线 | 亚洲一区二区天堂 | 91福利视频免费观看 | 亚洲综合视频在线 | 六月天色婷婷 | 久久久久久毛片 | 很黄很黄的网站免费的 | 国产精品video爽爽爽爽 | 欧美污网站 | 免费av视屏 | 国内精品久久久久久久久 | 久久精品久久精品久久精品 | 伊人狠狠色| 日韩在线第一 | 色婷婷综合视频在线观看 | 中文在线字幕观看电影 | 国产亚洲视频在线免费观看 | 久av电影 | 九九久久免费视频 | 99热官网 | 欧美日韩国产精品一区 | 国产永久免费观看 | 日本三级在线观看中文字 | 精品国产一区二区三区久久久 | 96亚洲精品久久久蜜桃 | 狠狠狠狠狠狠狠 | 91麻豆免费视频 | 一区二区三区四区在线免费观看 | 中文字幕文字幕一区二区 | 久久免费高清 | 91中文在线视频 | 亚洲在线日韩 | 免费在线观看午夜视频 | 亚洲色综合| 久草视频手机在线 | 色视频国产直接看 | 蜜臀aⅴ国产精品久久久国产 | 色噜噜狠狠狠狠色综合久不 | 欧美另类交在线观看 | 国产91学生粉嫩喷水 | 国产成人a亚洲精品 | 国产亚洲精品女人久久久久久 | 欧美另类高潮 | 日本系列中文字幕 | 国产成人精品国内自产拍免费看 | 黄色av在 | 永久黄网站色视频免费观看w | 国产精品成人久久久 | 国产96精品 | 热久精品 | 96av视频 | 久久玖| 亚洲伊人成综合网 | 久久久国产影院 | www.大网伊人| 中文字幕一区二区三区久久蜜桃 | 成人黄色电影免费观看 | 中文字幕国语官网在线视频 | 精品免费国产一区二区三区四区 | 免费裸体视频网 | 久操中文字幕在线观看 | av在线观 | 免费观看版 | 亚洲精品1234区 | 色婷婷在线观看视频 | 又大又硬又黄又爽视频在线观看 | 欧美人人 | 国产99色 | 日韩成人精品一区二区三区 | 免费观看国产视频 | 国产高清免费在线观看 | 精品视频在线免费 | 亚洲三级av| 在线观看中文字幕亚洲 | 欧美成人黄色片 | 日本午夜在线亚洲.国产 | 国产在线免费观看 | 欧美性受极品xxxx喷水 | 日韩中文字幕一区 | 久久高清免费视频 | 欧美日韩一区二区三区在线观看视频 | 亚洲专区视频在线观看 | 在线91观看 | 国产欧美最新羞羞视频在线观看 | 午夜婷婷在线播放 | 国产日韩欧美网站 | 中文一区在线观看 | 超碰在线公开 | 久草视频手机在线 | 精品在线一区二区三区 | 国产精品视频免费在线观看 | 久草久草视频 | 一 级 黄 色 片免费看的 | 蜜桃av久久久亚洲精品 | 少妇bbbb搡bbbb搡bbbb | 911国产 | www.久久视频| 色香蕉在线 | 92精品国产成人观看免费 | 男女拍拍免费视频 | 欧美 激情 国产 91 在线 | 精品免费99久久 | 亚洲国产欧美在线人成大黄瓜 | 欧美一区二区精美视频 | 国产中文字幕亚洲 | 激情婷婷| 免费a网站| 日韩精品一区二区三区高清免费 | 亚洲成人在线免费 | 久久久999免费视频 日韩网站在线 | 九九久久精品 | 欧美一区二区三区在线看 | 国产精品一区一区三区 | 99资源网 | 91九色视频在线观看 | 中文超碰字幕 | 欧美日韩高清一区 | www.久久99 | 麻豆视频国产精品 | 亚洲激情一区二区三区 | 日韩专区在线 | 中文字幕av在线不卡 | 97国产电影| 国产高清精品在线观看 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 97精品国产91久久久久久久 | 亚洲高清av | 亚洲最新av | 免费视频网 | 91成人网页版 | 国产精品久久久久久久久久免费看 | 青青草国产精品 | 91九色在线观看视频 | 人人要人人澡人人爽人人dvd | 91麻豆免费版 | 国产精品黄色 | 亚洲精品五月 | 日韩艹| 久久国色夜色精品国产 | 91免费看片黄 | 麻豆久久一区二区 | 日韩中文字幕视频在线 | 欧美亚洲精品在线观看 | 色综合天天色 | 国产午夜精品一区二区三区嫩草 | 中文字幕 婷婷 | 成人一区二区在线 | 最近在线中文字幕 | 日韩欧美99 | 久久社区视频 | 国产精品一区二区久久 | 免费看黄20分钟 | 国产精品a成v人在线播放 | 欧美日韩视频观看 | 日韩av片无码一区二区不卡电影 | 精品久久免费看 | 日韩黄色网络 | 欧美99精品 | 久久久久久久久久久久影院 | 国产不卡毛片 | 亚洲最大在线视频 | av在线影视| 91在线观看高清 | 中文字幕一区av | 国产免费一区二区三区网站免费 | 97人人人人 | 麻豆视频在线播放 | 久久激情小视频 | 69绿帽绿奴3pvideos | 国产成人精品在线观看 | 成人av电影在线观看 | 久久成人精品电影 | 夜色资源站国产www在线视频 | 天堂在线一区 | 贫乳av女优大全 | 国产 一区二区三区 在线 | 久久综合精品国产一区二区三区 | 日韩理论在线观看 | 久久成人久久 | 日韩影视大全 | 成人av在线影院 | 97色婷婷| 亚洲精品午夜久久久久久久 | 一区二区三区福利 | 亚洲无吗av | 99精品国产一区二区 | 免费看成年人 | 青青草国产在线 | 久久精品国产亚洲aⅴ | 九色福利视频 | 午夜精品久久久久99热app | 欧美成人精品在线 | 久久一线 | 久草在线视频首页 | 精品一区二区免费在线观看 | 天天操夜夜逼 | 91超级碰碰 | 97超碰人人 | 日韩精品视频在线观看免费 | 最新av网站在线观看 | 精品视频123区在线观看 | 亚洲成人资源 | 国产精品伦一区二区三区视频 | 精品高清美女精品国产区 | 久久,天天综合 | 成人国产精品久久久 | 正在播放五月婷婷狠狠干 | 在线不卡视频 | 麻豆传媒电影在线观看 | 中文字幕在线一二 | 日韩欧美一区二区三区在线 | 91精品视频在线看 | 国产精品99久久久久的智能播放 | 97高清视频 | 成人欧美亚洲 | 国产精品亚洲片在线播放 | 99久久这里有精品 | 91成人免费视频 | 成人在线你懂得 | 欧美日韩高清不卡 | 国产天天综合 | 天天操婷婷 | 五月视频 | 久久国产三级 | 国产精品嫩草影院123 | 麻豆91网站| 欧美日本不卡 | 五月天堂色 | 亚洲aⅴ乱码精品成人区 | 粉嫩av一区二区三区四区在线观看 | 亚洲视频1| 久久免费久久 | 日本三级不卡 | 久久在线免费观看 | 色91在线视频 | 手机成人在线 | 精品久久久久免费极品大片 | 国产视频中文字幕在线观看 | 免费在线观看一区 | 一区二区三区在线观看中文字幕 | 在线激情网 | 日韩精品一区二区三区中文字幕 | 欧美视屏一区二区 | 91免费国产在线观看 | 久艹在线播放 | 99久久精品免费视频 | 精品中文字幕在线观看 | 黄色一级大片在线免费看国产一 | 国产剧情在线一区 | 欧美午夜性生活 | 亚洲成人动漫在线观看 | 国产成人精品一区在线 | 天天操天天透 | 性日韩欧美在线视频 | 麻花天美星空视频 | 狠狠色丁香九九婷婷综合五月 | 久久成年人视频 | 午夜精品一区二区三区免费 | 欧美精品中文在线免费观看 | 99视频在线精品免费观看2 | 国产精品美女www爽爽爽视频 | 国产精品免费人成网站 | 91亚洲欧美激情 | 一级黄色片在线 | 97在线精品国自产拍中文 | 亚洲免费一级电影 | 欧美亚洲国产日韩 | 日本巨乳在线 | 国产亚洲高清视频 | 国产精彩视频一区 | 西西大胆啪啪 | 国产淫片免费看 | 日韩午夜av电影 | 免费看国产一级片 |