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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

吴恩达深度学习课程deeplearning.ai课程作业:Class 2 Week 1 3.Gradient Checking

發(fā)布時間:2025/3/21 pytorch 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 吴恩达深度学习课程deeplearning.ai课程作业:Class 2 Week 1 3.Gradient Checking 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

吳恩達deeplearning.ai課程作業(yè),自己寫的答案。
補充說明:
1. 評論中總有人問為什么直接復制這些notebook運行不了?請不要直接復制粘貼,不可能運行通過的,這個只是notebook中我們要自己寫的那部分,要正確運行還需要其他py文件,請自己到GitHub上下載完整的。這里的部分僅僅是參考用的,建議還是自己按照提示一點一點寫,如果實在卡住了再看答案。個人覺得這樣才是正確的學習方法,況且作業(yè)也不算難。
2. 關于評論中有人說我是抄襲,注釋還沒別人詳細,復制下來還運行不過。答復是:做伸手黨之前,請先搞清這個作業(yè)是干什么的。大家都是從GitHub上下載原始的作業(yè),然后根據(jù)代碼前面的提示(通常會指定函數(shù)和公式)來編寫代碼,而且后面還有expected output供你比對,如果程序正確,結果一般來說是一樣的。請不要無腦噴,說什么跟別人的答案一樣的。說到底,我們要做的就是,看他的文字部分,根據(jù)提示在代碼中加入部分自己的代碼。我們自己要寫的部分只有那么一小部分代碼。
3. 由于實在很反感無腦噴子,故禁止了下面的評論功能,請見諒。如果有問題,請私信我,在力所能及的范圍內(nèi)會盡量幫忙。

Gradient Checking

Welcome to the final assignment for this week! In this assignment you will learn to implement and use gradient checking.

You are part of a team working to make mobile payments available globally, and are asked to build a deep learning model to detect fraud–whenever someone makes a payment, you want to see if the payment might be fraudulent, such as if the user’s account has been taken over by a hacker.

But backpropagation is quite challenging to implement, and sometimes has bugs. Because this is a mission-critical application, your company’s CEO wants to be really certain that your implementation of backpropagation is correct. Your CEO says, “Give me a proof that your backpropagation is actually working!” To give this reassurance, you are going to use “gradient checking”.

Let’s do it!

# Packages import numpy as np from testCases import * from gc_utils import sigmoid, relu, dictionary_to_vector, vector_to_dictionary, gradients_to_vector

1) How does gradient checking work?

Backpropagation computes the gradients ?J?θ?J?θ, where θθ denotes the parameters of the model. JJ is computed using forward propagation and your loss function.

Because forward propagation is relatively easy to implement, you’re confident you got that right, and so you’re almost 100% sure that you’re computing the cost JJ correctly. Thus, you can use your code for computing JJ to verify the code for computing ?J?θ?J?θ.

Let’s look back at the definition of a derivative (or gradient):

?J?θ=limε0J(θ+ε)?J(θ?ε)2ε(1)(1)?J?θ=limε→0J(θ+ε)?J(θ?ε)2ε

If you’re not familiar with the “limε0limε→0” notation, it’s just a way of saying “when εε is really really small.”

We know the following:

  • ?J?θ?J?θ is what you want to make sure you’re computing correctly.
  • You can compute J(θ+ε)J(θ+ε) and J(θ?ε)J(θ?ε) (in the case that θθ is a real number), since you’re confident your implementation for JJ is correct.

Lets use equation (1) and a small value for εε to convince your CEO that your code for computing ?J?θ?J?θ is correct!

2) 1-dimensional gradient checking

Consider a 1D linear function J(θ)=θxJ(θ)=θx. The model contains only a single real-valued parameter θθ, and takes xx as input.

You will implement code to compute J(.)J(.) and its derivative ?J?θ?J?θ. You will then use gradient checking to make sure your derivative computation for JJ is correct.


Figure 1 : 1D linear model

The diagram above shows the key computation steps: First start with xx, then evaluate the function J(x)J(x) (“forward propagation”). Then compute the derivative ?J?θ?J?θ (“backward propagation”).

Exercise: implement “forward propagation” and “backward propagation” for this simple function. I.e., compute both J(.)J(.) (“forward propagation”) and its derivative with respect to θθ (“backward propagation”), in two separate functions.

# GRADED FUNCTION: forward_propagationdef forward_propagation(x, theta):"""Implement the linear forward propagation (compute J) presented in Figure 1 (J(theta) = theta * x)Arguments:x -- a real-valued inputtheta -- our parameter, a real number as wellReturns:J -- the value of function J, computed using the formula J(theta) = theta * x"""### START CODE HERE ### (approx. 1 line)J = x * theta### END CODE HERE ###return J x, theta = 2, 4 J = forward_propagation(x, theta) print ("J = " + str(J)) J = 8

Expected Output:

# GRADED FUNCTION: backward_propagationdef backward_propagation(x, theta):"""Computes the derivative of J with respect to theta (see Figure 1).Arguments:x -- a real-valued inputtheta -- our parameter, a real number as wellReturns:dtheta -- the gradient of the cost with respect to theta"""### START CODE HERE ### (approx. 1 line)dtheta = x### END CODE HERE ###return dtheta x, theta = 2, 4 dtheta = backward_propagation(x, theta) print ("dtheta = " + str(dtheta)) dtheta = 2

Expected Output:

dtheta 2

Exercise: To show that the backward_propagation() function is correctly computing the gradient ?J?θ?J?θ, let’s implement gradient checking.

Instructions:
- First compute “gradapprox” using the formula above (1) and a small value of εε. Here are the Steps to follow:
1. θ+=θ+εθ+=θ+ε
2. θ?=θ?εθ?=θ?ε
3. J+=J(θ+)J+=J(θ+)
4. J?=J(θ?)J?=J(θ?)
5. gradapprox=J+?J?2εgradapprox=J+?J?2ε
- Then compute the gradient using backward propagation, and store the result in a variable “grad”
- Finally, compute the relative difference between “gradapprox” and the “grad” using the following formula:

difference=grad?gradapprox2grad2+gradapprox2(2)(2)difference=∣∣grad?gradapprox∣∣2∣∣grad∣∣2+∣∣gradapprox∣∣2
You will need 3 Steps to compute this formula:
- 1’. compute the numerator using np.linalg.norm(…)
- 2’. compute the denominator. You will need to call np.linalg.norm(…) twice.
- 3’. divide them.
- If this difference is small (say less than 10?710?7), you can be quite confident that you have computed your gradient correctly. Otherwise, there may be a mistake in the gradient computation.

# GRADED FUNCTION: gradient_checkdef gradient_check(x, theta, epsilon = 1e-7):"""Implement the backward propagation presented in Figure 1.Arguments:x -- a real-valued inputtheta -- our parameter, a real number as wellepsilon -- tiny shift to the input to compute approximated gradient with formula(1)Returns:difference -- difference (2) between the approximated gradient and the backward propagation gradient"""# Compute gradapprox using left side of formula (1). epsilon is small enough, you don't need to worry about the limit.### START CODE HERE ### (approx. 5 lines)thetaplus = theta + epsilon # Step 1thetaminus = theta - epsilon # Step 2J_plus = forward_propagation(x, thetaplus) # Step 3J_minus = forward_propagation(x, thetaminus) # Step 4gradapprox = (J_plus - J_minus) / (2 * epsilon) # Step 5### END CODE HERE #### Check if gradapprox is close enough to the output of backward_propagation()### START CODE HERE ### (approx. 1 line)grad = backward_propagation(x, theta)### END CODE HERE ###### START CODE HERE ### (approx. 1 line) # print(grad) # print(gradapprox)numerator = np.linalg.norm(grad-gradapprox) # Step 1'denominator = np.linalg.norm(grad) + np.linalg.norm(gradapprox) # Step 2'difference = numerator / denominator # Step 3'### END CODE HERE ###if difference < 1e-7:print ("The gradient is correct!")else:print ("The gradient is wrong!")return difference x, theta = 2, 4 difference = gradient_check(x, theta) print("difference = " + str(difference)) The gradient is correct! difference = 2.91933588329e-10

Expected Output:
The gradient is correct!

difference 2.9193358103083e-10

Congrats, the difference is smaller than the 10?710?7 threshold. So you can have high confidence that you’ve correctly computed the gradient in backward_propagation().

Now, in the more general case, your cost function JJ has more than a single 1D input. When you are training a neural network, θθ actually consists of multiple matrices W[l]W[l] and biases b[l]b[l]! It is important to know how to do a gradient check with higher-dimensional inputs. Let’s do it!

3) N-dimensional gradient checking

The following figure describes the forward and backward propagation of your fraud detection model.

Figure 2 : deep neural network
LINEAR -> RELU -> LINEAR -> RELU -> LINEAR -> SIGMOID

Let’s look at your implementations for forward propagation and backward propagation.

def forward_propagation_n(X, Y, parameters):"""Implements the forward propagation (and computes the cost) presented in Figure 3.Arguments:X -- training set for m examplesY -- labels for m examples parameters -- python dictionary containing your parameters "W1", "b1", "W2", "b2", "W3", "b3":W1 -- weight matrix of shape (5, 4)b1 -- bias vector of shape (5, 1)W2 -- weight matrix of shape (3, 5)b2 -- bias vector of shape (3, 1)W3 -- weight matrix of shape (1, 3)b3 -- bias vector of shape (1, 1)Returns:cost -- the cost function (logistic cost for one example)"""# retrieve parametersm = X.shape[1]W1 = parameters["W1"]b1 = parameters["b1"]W2 = parameters["W2"]b2 = parameters["b2"]W3 = parameters["W3"]b3 = parameters["b3"]# LINEAR -> RELU -> LINEAR -> RELU -> LINEAR -> SIGMOIDZ1 = np.dot(W1, X) + b1A1 = relu(Z1)Z2 = np.dot(W2, A1) + b2A2 = relu(Z2)Z3 = np.dot(W3, A2) + b3A3 = sigmoid(Z3)# Costlogprobs = np.multiply(-np.log(A3),Y) + np.multiply(-np.log(1 - A3), 1 - Y)cost = 1./m * np.sum(logprobs)cache = (Z1, A1, W1, b1, Z2, A2, W2, b2, Z3, A3, W3, b3)return cost, cache

Now, run backward propagation.

def backward_propagation_n(X, Y, cache):"""Implement the backward propagation presented in figure 2.Arguments:X -- input datapoint, of shape (input size, 1)Y -- true "label"cache -- cache output from forward_propagation_n()Returns:gradients -- A dictionary with the gradients of the cost with respect to each parameter, activation and pre-activation variables."""m = X.shape[1](Z1, A1, W1, b1, Z2, A2, W2, b2, Z3, A3, W3, b3) = cachedZ3 = A3 - YdW3 = 1./m * np.dot(dZ3, A2.T)db3 = 1./m * np.sum(dZ3, axis=1, keepdims = True)dA2 = np.dot(W3.T, dZ3)dZ2 = np.multiply(dA2, np.int64(A2 > 0))# 這里是故意使用一個錯誤的形式來驗證gradient_check是否正常工作dW2 = 1./m * np.dot(dZ2, A1.T) * 2# 正確的形式,最后再修改的 # dW2 = 1./m * np.dot(dZ2, A1.T)db2 = 1./m * np.sum(dZ2, axis=1, keepdims = True)dA1 = np.dot(W2.T, dZ2)dZ1 = np.multiply(dA1, np.int64(A1 > 0))dW1 = 1./m * np.dot(dZ1, X.T)# 這里是故意使用一個錯誤的形式來驗證gradient_check是否正常工作db1 = 4./m * np.sum(dZ1, axis=1, keepdims = True)# 正確的形式,最后再修改的 # db1 = 1./m * np.sum(dZ1, axis=1, keepdims = True)gradients = {"dZ3": dZ3, "dW3": dW3, "db3": db3,"dA2": dA2, "dZ2": dZ2, "dW2": dW2, "db2": db2,"dA1": dA1, "dZ1": dZ1, "dW1": dW1, "db1": db1}return gradients

You obtained some results on the fraud detection test set but you are not 100% sure of your model. Nobody’s perfect! Let’s implement gradient checking to verify if your gradients are correct.

How does gradient checking work?.

As in 1) and 2), you want to compare “gradapprox” to the gradient computed by backpropagation. The formula is still:

?J?θ=limε0J(θ+ε)?J(θ?ε)2ε(1)(1)?J?θ=limε→0J(θ+ε)?J(θ?ε)2ε

However, θθ is not a scalar anymore. It is a dictionary called “parameters”. We implemented a function “dictionary_to_vector()” for you. It converts the “parameters” dictionary into a vector called “values”, obtained by reshaping all parameters (W1, b1, W2, b2, W3, b3) into vectors and concatenating them.

The inverse function is “vector_to_dictionary” which outputs back the “parameters” dictionary.

Figure 2 : dictionary_to_vector() and vector_to_dictionary()
You will need these functions in gradient_check_n()

We have also converted the “gradients” dictionary into a vector “grad” using gradients_to_vector(). You don’t need to worry about that.

Exercise: Implement gradient_check_n().

Instructions: Here is pseudo-code that will help you implement the gradient check.

For each i in num_parameters:
- To compute J_plus[i]:
1. Set θ+θ+ to np.copy(parameters_values)
2. Set θ+iθi+ to θ+i+εθi++ε
3. Calculate J+iJi+ using to forward_propagation_n(x, y, vector_to_dictionary(θ+θ+ )).
- To compute J_minus[i]: do the same thing with θ?θ?
- Compute gradapprox[i]=J+i?J?i2εgradapprox[i]=Ji+?Ji?2ε

Thus, you get a vector gradapprox, where gradapprox[i] is an approximation of the gradient with respect to parameter_values[i]. You can now compare this gradapprox vector to the gradients vector from backpropagation. Just like for the 1D case (Steps 1’, 2’, 3’), compute:

difference=grad?gradapprox2grad2+gradapprox2(3)(3)difference=‖grad?gradapprox‖2‖grad‖2+‖gradapprox‖2

# GRADED FUNCTION: gradient_check_ndef gradient_check_n(parameters, gradients, X, Y, epsilon = 1e-7):"""Checks if backward_propagation_n computes correctly the gradient of the cost output by forward_propagation_nArguments:parameters -- python dictionary containing your parameters "W1", "b1", "W2", "b2", "W3", "b3":grad -- output of backward_propagation_n, contains gradients of the cost with respect to the parameters. x -- input datapoint, of shape (input size, 1)y -- true "label"epsilon -- tiny shift to the input to compute approximated gradient with formula(1)Returns:difference -- difference (2) between the approximated gradient and the backward propagation gradient"""# Set-up variablesparameters_values, _ = dictionary_to_vector(parameters)grad = gradients_to_vector(gradients)num_parameters = parameters_values.shape[0]J_plus = np.zeros((num_parameters, 1))J_minus = np.zeros((num_parameters, 1))gradapprox = np.zeros((num_parameters, 1))# Compute gradapproxfor i in range(num_parameters):# Compute J_plus[i]. Inputs: "parameters_values, epsilon". Output = "J_plus[i]".# "_" is used because the function you have to outputs two parameters but we only care about the first one### START CODE HERE ### (approx. 3 lines)thetaplus = np.copy(parameters_values) # Step 1thetaplus[i][0] = thetaplus[i][0] + epsilon # Step 2J_plus[i], _ = forward_propagation_n(X, Y, vector_to_dictionary(thetaplus)) # Step 3### END CODE HERE #### Compute J_minus[i]. Inputs: "parameters_values, epsilon". Output = "J_minus[i]".### START CODE HERE ### (approx. 3 lines)thetaminus = np.copy(parameters_values) # Step 1thetaminus[i][0] = thetaminus[i][0] - epsilon # Step 2 J_minus[i], _ = forward_propagation_n(X, Y, vector_to_dictionary(thetaminus)) # Step 3### END CODE HERE #### Compute gradapprox[i]### START CODE HERE ### (approx. 1 line)gradapprox[i] = (J_plus[i] - J_minus[i]) / (2 * epsilon)### END CODE HERE #### Compare gradapprox to backward propagation gradients by computing difference.### START CODE HERE ### (approx. 1 line) # print("grad: {}".format(grad)) # print("gradapprox: {}".format(gradapprox))numerator = np.linalg.norm(grad-gradapprox, ord=2) # Step 1'denominator = np.linalg.norm(grad, ord=2) + np.linalg.norm(gradapprox, ord=2) # Step 2'difference = numerator / denominator # Step 3'### END CODE HERE ###if difference > 1e-7:print ("\033[93m" + "There is a mistake in the backward propagation! difference = " + str(difference) + "\033[0m")else:print ("\033[92m" + "Your backward propagation works perfectly fine! difference = " + str(difference) + "\033[0m")return difference X, Y, parameters = gradient_check_n_test_case()cost, cache = forward_propagation_n(X, Y, parameters) gradients = backward_propagation_n(X, Y, cache) difference = gradient_check_n(parameters, gradients, X, Y) [93mThere is a mistake in the backward propagation! difference = 0.285093156776[0m

Expected output:

There is a mistake in the backward propagation! difference = 0.285093156781

It seems that there were errors in the backward_propagation_n code we gave you! Good that you’ve implemented the gradient check. Go back to backward_propagation and try to find/correct the errors (Hint: check dW2 and db1). Rerun the gradient check when you think you’ve fixed it. Remember you’ll need to re-execute the cell defining backward_propagation_n() if you modify the code.

Can you get gradient check to declare your derivative computation correct? Even though this part of the assignment isn’t graded, we strongly urge you to try to find the bug and re-run gradient check until you’re convinced backprop is now correctly implemented.

Note
- Gradient Checking is slow! Approximating the gradient with ?J?θJ(θ+ε)?J(θ?ε)2ε?J?θ≈J(θ+ε)?J(θ?ε)2ε is computationally costly. For this reason, we don’t run gradient checking at every iteration during training. Just a few times to check if the gradient is correct.
- Gradient Checking, at least as we’ve presented it, doesn’t work with dropout. You would usually run the gradient check algorithm without dropout to make sure your backprop is correct, then add dropout.

Congrats, you can be confident that your deep learning model for fraud detection is working correctly! You can even use this to convince your CEO. :)


What you should remember from this notebook:
- Gradient checking verifies closeness between the gradients from backpropagation and the numerical approximation of the gradient (computed using forward propagation).
- Gradient checking is slow, so we don’t run it in every iteration of training. You would usually run it only to make sure your code is correct, then turn it off and use backprop for the actual learning process.

總結

以上是生活随笔為你收集整理的吴恩达深度学习课程deeplearning.ai课程作业:Class 2 Week 1 3.Gradient Checking的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

狠狠的日| 午夜视频福利 | 色婷婷在线视频 | 亚洲免费不卡 | 亚洲精品乱码久久久一二三 | 日韩乱码中文字幕 | 精品国产激情 | 欧美电影黄色 | 麻豆视传媒官网免费观看 | 天天曰天天 | 国产精品久久99综合免费观看尤物 | 久久久视频在线 | 午夜电影中文字幕 | 高清久久久 | 久久99精品久久久久久久久久久久 | 亚洲丝袜一区 | 一区二区三区在线视频观看58 | 亚洲精品456在线播放乱码 | 成年人免费电影在线观看 | 99久久网站 | 黄色三级免费观看 | 亚洲综合欧美激情 | 国产美女黄网站免费 | 日韩免费在线观看 | 免费毛片一区二区三区久久久 | 欧美日韩国产精品爽爽 | 亚洲欧美va| 99久久精品国产一区二区三区 | 国产精品久久久 | 99精品国产高清在线观看 | 亚洲最新在线视频 | 亚洲最新在线 | 亚洲一区精品人人爽人人躁 | 国产我不卡| 中文字幕有码在线观看 | 精品久久久久久亚洲综合网站 | 色多多在线观看 | 久久国产91 | 丁香婷婷色月天 | 黄视频色网站 | 日韩av免费在线电影 | 久久久久久久久久久久久影院 | 免费人成在线观看网站 | 久久精品福利视频 | 国产小视频在线免费观看 | 日韩最新在线视频 | 91视频在线播放视频 | 午夜神马福利 | 91最新网址 | 亚洲国产三级在线观看 | 国产免费一区二区三区网站免费 | 日本字幕网 | 99久久夜色精品国产亚洲 | 中文字幕日韩伦理 | 亚洲综合一区二区精品导航 | 中文综合在线 | av在线电影播放 | 在线观看视频在线观看 | 亚洲精品视频偷拍 | 国产精品9999久久久久仙踪林 | 欧美日韩有码 | 欧美欧美 | 中文字幕资源网 国产 | 亚洲2019精品 | 九九热国产视频 | 亚洲精品黄| 国产精品免费久久久久 | 日本黄色大片儿 | 黄色一级免费 | 日韩特级毛片 | 免费91在线观看 | 在线观看一级 | 免费av高清 | 91精品久久久久久久久久入口 | 国产精品理论在线观看 | 亚洲国产日韩在线 | 日韩成人精品 | 国产成人精品国内自产拍免费看 | 免费久久网站 | 在线 高清 中文字幕 | 久久经典视频 | 亚洲va在线va天堂 | 久久亚洲成人网 | 国产一级视频在线观看 | av色影院 | 人人爱夜夜操 | 97偷拍视频| 9797在线看片亚洲精品 | 精品在线观看免费 | 中文字幕韩在线第一页 | 欧美一区二区在线 | 欧美 日韩 国产 中文字幕 | 久久综合九色综合97_ 久久久 | 97超碰在线免费 | 日韩欧美在线视频一区二区三区 | 美女免费黄网站 | 97色在线观看 | 国产在线更新 | 中文字幕在线观看一区二区三区 | 婷婷丁香狠狠爱 | 色五月激情五月 | 丝袜美腿在线 | 国产精品久久久久久影院 | 蜜臀av夜夜澡人人爽人人桃色 | 欧美日韩一区二区三区在线观看视频 | 黄色国产成人 | 四虎永久网站 | 国产精品入口麻豆www | 中文字幕123区 | 91在线九色 | 欧美视频在线二区 | 久久久久国产免费免费 | 国产成人精品一区二区三区网站观看 | 91麻豆精品国产91久久久使用方法 | 日韩久久午夜一级啪啪 | 日韩免费在线看 | 国产成人高清av | 黄色最新网址 | 精品国内自产拍在线观看视频 | 欧美黑人性爽 | 国产在线播放不卡 | 中文字幕在线观看播放 | 久久激情小视频 | 亚洲视频在线免费观看 | 国产精品永久在线观看 | 国产第一页在线播放 | 国产原创av片 | 国产精品你懂的在线观看 | 国产精品久久久久久久免费观看 | 免费高清在线视频一区· | 色多多视频在线 | 欧美午夜精品久久久久久孕妇 | av导航福利 | 麻豆一区二区三区视频 | 日韩av中文 | 看全黄大色黄大片 | 久久精品国产一区二区 | 激情六月婷婷久久 | 伊人久久婷婷 | 亚洲日b视频 | 久免费 | 字幕网在线观看 | 欧美电影黄色 | 国产精品免费在线视频 | 免费黄av | av黄色影院| 久久九精品 | 亚洲精品视频在线观看免费视频 | 天天色官网| 日韩精品不卡 | 五月婷婷丁香色 | 啪啪免费试看 | 天天操比| 热久在线 | 欧洲高潮三级做爰 | 国产在线免费 | 亚洲一级特黄 | 久草热久草视频 | 国产精品永久免费视频 | 99av在线视频 | 91在线永久 | 久久激情片 | 99在线视频精品 | 九九热在线视频 | 亚洲第一区在线观看 | 亚洲免费精品视频 | 91麻豆视频| 黄色电影小说 | 岛国av在线免费 | 久久激情片 | 激情久久综合网 | 国产精品欧美久久久久久 | 又黄又色又爽 | 亚洲色图色 | 4438全国亚洲精品在线观看视频 | 天无日天天操天天干 | 在线黄色免费 | 五月香视频在线观看 | 欧美精品免费一区二区 | 久久久久免费精品国产小说色大师 | 美女av电影| 国产日韩欧美自拍 | 91在线视频在线观看 | 欧美一二区视频 | 久久精彩视频 | 国产成本人视频在线观看 | 91在线区 | 日本精品一二区 | 一区二区三区日韩在线观看 | 99r在线视频| 久久久久久久久久网站 | 色妞色视频一区二区三区四区 | 在线免费观看麻豆 | 成年人精品 | 国产精品久久久久久久久久久久午 | 在线观看精品国产 | 久久9999久久免费精品国产 | 欧美激情精品久久久久久免费印度 | 亚洲精品视频第一页 | 97人人添人澡人人爽超碰动图 | 亚洲涩涩一区 | 免费在线观看av电影 | 国产精品中文字幕在线观看 | 久久av福利 | 亚洲天堂网在线视频 | 精品福利av| 中文字幕亚洲精品日韩 | 亚洲性xxxx | 91在线观 | 高清中文字幕 | 日韩系列 | 日韩在线视频观看免费 | 成人看片| 青青河边草观看完整版高清 | 午夜视频在线观看一区二区 | av片在线看 | 91成人观看 | 国产精品99久久免费观看 | 国产精品久久久久久妇 | 爱色婷婷| 91私密视频 | 国产精品黄 | 国产91综合一区在线观看 | 玖操 | 亚洲一级特黄 | 国产精品成人一区二区三区 | 亚洲欧美日韩国产一区二区 | 黄色天堂在线观看 | 高清国产一区 | 91毛片在线 | 91豆花在线观看 | 欧美福利久久 | 色多多污污 | 麻豆国产精品永久免费视频 | 国产视频精选在线 | 欧美一区成人 | 成人丝袜 | 在线三级播放 | 999久久久欧美日韩黑人 | 国产高清在线精品 | 日本高清免费中文字幕 | 久久福利 | 国内精品久久久久久久久久久久 | 亚州中文av | 亚洲理论在线观看 | 亚洲午夜精品一区二区三区电影院 | 中文字幕成人 | 国产精品mm | 国产在线视频在线观看 | 精品在线免费视频 | 亚洲精品免费在线视频 | 久久激情电影 | 99爱视频在线观看 | 亚洲美女在线一区 | 久草视频在线免费播放 | 97超视频免费观看 | 伊人电影在线观看 | 四虎永久免费在线观看 | 免费av在线播放 | 天天视频色| 免费在线电影网址大全 | 中文字幕一区在线观看视频 | 日韩一级电影在线观看 | av三级在线免费观看 | 国精产品永久999 | 久草男人天堂 | 一本一本久久a久久精品综合小说 | 国产999精品 | 欧美激情精品久久久久久免费印度 | 综合色伊人 | 久久毛片高清国产 | 国内精品视频久久 | 成人午夜黄色影院 | 久久成人国产精品 | 国产福利一区二区在线 | 久久免费激情视频 | 日韩久久久久久久久久久久 | 波多在线视频 | 国产日韩欧美视频在线观看 | 亚洲成人欧美 | 天天操天天干天天干 | 国产精品不卡在线 | 国产精品久久久久久999 | 欧美9999 | 亚洲一区二区高潮无套美女 | 欧美人操人 | www免费网站在线观看 | 久草久草久草久草 | 久久天天操| 欧美一区免费在线观看 | 97超级碰碰碰视频在线观看 | 9999免费视频 | 欧美91在线 | 成人一级免费视频 | 欧美日韩国产二区 | 日韩在线免费 | 亚洲成色777777在线观看影院 | 99av国产精品欲麻豆 | 成人av久久 | 久久视讯 | 九九免费视频 | 91亚色免费视频 | 午夜精品电影 | 在线观看www91 | 黄色1级大片 | 精品少妇一区二区三区在线 | 日韩网页| 色婷婷综合久久久久中文字幕1 | 97人人艹 | 天天操夜夜操夜夜操 | 精品乱码一区二区三四区 | 亚洲精品女人久久久 | 玖玖精品在线 | 91精品国产91久久久久 | 亚洲成 人精品 | 91在线视频免费91 | 黄色成人av网址 | 丁香六月天 | 超碰97免费观看 | 久久久精品电影 | 又黄又爽的视频在线观看网站 | 日韩高清在线一区 | 一区二区三区在线观看 | 午夜视频一区二区三区 | 免费观看www视频 | 国产午夜精品久久久久久久久久 | 欧美一二三视频 | 午夜av免费| av高清在线 | 亚洲午夜精品久久久久久久久久久久 | 日韩高清激情 | 国产视频在线看 | 在线看一级片 | 91污污| 国产一区二区影院 | 99视频在线播放 | 亚洲精区二区三区四区麻豆 | 日韩久久在线 | 精品99久久久久久 | aaawww| 久久99精品久久久久久秒播蜜臀 | 国产美女精品视频 | 国产91精品一区二区 | 久久久久久福利 | 在线草 | 人人爱在线视频 | 丰满少妇在线观看资源站 | 免费99| 国产亚洲精品成人av久久影院 | 免费视频久久久久 | 91在线国内视频 | 天天插一插 | 蜜桃视频成人在线观看 | 96看片| 成人黄色小说在线观看 | 在线观看免费视频你懂的 | 一区二区中文字幕在线观看 | 久久久亚洲成人 | 激情婷婷色 | 在线91av| 伊人色播 | 久久久久久久久久久影院 | 亚洲黄色成人av | 久久免费国产精品 | 97视频在线免费播放 | 国产亚洲精品久久网站 | 三级av网 | 久草在线官网 | 最近中文字幕高清字幕在线视频 | 中文字幕在线观看免费高清电影 | 欧美日韩一区久久 | 欧美日韩免费看 | 国产在线一区二区三区播放 | 国产资源免费在线观看 | 91porny九色91啦中文 | 色欧美日韩 | 色综合天天狠狠 | 久久成人精品电影 | 视频国产一区二区三区 | 国产精品久久久久久久7电影 | 午夜视频黄 | 国产精品不卡在线播放 | 久久成人资源 | 欧美动漫一区二区三区 | 夜夜夜影院 | 国产精品久久久久一区二区三区共 | 亚洲精品乱码久久久久久高潮 | 成人av一区二区在线观看 | 欧美另类美少妇69xxxx | 亚洲婷婷综合色高清在线 | 亚洲精品日韩在线观看 | 久久国产精品免费一区 | 在线国产一区二区 | 色综合久久88色综合天天 | 欧美另类xxx| 在线精品国产 | 欧美激情视频一区二区三区 | 啪啪免费视频网站 | 视频二区 | 一本大道久久精品懂色aⅴ 五月婷社区 | 久草com| 国产成人精品在线观看 | 久久综合婷婷综合 | 国产成人精品999在线观看 | av久久在线 | 亚洲精品久久久蜜臀下载官网 | 国产很黄很色的视频 | 日日日日 | av免费福利 | 狠狠五月天 | 日日夜夜综合 | 国色综合| 精品国产1区二区 | 中文字幕一区二区在线观看 | 亚洲 欧美 国产 va在线影院 | 欧美在线久久 | 91激情视频在线观看 | 久久视频国产 | 日韩手机在线观看 | 91九色在线播放 | 国内久久视频 | 一区二区三区在线免费 | 综合色站 | 久久精品免费观看 | 免费亚洲婷婷 | 国产精品午夜免费福利视频 | 欧美日韩视频在线播放 | 久久看片网 | 在线免费看黄网站 | a视频免费看 | 国产成人高清av | 丁香婷婷久久久综合精品国产 | 国产青草视频在线观看 | 国产午夜精品免费一区二区三区视频 | 男女激情片在线观看 | 又黄又爽又刺激 | 操处女逼 | www.久久久| 国产亚洲高清视频 | 在线导航av | 99久久国产免费,99久久国产免费大片 | 欧美一区二区在线刺激视频 | 国产网站色 | 97av视频 | 午夜精品福利影院 | 一区二区欧美在线观看 | 中文字幕成人 | 国产一区二区播放 | 婷婷干五月 | 特及黄色片 | 六月激情久久 | 热re99久久精品国产99热 | 麻豆综合网 | 国产福利不卡视频 | www.久久久com| 日韩精品免费一区二区在线观看 | 久草在线资源观看 | 久草视频在线免费 | 国产成人精品在线观看 | 国产69精品久久久久久 | 国产精品久久久久aaaa | 永久免费毛片在线观看 | 正在播放五月婷婷狠狠干 | 探花视频在线版播放免费观看 | 美女国内精品自产拍在线播放 | 免费视频久久久久久久 | 九九视频在线播放 | 色瓜 | 美女网站视频免费黄 | 国产无套一区二区三区久久 | 国产永久免费 | 午夜精品久久久久久久久久久 | 久久国产视屏 | 激情视频一区 | 亚洲成人网在线 | 精品视频免费看 | 久久精品久久久精品美女 | 在线日韩视频 | 国产精品日韩精品 | 国产在线免费 | 精品久久久久久久久久久久久久久久 | 成人免费在线视频 | 热99在线| 亚洲小视频在线观看 | 天天射综合网视频 | 国产精品视频资源 | 久久尤物电影视频在线观看 | www.久久99 | 国产精品美女免费 | 狠狠插狠狠操 | 午夜精品一区二区三区视频免费看 | 精品福利视频在线观看 | 亚洲日本韩国一区二区 | 亚洲高清激情 | 91精选| 欧美激情视频一区二区三区 | 久久人人精 | 亚洲精品综合久久 | 国产精品日韩在线观看 | 亚洲精品视频在线 | 天天草天天 | 人人草在线视频 | 国色天香第二季 | 久久国产精品电影 | 青青草国产成人99久久 | 国产在线不卡视频 | 五月婷婷综合在线 | 中文字幕资源网在线观看 | 欧美日韩aaaa | 久久久久综合 | 天天操天天摸天天爽 | 91少妇精拍在线播放 | 精品久久久久久综合日本 | 黄色在线观看免费 | 久草在线免费在线观看 | 国产99免费视频 | 久久久蜜桃 | 国产 视频 高清 免费 | 久久久久久免费视频 | 国产一区二区在线精品 | 国产黄色视 | 狠狠色2019综合网 | 精品免费| 午夜精品视频免费在线观看 | 亚洲专区视频在线观看 | 欧美91精品国产自产 | 99精品国产成人一区二区 | 成人免费在线视频 | 欧美精品在线观看 | 成人啊 v | 日韩在线观看中文 | 99久久精品免费看国产一区二区三区 | 五月婷丁香 | 人人揉人人揉人人揉人人揉97 | 奇米7777狠狠狠琪琪视频 | 丝袜美女在线观看 | 日韩精品2区 | 黄污视频网站大全 | 亚洲精品中文在线 | 一级成人在线 | 色资源中文字幕 | 国产一区二区中文字幕 | 久久99久久精品 | 国产大片黄色 | 久草网视频在线观看 | 又黄又刺激 | 国产精品久久久久久久久久久久午夜 | 黄色成人av | 欧美日韩xxx | 午夜美女福利直播 | 国产免费成人 | 婷婷视频在线播放 | 亚洲激情国产精品 | 国产人成在线视频 | 中文字幕91视频 | 日本aa在线 | 国产精品久久久久久久久久久杏吧 | avwww在线| 色99久久| 国产日本在线 | 在线成人av| 深爱开心激情 | 中国一级片在线观看 | 天堂av网址 | av在线影片 | 91在线九色 | 久久精品久久精品久久 | www视频在线播放 | 制服丝袜天堂 | 日本公妇色中文字幕 | 久久综合色影院 | 亚州欧美视频 | 激情影音 | 91九色视频网站 | 免费精品视频在线 | 成人免费一级 | 视频在线观看91 | 国产精品18久久久 | 国产精品一区二区免费在线观看 | 亚洲欧洲成人 | 在线免费观看国产视频 | 美女视频久久 | 天天射天天搞 | 欧美日韩国产一二三区 | 九色视频网址 | 免费视频资源 | 日本精品一区二区三区在线观看 | 久久国产三级 | 亚洲午夜激情网 | 免费三级a| 91精品国自产拍天天拍 | 91精品资源 | 成人理论在线观看 | 91成人精品一区在线播放69 | 韩国av在线播放 | 婷婷久月 | 久久亚洲综合国产精品99麻豆的功能介绍 | www夜夜操com | 久久久久日本精品一区二区三区 | 日韩av在线看 | 曰韩精品 | 免费在线观看成人 | 国产精品青草综合久久久久99 | 免费观看高清 | 九九免费在线观看 | 一级精品视频在线观看宜春院 | 婷婷激情五月 | 91亚洲网站| 日本久久久久久久久 | 色在线免费 | 九色精品 | 亚洲综合激情五月 | 久久婷婷国产 | 激情一区二区三区欧美 | 天天色欧美 | 国产一性一爱一乱一交 | 国产精品国产自产拍高清av | 天天操天天爽天天干 | 日韩欧美69| 日韩视频一二三区 | 97爱| 亚洲乱码中文字幕综合 | 欧美aa在线 | 波多野结依在线观看 | 色婷婷av国产精品 | 久久这里只有精品首页 | 天堂视频一区 | 精品国产乱码久久久久久天美 | 亚洲欧美成人网 | 青春草视频 | 国产乱码精品一区二区三区介绍 | 亚洲另类交 | 国产一及片 | 日本aaaa级毛片在线看 | 久产久精国产品 | 91福利视频久久久久 | 91久久久国产精品 | 在线观看免费一级片 | 国产高清不卡 | 久草观看 | 久久久电影 | 久久99免费 | 免费精品| 97色视频在线 | 九九热在线视频 | 99久久电影 | 91天天视频| 免费网址你懂的 | 99久久超碰中文字幕伊人 | 看av免费| a级黄色片视频 | 中字幕视频在线永久在线观看免费 | 黄色大片视频网站 | 欧美最猛性xxxx | av中文天堂在线 | 亚洲精品免费在线 | 久久精品网站免费观看 | 国产白浆在线观看 | 99久久99久久免费精品蜜臀 | a久久久久 | 国内免费的中文字幕 | 69热国产视频 | 韩国在线视频一区 | 成人免费视频网站在线观看 | 午夜精品导航 | 午夜黄色大片 | 91精品啪在线观看国产线免费 | 中文十次啦 | 视频二区在线 | 国产精品久久中文字幕 | 2024国产精品视频 | 天堂在线一区二区三区 | 成人avav | 88av网站| 91麻豆精品久久久久久 | 国产精品成人一区 | 免费在线观看视频a | 亚洲网久久 | 在线观看岛国片 | 精品国产亚洲一区二区麻豆 | 黄色av电影一级片 | 在线免费黄色av | 婷婷日日 | 超碰97av在线 | 日日夜夜精品免费视频 | 日韩精品久久久久久久电影竹菊 | 久操久 | 日韩网站在线免费观看 | 久久精品www人人爽人人 | 国产美女精彩久久 | 国产精品毛片久久蜜 | 色五月色开心色婷婷色丁香 | 一本一道久久a久久精品 | a成人v | 啪嗒啪嗒免费观看完整版 | 免费亚洲视频 | 亚洲香蕉视频 | 免费黄在线观看 | 欧美日韩69 | 欧美专区国产专区 | 国产精品午夜av | 亚洲视频免费在线 | 亚洲天天 | 精品一区二区三区香蕉蜜桃 | 国产涩图 | 精品国产一区二区三区四区vr | 日韩动态视频 | 亚洲午夜在线视频 | 视频在线观看亚洲 | 日韩精品一区二区三区不卡 | 日韩电影中文 | 久热免费| 国产高清av免费在线观看 | 国产精品ⅴa有声小说 | 国产精品第一视频 | 国产精品视频免费观看 | 在线婷婷| 日韩xxxbbb | 久久夜色电影 | 在线观看国产区 | 在线观看日韩国产 | 国产福利91精品一区二区三区 | 在线草 | 99精品一区| 一本一道波多野毛片中文在线 | 天天综合成人 | 色综合天天爱 | 在线国产片 | 91手机在线看片 | 丁香激情综合 | 亚洲一级性 | 狠狠干我| 欧美极品xxxx | 成人日韩av | 一级免费黄色 | 国产精品18久久久久久不卡孕妇 | 综合国产在线观看 | 欧美在线久久 | 午夜国产在线 | 91爱爱视频 | 一级一片免费看 | 日韩欧美一区二区三区在线观看 | 久久艹99| 免费三级大片 | 天天爱综合 | 欧美一区二视频在线免费观看 | 在线免费av播放 | 日韩美精品视频 | 国产高清视频免费 | 97色国产| 久久精品久久99精品久久 | 日本久久久精品视频 | 免费一级日韩欧美性大片 | 亚洲福利精品 | 五月婷婷久草 | 成人黄性视频 | 久久99久久精品国产 | 国产福利精品一区二区 | 久久婷婷久久 | 欧美地下肉体性派对 | 成人免费一区二区三区在线观看 | 天天爱天天操天天爽 | 字幕网资源站中文字幕 | 国产精品激情在线观看 | 最近中文字幕完整视频高清1 | 免费在线播放视频 | 激情影音| 亚洲视频免费视频 | 亚洲专区欧美 | 久久狠狠一本精品综合网 | 亚洲日本国产精品 | 久草在线视频看看 | 亚洲精品乱码久久久久久写真 | 亚洲人成综合 | 在线播放 一区 | 色.www | 久久人人爽人人人人片 | 色婷婷激情电影 | 亚洲天堂网站视频 | 中文字幕 国产视频 | 91精品视频在线看 | 玖玖视频精品 | 99精品视频在线观看视频 | 久久久亚洲麻豆日韩精品一区三区 | 在线观看黄网站 | 97超碰在线人人 | 国产在线观看黄 | 久草在在线视频 | 欧美一级免费在线 | 欧美精品在线一区二区 | 色婷婷久久一区二区 | 欧美最新另类人妖 | 欧美激情第八页 | 97在线免费视频观看 | 久久激五月天综合精品 | 美女在线免费视频 | 97视频免费观看 | 日韩大片免费在线观看 | 国产高清一级 | 97免费在线观看视频 | 日本黄色大片免费 | 国产精品成人自拍 | 久久人人爽人人 | 三级小视频在线观看 | 天天综合狠狠精品 | 中文字幕黄色网址 | 国产精彩视频 | 久久99久国产精品黄毛片入口 | 免费日韩视 | 中文字幕电影网 | 天天爱天天舔 | 免费色视频网址 | 欧美精品一区二区三区一线天视频 | 日韩r级电影在线观看 | 色噜噜噜噜 | 三级黄色理论片 | 国内精品中文字幕 | 免费网站黄色 | 精品主播网红福利资源观看 | 日韩欧美视频在线播放 | 在线日韩视频 | 色播五月激情五月 | 九九久久国产 | 中文亚洲欧美日韩 | 国产免费观看高清完整版 | 99久久精品国产一区二区三区 | 色的网站在线观看 | 久久手机精品视频 | 久草精品在线播放 | 又黄又刺激的视频 | 欧美日韩精品国产 | 黄在线免费观看 | 国产黄色精品 | 九九九九九精品 | 国产真实精品久久二三区 | 中文字幕一区二区三 | 久久久久国产精品视频 | 亚洲国产人午在线一二区 | 天天爽天天射 | 黄色影院在线免费观看 | 欧洲黄色片| 婷婷五天天在线视频 | 色wwww| 日韩免费网址 | av电影免费看 | 天天爽夜夜爽人人爽一区二区 | 日韩精品免费一区二区三区 | 国产精品五月天 | 99久久这里有精品 | 九九久久婷婷 | 国产91av视频在线观看 | 349k.cc看片app | 国产亚洲成人网 | 51久久夜色精品国产麻豆 | 亚洲精品1234区 | 日本中文字幕系列 | .国产精品成人自产拍在线观看6 | 免费色视频在线 | 成在线播放 | 中文字幕一区二区三区四区视频 | 国产h在线播放 | 男女日麻批 | 国产免费三级在线观看 | 国产精品96久久久久久吹潮 | 久久99精品国产麻豆婷婷 | 国产精品中文在线 | 麻豆91在线 | 色中文字幕在线观看 | 伊人精品在线 | 三级黄色网络 | 欧美日韩国产二区三区 | 最近中文字幕视频网 | 在线观看色网 | 亚洲欧洲国产视频 | a√资源在线 | 97狠狠干| 美女视频是黄的免费观看 | 国产精品国产三级国产不产一地 | 国产又粗又猛又色又黄视频 | 亚洲国产精品久久久久久 | 97超碰人人模人人人爽人人爱 | 日韩一级理论片 | 免费国产视频 | www.色午夜| 亚洲最大免费成人网 | 亚洲精品视频大全 | 91九色视频在线观看 | 国产午夜在线观看视频 | 欧美精品在线一区二区 | 免费看久久 | 久草精品视频 | 97精品国产97久久久久久久久久久久 | 日韩国产精品久久久久久亚洲 | 天天色天天艹 | 成人在线视频免费看 | 在线观看视频国产 | 国产精品久久久久毛片大屁完整版 | 亚洲干视频在线观看 | 国产小视频精品 | 亚洲激情在线观看 | 伊人午夜视频 | 97av在线视频 | 国产成人精品不卡 | 香蕉视频导航 | 2020天天干夜夜爽 | 黄色大片免费网站 | 久久经典国产 | 久久免费国产电影 | 久久国产精品影片 | 日韩精品视频免费在线观看 | 欧美一级免费在线 | 黄网站色 | 美女久久久久久久 | 激情www | 国产黄色在线看 | 99性视频| 99自拍视频在线观看 | 天天干,天天射,天天操,天天摸 | 亚洲高清资源 | 成年人免费看的视频 | 在线观看视频黄 | 91成人在线免费观看 | 天天操天天操天天操 | 亚洲精品国产品国语在线 | 91成人免费视频 | 天天看天天干 | 免费av观看网站 | 91精品国产综合久久婷婷香蕉 | www免费黄色 | 免费人做人爱www的视 | 久草网在线视频 | 亚洲免费视频在线观看 | av免费电影在线 | 免费黄色一区 | 欧美激情视频一区 | 久久艹久久 | 国产v亚洲v| 色婷婷狠狠五月综合天色拍 | 最近中文字幕国语免费高清6 | 在线视频一区二区 | 久久男人视频 | 国产福利在线不卡 | 天天·日日日干 | 美女一二三区 | 色香蕉在线 | 一区二区三区www | 欧美激情视频一区二区三区免费 | a天堂免费 | 日韩成人欧美 | 又黄又爽的视频在线观看网站 | 日韩理论在线播放 | 国产一级大片免费看 | 精品久久一二三区 | 2018好看的中文在线观看 | 色偷偷网站视频 | 日韩高清久久 | 亚洲在线网址 | 天天操天| 国产一区在线视频播放 | 天堂av网站 | 国内精品久久久久久中文字幕 | 国产日韩欧美在线观看视频 | 国产一区二区三精品久久久无广告 | 在线看国产精品 | 国产成人精品久久亚洲高清不卡 | 涩涩色亚洲一区 | 免费男女羞羞的视频网站中文字幕 | 久久久久亚洲精品男人的天堂 | 国产高清小视频 | 日批在线观看 | 爱爱av网| 亚洲在线网址 | 日韩欧美aaa | 国产精品18久久久久vr手机版特色 | 久久久久久久99精品免费观看 | 黄色一级在线视频 | 91成人免费电影 | 在线观看av的网站 | 欧美日韩国产精品一区二区 | 久久av一区二区三区亚洲 | 久久夜色精品国产欧美乱 | 人人爽人人片 | 99久久这里只有精品 | 在线观看视频中文字幕 | 97影视| 亚洲欧美日韩在线一区二区 | 久热色超碰 | 午夜三级福利 | 日韩欧美在线中文字幕 | 玖草影院| 一级黄色片在线观看 | 国产99久久久国产 | av免费电影在线观看 | 韩国av在线播放 | 成人在线播放免费观看 | 久久久综合 | 国产五月| 国产成人综|