精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

人工智能教程(三):更多有用的 Python 庫

人工智能
在本系列的第三篇文章中,我們將了解更多的矩陣操作,同時再介紹幾個人工智能 Python 庫。

在本系列的 上一篇文章 中,我們回顧了人工智能的歷史,然后詳細(xì)地討論了矩陣。在本系列的第三篇文章中,我們將了解更多的矩陣操作,同時再介紹幾個人工智能 Python 庫。

在進(jìn)入主題之前,我們先討論幾個人工智能和機(jī)器學(xué)習(xí)中常用的重要術(shù)語。人工神經(jīng)網(wǎng)絡(luò)artificial neural network(通常簡稱為 神經(jīng)網(wǎng)絡(luò)neural network,NN)是機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的核心。顧名思義,它是受人腦的生物神經(jīng)網(wǎng)絡(luò)啟發(fā)而設(shè)計的計算模型。本文中我沒有插入神經(jīng)網(wǎng)絡(luò)模型的圖片,因為在互聯(lián)網(wǎng)上很容易找到它們。我相信任何對人工智能感興趣的人應(yīng)該都見過它們,左邊是輸入層,中間是一個或多個隱藏層,右邊是輸出層。各層之間的邊上的 權(quán)重weight

監(jiān)督學(xué)習(xí)supervised learning 和 無監(jiān)督學(xué)習(xí)unsupervised learning

在實際的機(jī)器學(xué)習(xí)應(yīng)用中會發(fā)生這樣的情況嗎?是的!訓(xùn)練模型用的數(shù)據(jù)集可能是不充分的或者不完整的。這是兩種模型都仍然在人工智能和機(jī)器學(xué)習(xí)領(lǐng)域蓬勃發(fā)展的眾多原因之一。在后續(xù)文章中,我們將更正式地討論它們。下面我們開始學(xué)習(xí)使用 JupyterLab,它是一個用于開發(fā)人工智能程序的強(qiáng)大工具。

JupyterLab 入門

在本系列的前幾篇文章中,為了簡單起見,我們一直使用 Linux 終端運(yùn)行 Python 代碼。現(xiàn)在要介紹另一個強(qiáng)大的人工智能工具——JupyterLab。在本系列的第一篇文章中,我們對比了幾個候選項,最終決定使用 JupyterLab。它比 Jupyter Notebook 功能更強(qiáng)大,為我們預(yù)裝了許多庫和包,并且易于團(tuán)隊協(xié)作。還有一些其它原因,我們將在后續(xù)適時探討它們。

在本系列的第一篇文章中,我們已經(jīng)學(xué)習(xí)了如何安裝 JupyterLab。假設(shè)你已經(jīng)按文中的步驟安裝好了 JupyterLab,使用 jupyter lab 或 jupyter-lab 命令在會默認(rèn)瀏覽器(如 Mozilla Firefox、谷歌 Chrome 等)中打開 JupyterLab。(LCTT 譯注:沒有安裝 JupyterLab 也不要緊,你可以先 在線試用 JupyterLab)圖 1 是在瀏覽器中打開的 JupyterLab 啟動器的局部截圖。JupyterLab 使用一個名為 IPython(交互式 Python)的 Python 控制臺。注意,IPython 其實可以獨立使用,在 Linux 終端運(yùn)行 ipython 命令就可以啟動它。

圖 1:JupyterLab 啟動器圖 1:JupyterLab 啟動器

現(xiàn)階段我們使用 JupyterLab 中的 Jupyter Notebook 功能。點擊圖 1 中用綠框標(biāo)記的按鈕,打開 Jupyter Notebook。這時可能會要求你選擇內(nèi)核。如果你按照本系列第一篇的步驟安裝 JupyterLab,那么唯一的可選項就是 Python 3(ipykernel)。請注意,你還可以在 JupyterLab 中安裝其它編程語言的內(nèi)核,比如 C++、R、MATLAB、Julia 等。事實上 Jupyter 的內(nèi)核相當(dāng)豐富,你可以訪問 Jupyter 內(nèi)核清單 了解更多信息。

圖 2:Jupyter Notebook 窗口圖 2:Jupyter Notebook 窗口

下面我們快速了解一下 Jupyter Notebook 的使用。圖 2 顯示的是一個在瀏覽器中打開的 Jupyter Notebook 窗口。從瀏覽器標(biāo)簽頁的標(biāo)題可以看出,Jupyter Notebook 打開的文件的擴(kuò)展名是 .ipynb。

在圖 2 處可以看到有三個選項,它們表示 Jupyter Notebook 中可以使用的三種類型的單元。“Code”(綠色框) 表示代碼單元,它是用來執(zhí)行代碼的?!癕arkdown” 單元可用于輸入說明性的文本。如果你是一名計算機(jī)培訓(xùn)師,可以用代碼單元和 Markdown 單元來創(chuàng)建交互式代碼和解釋性文本,然后分享給你的學(xué)員。“Raw”(紅色框)表示原始數(shù)據(jù)單元,其中的內(nèi)容不會被格式化或轉(zhuǎn)換。

和在終端中不同,在 Jupyter Notebook 中你可以編輯并重新運(yùn)行代碼,這在處理簡單的拼寫錯誤時特別方便。圖 3 是在 Jupyter Notebook 中執(zhí)行 Python 代碼的截圖。

圖 3:在 Jupyter Notebook 中執(zhí)行 Python 代碼圖 3:在 Jupyter Notebook 中執(zhí)行 Python 代碼

要在執(zhí)行代碼單元中的代碼,先選中該單元格,然后點擊藍(lán)框標(biāo)記的按鈕。圖 3 中用紅框標(biāo)記的是 Markdown 單元,用綠框標(biāo)記的是代碼單元,用黃框標(biāo)記的執(zhí)行代碼的輸出。在這個例子中,Python 代碼輸出的是 π 的值。

前面提到,JupyterLab 默認(rèn)安裝了許多庫和包,我們不用自己安裝了。你可以使用 import 命令將這些庫導(dǎo)入到代碼中。使用 !pip freeze 命令可以列出 JupyterLab 中目前可用的所有庫和包。如果有庫或包沒有安裝,大多數(shù)情況下都可以通過 pip install <全小寫的庫或者包的名稱> 來安裝它們。例如安裝 TensorFlow 的命令是 pip install tensorflow。如果后面有庫的安裝命令不遵循這個格式,我會進(jìn)行特別說明。隨著本系列的繼續(xù),我們還會看到 Jupyter Notebook 和 JupyterLab 更多強(qiáng)大的功能。

復(fù)雜的矩陣運(yùn)算

通過下面的代碼,我們來了解一些更復(fù)雜的矩陣運(yùn)算或操作。為了節(jié)省空間,我沒有展示代碼的輸出。

import numpy as np
A = np.arr ay([[1,2,3],[4,5,6],[7,8,88]])
B = np.arr ay([[1,2,3],[4,5,6],[4,5,6]])
print(A.T)
print(A.T.T)
print(np.trace(A))
print(np.linalg.det(A))
C = np.linalg.inv(A)
print(C)
print(A@C)

下面我逐行來解釋這些代碼:

  1. 導(dǎo)入 NumPy 包。
  2. 創(chuàng)建矩陣 A。
  3. 創(chuàng)建矩陣 B。
  4. 打印矩陣 A 的轉(zhuǎn)置transpose。通過比較矩陣 A 與 A 的轉(zhuǎn)置,你用該可以大致理解轉(zhuǎn)置操作到底做了什么。
  5. 打印 A 的轉(zhuǎn)置的轉(zhuǎn)置??梢钥吹剿途仃?nbsp;A 是相同的。這又提示了轉(zhuǎn)置操作的含義。
  6. 打印矩陣 A 的 跡trace。跡是矩陣的對角線(也稱為主對角線)元素的和。矩陣 A 的主對角線元素是 1、5 和 88,所以輸出的值是 94。
  7. 打印 A 的行列式determinant。當(dāng)執(zhí)行代碼的結(jié)果是 -237.00000000000009(在你的電腦中可能略有區(qū)別)。因為行列式不為 0,所以稱 A 為非奇異矩陣non-singular matrix。
  8. 將矩陣 A 的逆inverse 保存到矩陣 C 中。
  9. 打印矩陣 C
  10. 打印矩陣 A 和 C 的乘積。仔細(xì)觀察,你會看到乘積是一個單位矩陣identity matrix,也就是一個所有對角線元素都為 1,所有其它元素都為 0 的矩陣。請注意,輸出中打印出的不是精確的 1 和 0。在我得到的答案中,有像 -3.81639165e-17 這樣的數(shù)字。這是浮點數(shù)的科學(xué)記數(shù)法,表示 -3.81639165 × 10-17, 即小數(shù)的 -0.0000000000000000381639165,它非常接近于零。同樣輸出中的其它數(shù)字也會有這種情況。我強(qiáng)烈建議你了解計算機(jī)是怎樣表示浮點數(shù)的,這對你會有很大幫助。

根據(jù)第一篇文章中的慣例,可以將代碼分成基本 Python 代碼和人工智能代碼。在這個例子中,除了第 1 行和第 9 行之外的所有代碼行都可以被看作是人工智能代碼。

現(xiàn)在將第 4 行到第 10 行的操作應(yīng)用到矩陣 B 上。從第 4 行到第 6 行代碼的輸出沒有什么特別之處。然而運(yùn)行第 7 行時,矩陣 B 的行列式為 0,因此它被稱為奇異矩陣singular matrix。運(yùn)行第 8 行代碼會給產(chǎn)生一個錯誤,因為只有非奇異矩陣才存在逆矩陣。你可以嘗試對本系列前一篇文章中的 8 個矩陣都應(yīng)用相同的操作。通過觀察輸出,你會發(fā)現(xiàn)矩陣的行列式和求逆運(yùn)算只適用于方陣。

方陣就是行數(shù)和列數(shù)相等的矩陣。在上面的例子中我只是展示了對矩陣執(zhí)行各種操作,并沒有解釋它們背后的理論。如果你不知道或忘記了矩陣的轉(zhuǎn)置、逆、行列式等知識的話,你最好自己學(xué)習(xí)它們。同時你也應(yīng)該了解一下不同類型的矩陣,比如單位矩陣、對角矩陣、三角矩陣、對稱矩陣、斜對稱矩陣。維基百科上的相關(guān)文章是不錯的入門。

現(xiàn)在讓我們來學(xué)習(xí)矩陣分解matrix decomposition,它是更復(fù)雜的矩陣操作。矩陣分解與整數(shù)的因子分解類似,就是把一個矩陣被寫成其它矩陣的乘積。下面我通過圖 4 中整數(shù)分解的例子來解釋矩陣分解的必要性。代碼單元開頭的 %time 是 Jupyter Notebook 的魔法命令magic command,它會打印代碼運(yùn)行所花費(fèi)的時間。** 是 Python 的冪運(yùn)算符?;镜拇鷶?shù)知識告訴我們,變量 a 和 b 的值都等于 (6869 x 7873)100。但圖 4 顯示計算變量 b 的速度要快得多。事實上,隨著底數(shù)和指數(shù)的增大,執(zhí)行時間的減少會越來越明顯。

圖 4:Python 代碼的執(zhí)行耗時圖 4:Python 代碼的執(zhí)行耗時

在幾乎所有的矩陣分解技術(shù)技術(shù)中,原始矩陣都會被寫成更稀疏的矩陣的乘積。稀疏矩陣sparse matrix是指有很多元素值為零的矩陣。在分解后,我們可以處理稀疏矩陣,而不是原始的具有大量非零元素的密集矩陣dense matrix。在本文中將介紹三種矩陣分解技術(shù)——LUP 分解、特征分解eigen decomposition和奇異值分解singular value decomposition(SVD)。

為了執(zhí)行矩陣分解,我們需要另一個強(qiáng)大的 Python 庫,SciPy。SciPy 是基于 NumPy 庫的科學(xué)計算庫,它提供了線性代數(shù)、積分、微分、優(yōu)化等方面的函數(shù)。首先,讓我們討論 LUP 分解。任何方陣都能進(jìn)行 LUP 分解。LUP 分解有一種變體,稱為 LU 分解。但并不是所有方陣都能 LU 分解。因此這里我們只討論 LUP 分解。

在 LUP 分解中,矩陣 A 被寫成三個矩陣 L、U 和 P 的乘積。其中 L 是一個下三角矩陣lower triangular matrix,它是主對角線以上的所有元素都為零的方陣。U 是一個上三角矩陣upper triangular matrix,它是主對角線以下所有元素為零的方陣。P 是一個排列矩陣permutation matrix。這是一個方陣,它的每一行和每一列中都有一個元素為 1,其它元素的值都是 0。

現(xiàn)在看下面的 LUP 分解的代碼。

import numpy as np
import scipy as sp
A=np.array([[11,22,33],[44,55,66],[77,88,888]])
P, L, U = sp.linalg.lu(A)
print(P)
print(L)
print(U)
print(P@L@U)

圖 5 顯示了代碼的輸出。第 1 行和第 2 行導(dǎo)入 NumPy 和 SciPy 包。在第 3 行創(chuàng)建矩陣 A。請記住,我們在本節(jié)中會一直使用矩陣 A。第 4 行將矩陣 A 分解為三個矩陣——PL 和 U。第 5 行到第 7 行打印矩陣 P、L 和 U。從圖 5 中可以清楚地看出,P 是一個置換矩陣,L 是一個下三角矩陣,U 是一個上三角矩陣。最后在第 8 行將這三個矩陣相乘并打印乘積矩陣。從圖 5 可以看到乘積矩陣 P@L@U 等于原始矩陣 A,滿足矩陣分解的性質(zhì)。此外,圖 5 也驗證了矩陣 LU 和 P 比矩陣 A 更稀疏。

圖 5:用 SciPy 進(jìn)行 LUP 分解圖 5:用 SciPy 進(jìn)行 LUP 分解

下面我們討論特征分解,它是將一個方陣是用它的特征值eigenvalue和特征向量eigenvector來表示。用 Python 計算特征值和特征向量很容易。關(guān)于特征值和特征向量的理論解釋超出了本文的討論范圍,如果你不知道它們是什么,我建議你通過維基百科等先了解它們,以便對正在執(zhí)行的操作有一個清晰的概念。圖 6 中是特征分解的代碼。

圖6:用 SciPy 進(jìn)行特征分解圖6:用 SciPy 進(jìn)行特征分解

在圖 6 中,第 1 行計算特征值和特征向量。第 2 行和第 3 行輸出它們。注意,使用 NumPy 也能獲得類似的效果,Lambda, Q = np.linalg.eig(A)。這也告訴我們 NumPy 和 SciPy 的功能之間有一些重疊。第 4 行重建了原始矩陣 A。第 4 行中的代碼片段 np.diag(Lambda) 是將特征值轉(zhuǎn)換為對角矩陣(記為 Λ)。對角矩陣是主對角線以外的所有元素都為 0 的矩陣。第 4 行的代碼片段 sp.linalg.inv(Q) 是求 Q 的逆矩陣(記為 Q-1)。最后,將三個矩陣 QΛ、Q-1 相乘得到原始矩陣 A。也就是在特征分解中 A=QΛQ-1

圖 6 還顯示了執(zhí)行的代碼的輸出。紅框標(biāo)記的是特征值,用綠框標(biāo)記的是特征向量,重構(gòu)的矩陣 A 用藍(lán)框標(biāo)記。你可能會感到奇怪,輸出中像 11.+0.j 這樣的數(shù)字是什么呢?其中的 j 是虛數(shù)單位。11.+0.j 其實就是 11.0+0.0j,即整數(shù) 11 的復(fù)數(shù)形式。

現(xiàn)在讓我們來看奇異值分解(SVD),它是特征分解的推廣。圖 7 顯示了 SVD 的代碼和輸出。第 1 行將矩陣 A 分解為三個矩陣 U、S 和 V。第 2 行中的代碼片段 np.diag(S) 將 S 轉(zhuǎn)換為對角矩陣。最后,將這三個矩陣相乘重建原始矩陣 A。奇異值分解的優(yōu)點是它可以對角化非方陣。但非方陣的奇異值分解的代碼稍微復(fù)雜一些,我們暫時不在這里討論它。

圖 7:用 SciPy 進(jìn)行 奇異值分解圖 7:用 SciPy 進(jìn)行 奇異值分解

其它人工智能和機(jī)器學(xué)習(xí)的 Python 庫

當(dāng)談到人工智能時,普通人最先想到的場景可能就是電影《終結(jié)者》里機(jī)器人通過視覺識別一個人。計算機(jī)視覺computer vision是人工智能和機(jī)器學(xué)習(xí)技術(shù)被應(yīng)用得最廣泛的領(lǐng)域之一。下面我將介紹兩個計算機(jī)視覺相關(guān)的庫:OpenCV 和 Matplotlib。OpenCV 是一個主要用于實時計算機(jī)視覺的庫,它由 C 和 C++ 開發(fā)。C++ 是 OpenCV 的主要接口,它通過 OpenCV-Python 向用戶提供 Python 接口。Matplotlib 是基于 Python 的繪圖庫。我曾在 OSFY 上的一篇早期 文章 中詳細(xì)介紹了 Matplotlib 的使用。

前面我一直在強(qiáng)調(diào)矩陣的重要性,現(xiàn)在我用一個實際的例子來加以說明。圖 8 展示了在 Jupyter Notebook 中使用 Matplotlib 讀取和顯示圖像的代碼和輸出。如果你沒有安裝 Matplotlib,使用 pip install matplotlib 命令安裝 Matplotlib。

圖 8:用 Matplotlib 讀取和顯示圖像圖 8:用 Matplotlib 讀取和顯示圖像

在圖 8 中,第 1 行和第 2 行從 Matplotlib 導(dǎo)入了一些函數(shù)。注意你可以從庫中導(dǎo)入單個函數(shù)或包,而不用導(dǎo)入整個庫。這兩行是基本的 Python 代碼。第 3 行從我的計算機(jī)中讀取標(biāo)題為 OSFY-Logo.jpg 的圖像。我從 OSFY 門戶網(wǎng)站的首頁下載了這張圖片。此圖像高 80 像素,寬 270 像素。第 4 行和第 5 行在 Jupyter Notebook 窗口中顯示圖像。請注意圖像下方用紅框標(biāo)記的兩行代碼,它的輸出告訴我們變量 image 實際上是一個 NumPy 數(shù)組。具體來說,它是一個 80 x 270 x 3 的三維數(shù)組。

數(shù)組尺寸中的 80 x 270 就是圖片的大小,這一點很容易理解。但是第三維度表示什么呢?這是因計算機(jī)像通常用 RGB 顏色模型來存儲的彩色圖。它有三層,分別用于表示紅綠藍(lán)三種原色。我相信你還記得學(xué)生時代的實驗,把原色混合成不同的顏色。例如,紅色和綠色混合在一起會得到黃色。在 RGB 模型中,每種顏色的亮度用 0 到 255 的數(shù)字表示。0 表示最暗,255 表示最亮。因此值為 (255,255,255) 的像素表示純白色。

現(xiàn)在,執(zhí)行代碼 print(image), Jupyter Notebook 會將整個數(shù)組的一部分部分打印出來。你可以看到數(shù)組的開頭有許多 255。這是什么原因呢?如果你仔細(xì)看 OSFY 的圖標(biāo)會發(fā)現(xiàn),圖標(biāo)的邊緣有很多白色區(qū)域,因此一開始就印了很多 255。順便說一句,你還可以了解一下其他顏色模型,如 CMY、CMYK、HSV 等。

現(xiàn)在我們反過來從一個數(shù)組創(chuàng)建一幅圖像。首先看圖 9 中所示的代碼。它展示了如何生成兩個 3 x 3 的隨機(jī)矩陣,它的元素是 0 到 255 之間的隨機(jī)值。注意,雖然相同的代碼執(zhí)行了兩次,但生成的結(jié)果是不同的。這是通過調(diào)用 NumPy 的偽隨機(jī)數(shù)生成器函數(shù) randint 實現(xiàn)的。實際上,我中彩票的幾率都比這兩個矩陣完全相等的幾率大得多。

圖 8:兩個隨機(jī)矩陣圖 8:兩個隨機(jī)矩陣

接下來我們要生成一個形狀為 512 x 512 x 3 的三維數(shù)組,然后將它轉(zhuǎn)換為圖像。為此我們將用到 OpenCV。注意,安裝 OpenCV 命令是 pip install opencv-python。看下面的代碼:

import cv2
img = np.random.randint(0, 256, size=(512, 512, 3))
cv2.imwrite('img.jpg', img)

第 1 行導(dǎo)入庫 OpenCV。注意導(dǎo)入語句是 import cv2,這與大多數(shù)其他包的導(dǎo)入不同。第 3 行將矩陣 img 轉(zhuǎn)換為名為 img.jpg 的圖像。圖 10 顯示了由 OpenCV 生成的圖像。在系統(tǒng)中運(yùn)行這段代碼,將圖像將被保存在 Jupyter Notebook 的同一目錄下。如果你查看這張圖片的屬性,你會看到它的高度是 512 像素,寬度是 512 像素。通過這些例子,很容易看出,任何處理計算機(jī)視覺任務(wù)的人工智能和機(jī)器學(xué)習(xí)程序使用了大量的數(shù)組、向量、矩陣以及線性代數(shù)中的思想。這也是本系列用大量篇幅介紹數(shù)組、向量和矩陣的原因。

圖 10:OpenCV 生成的圖像圖 10:OpenCV 生成的圖像

最后,考慮下面顯示的代碼。image.jpg 輸出圖像會是什么樣子?我給你兩個提示。函數(shù) zeros 在第 4 行和第 5 行創(chuàng)建了兩個 512 x 512 的數(shù)組,其中綠色和藍(lán)色填充了零。第 7 行到第 9 行用來自數(shù)組 red、green 和 blue 的值填充三維數(shù)組 img1。

import numpy as np
import cv2
red = np.random.randint(0, 256, size=(512, 512))
green = np.zeros([512, 512], dtype=np.uint8)
blue = np.zeros([512, 512], dtype=np.uint8)
img1 = np.zeros([512,512,3], dtype=np.uint8)
img1[:,:,0] = blue
img1[:,:,1] = green
img1[:,:,2] = red
cv2.imwrite(‘image.jpg’, img1)

本期的內(nèi)容就到此結(jié)束了。在下一篇文章中,我們將開始簡單地學(xué)習(xí)張量tensor,然后安裝和使用 TensorFlow。TensorFlow 是人工智能和機(jī)器學(xué)習(xí)領(lǐng)域的重要參與者。之后,我們將暫時放下矩陣、向量和線性代數(shù),開始學(xué)習(xí)概率論。概率論跟線性代數(shù)一樣是人工智能的重要基石。

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2024-01-02 19:20:37

人工智能Anaconda

2017-10-16 10:25:27

2021-12-17 15:01:54

人工智能視障技術(shù)

2023-11-20 16:23:32

人工智能矩陣

2024-03-07 16:40:17

人工智能谷歌云

2022-06-20 11:05:58

通用人工智能機(jī)器人

2020-06-17 05:44:44

人工智能AI機(jī)器學(xué)習(xí)

2015-12-02 11:06:47

2023-10-17 10:20:23

2020-12-14 11:43:27

人工智能智能軟件

2020-03-25 20:19:43

人工智能技術(shù)智能機(jī)器

2023-02-07 10:13:33

2018-08-17 15:17:56

人工智能層次極端

2023-05-05 14:02:59

人工智能聊天機(jī)器人

2022-03-10 16:27:54

人工智能企業(yè)高管職業(yè)發(fā)展

2022-10-19 07:04:12

?人工智能云服務(wù)Alaas

2020-08-31 15:15:20

人工智能算法AI

2023-10-30 08:00:24

2018-06-07 11:27:49

人工智能

2017-08-23 14:21:26

微軟人工智能
點贊
收藏

51CTO技術(shù)棧公眾號

一级做a爱片性色毛片| 波多野结衣先锋影音| freemovies性欧美| 日韩精品色哟哟| 自拍亚洲一区欧美另类| 色播五月综合网| 深夜国产在线播放| wwwwxxxxx欧美| 国产在线播放不卡| 国产在线综合网| 国内黄色精品| 精品久久五月天| 激情 小说 亚洲 图片: 伦| 在线观看中文| 欧美国产一区二区在线观看| 岛国视频一区免费观看| 瑟瑟视频在线免费观看| 在线精品在线| 精品国产美女在线| 波多野结衣一本| 伊人久久大香线蕉av超碰| 欧美午夜丰满在线18影院| 久久免费看毛片| 精品欧美不卡一区二区在线观看 | 亚洲精品97久久中文字幕无码| 99在线|亚洲一区二区| 久久精品国产成人精品| wwwwxxxx国产| 国产精品白浆| 欧美一区二区三区思思人| 国产福利一区视频| 黄色污网站在线观看| 亚洲免费观看高清完整版在线观看熊| 欧美在线日韩精品| 黄色av网址在线| 国产福利一区二区三区在线视频| 国产精品视频地址| 亚洲国产综合久久| 欧美视频不卡| 欧美超级乱淫片喷水| 国产人与禽zoz0性伦| 红桃成人av在线播放| 日韩高清人体午夜| 熟妇人妻久久中文字幕| 91麻豆精品激情在线观看最新| 5858s免费视频成人| 亚洲成人福利在线观看| 午夜精品成人av| 日本大香伊一区二区三区| 91国视频在线| 亚洲日本天堂| 欧美日韩中国免费专区在线看| 法国空姐在线观看免费| 日本在线观看www| 中文字幕一区二区三区精华液 | 日本韩国欧美国产| 国产成人精品视频免费看| av剧情在线观看| 天天影视网天天综合色在线播放| 精品无码国产一区二区三区av| 天堂av最新在线| 亚洲国产aⅴ成人精品无吗| 欧美国产视频一区| 成人在线高清免费| 婷婷丁香激情综合| 男人天堂999| 亚洲成av在线| 在线播放视频一区| 欧美体内she精高潮| 日韩一区二区三区色| 欧美一区二区女人| 在线观看免费视频国产| 日韩极品少妇| 国产亚洲精品久久久优势 | 亚洲精品欧美激情| 久久手机在线视频| 小h片在线观看| 欧美色大人视频| 日本高清免费在线视频| 国产精品chinese在线观看| 精品国产露脸精彩对白| 久久人人爽人人爽人人片| 精品一区三区| 久久亚洲私人国产精品va| 免费无码毛片一区二区app| 在线欧美亚洲| 国产精品久久久久久久久久东京 | 精品亚洲欧美一区| www.久久久| 日韩中文字幕免费观看| 国产亚洲精品aa| 97在线免费视频观看| 亚洲妇女成熟| 欧美一级片在线看| 日本丰满少妇裸体自慰| 91综合久久| 2021久久精品国产99国产精品| 日韩久久久久久久久久| 高清不卡一区二区| 日本一区免费看| 国产精品va在线观看视色| 精品国产91乱高清在线观看| 色天使在线观看| 青草久久视频| 久久成人精品电影| 成人毛片一区二区三区| 国产精品自拍一区| 日韩精品久久一区| 678在线观看视频| 4438成人网| 永久免费看mv网站入口78| 五月激情久久久| 日韩美女在线观看| 欧美一级淫片免费视频魅影视频| 国产精品美女久久久久aⅴ| 免费一级特黄特色毛片久久看| 日日夜夜亚洲精品| 亚洲欧洲成视频免费观看| 久草国产在线视频| 久久精品国产精品亚洲综合| 麻豆久久久9性大片| 影院在线观看全集免费观看| 欧美视频在线不卡| av直播在线观看| 国色天香一区二区| 91在线观看欧美日韩| 超碰免费在线| 粉嫩老牛aⅴ一区二区三区| 日本一二三四区视频| 日韩精品欧美| 国产精品99一区| 免费黄色在线视频网站| 午夜在线电影亚洲一区| 在线观看免费看片| 91精品一区二区三区综合| 国产精品视频地址| av在线资源网| 欧美最猛黑人xxxxx猛交| 人妻丰满熟妇aⅴ无码| 亚洲精品人人| 国产一区二区三区色淫影院| 牛牛电影国产一区二区| 日韩欧美成人一区| 青青草偷拍视频| 国产高清亚洲一区| 国产内射老熟女aaaa| 久久99成人| 久久91亚洲人成电影网站 | 精品综合久久久久久8888| 日韩福利二区| 78精品国产综合久久香蕉| 国产亚洲精品激情久久| 最近中文字幕免费观看| 国产免费观看久久| 在线观看高清免费视频| 日韩在线观看电影完整版高清免费悬疑悬疑| 热99在线视频| 成年人视频在线观看免费| 欧美日免费三级在线| 四虎国产精品成人免费入口| 秋霞午夜鲁丝一区二区老狼| 亚洲高清乱码| 国产成人免费av一区二区午夜| 久久av红桃一区二区小说| 后入内射欧美99二区视频| 亚洲国产精品一区二区久久| 欧美在线一级片| 久久久久国产精品一区三寸| 日韩精品国内| 日韩中文字幕在线一区| 久久免费视频网| 日本成人一区| 欧美日韩国产系列| 国产精品 欧美激情| 成人手机电影网| 可以免费观看av毛片| 日韩电影免费网址| 91精品国产综合久久久久久丝袜 | 成人高清视频观看www| 国产高清一区二区三区视频| 精品999在线播放| 无码人妻丰满熟妇区五十路| 中文字幕制服丝袜一区二区三区 | 久久久精品欧美丰满| 日本www.色| 中文字幕一区二区av| 久久av一区二区三区漫画| 全球最大av网站久久| 欧美黑人一区二区三区| 你懂的免费在线观看| 欧美高清dvd| 久久久久久久久久影院| 国产精品福利电影一区二区三区四区| 三大队在线观看| 天堂一区二区在线| 777久久精品一区二区三区无码 | 色婷婷成人综合| 成人免费视频国产| 欧美又粗又大又爽| 久久99久久98精品免观看软件| 久久久美女毛片| 中文字幕第10页| 日本欧美一区二区| 欧美久久久久久久久久久久久| 日韩电影二区| 久久精品人成| 免费一区二区三区在线视频| 国产成人福利网站| 啦啦啦中文在线观看日本| 亚洲无限av看| 五月婷婷免费视频| 日韩一级完整毛片| 中文字幕视频二区| 欧美日韩一区二区精品| 久久久久久欧美精品se一二三四| 国产精品素人一区二区| 久久久久久久久免费看无码| 国产在线精品一区二区 | 国产精品原创巨作av| 久久久久久久片| 夜夜嗨一区二区| 女人帮男人橹视频播放| 欧美成人自拍| 日韩精品最新在线观看| 香蕉精品久久| 国产视色精品亚洲一区二区| 精品视频在线播放一区二区三区 | 在线免费av片| 色噜噜夜夜夜综合网| 香蕉免费毛片视频| 亚洲影院免费观看| 国产这里有精品| 中文字幕一区二区三区不卡在线 | 欧美日韩一区二区国产| 一区二区不卡在线视频 午夜欧美不卡' | av一区二区在线看| 涩涩涩久久久成人精品| 国产免费一区二区三区在线能观看 | caopor在线| 国产成人精品影院| 伊人色在线视频| 黄色小说综合网站| 中文字幕在线视频精品| 极品销魂美女一区二区三区| 手机av在线网| 国内精品免费**视频| 日韩av片免费观看| 国产一区二区三区黄视频| 色呦色呦色精品| 国模无码大尺度一区二区三区| 九九精品久久久| 国产一区二区三区高清播放| 午夜一区二区视频| 国产高清不卡二三区| 91九色蝌蚪porny| 91香蕉视频黄| 亚洲成人黄色av| 中文久久乱码一区二区| 日本成人精品视频| 亚洲一区二区中文在线| 日韩久久久久久久久| 黑人欧美xxxx| 69av视频在线观看| 欧美日本高清视频在线观看| 国产区精品在线| 欧美精品一区二| 男男电影完整版在线观看| 国产一区二区成人| 精品国产99久久久久久| 欧美激情极品视频| 午夜av不卡| 91精品国产自产在线| 视频精品一区| 久久久久久欧美精品色一二三四| 国产一区二区三区网| 最新欧美日韩亚洲| 精品91久久久久| 日韩中文字幕二区| 国产一区二区三区在线观看免费| 麻豆传媒在线看| 久久日一线二线三线suv| 人妻熟人中文字幕一区二区| 亚洲精品国产第一综合99久久| 成年人午夜视频| 91福利在线免费观看| 国产尤物在线观看| 亚洲国产精品大全| 第一福利在线| 久久久久久久一| jizz欧美| 精品国产91亚洲一区二区三区www| 国产亚洲欧美日韩在线观看一区二区| 手机看片日韩国产| 欧美中文日韩| 色婷婷一区二区三区在线观看| 91亚洲永久精品| 视频国产一区二区| 欧美日韩性视频| 国产精品女人久久久| 国产丝袜一区二区三区| av网站免费在线观看| 国产成人av网址| 久久久久观看| 7777在线视频| 久久亚洲精选| www.四虎在线| 1024国产精品| 欧美性猛交xxxx乱大交hd| 亚洲国产91色在线| 主播国产精品| 国产日韩欧美视频| 国产精品三级| 日本网站免费在线观看| 国产精品原创巨作av| 你懂得在线观看| 91成人看片片| 少妇一级淫片免费看| 久久精品亚洲一区| 日本美女久久| 人偷久久久久久久偷女厕| 亚洲日韩视频| 不许穿内裤随时挨c调教h苏绵| 国产精品久久一卡二卡| 日韩 国产 欧美| 国产视频一区在线| 91色在线看| av日韩中文字幕| 亚洲欧洲日韩| 免费av不卡在线| 国产亚洲精品aa| 好吊色在线视频| 亚洲欧洲日产国码av系列天堂| ****av在线网毛片| 国产精品一区二区三区精品| 欧美大片一区| 天天操夜夜操很很操| 成人欧美一区二区三区视频网页| 五月激情丁香网| 伊人青青综合网站| 日本在线精品| 亚洲 日韩 国产第一区| 免费成人在线观看| 91视频免费看片| 欧美日韩久久不卡| 美女羞羞视频在线观看| 国产一区二中文字幕在线看| 日韩欧美在线中字| www.日本一区| 日韩美女久久久| 国产高清在线观看视频| 欧美韩日一区二区| 黄色网一区二区| 欧美在线观看成人| 久久久久九九视频| 成人小视频在线播放| 最新国产精品亚洲| 精品国产乱码一区二区三区| 老汉色影院首页| 成人一道本在线| 亚洲第一精品在线观看| 亚洲热线99精品视频| 成人国产综合| 日本一区二区免费高清视频| 国产成人午夜电影网| 国产一卡二卡在线| 亚洲欧美国产一本综合首页| 婷婷激情一区| 老司机av福利| 成人爱爱电影网址| 日韩手机在线视频| 色老头一区二区三区| 中文字幕一区图| 无码人妻丰满熟妇区96| 国产精品免费看片| 精品人妻一区二区三区换脸明星| 隔壁老王国产在线精品| 精品国产aⅴ| 免费黄频在线观看| 午夜视黄欧洲亚洲| 成年人视频在线看| 丁香五月网久久综合| 视频一区欧美精品| 欧美黄色aaa| 精品视频在线导航| **国产精品| 欧美色图色综合| 国产精品国产精品国产专区不片| 亚洲av永久无码国产精品久久| 欧美与黑人午夜性猛交久久久| 国产高清一区| 色天使在线视频| 欧美精品777| 都市激情综合| 一二三四中文字幕| 久久久99精品免费观看| 亚洲国产精彩视频| 国产精品亚洲美女av网站| 亚洲国产日韩在线| 欧美肥妇bbwbbw| 亚洲欧美日韩一区在线|