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

深度學習利器:TensorFlow系統架構及高性能程序設計

人工智能 深度學習
2015年11月9日谷歌開源了人工智能平臺TensorFlow,同時成為2015年最受關注的開源項目之一。經歷了從v0.1到v0.12的12個版本迭代后,谷歌于2017年2月15日發布了TensorFlow 1.0 版本,并同時在美國加州山景城舉辦了首屆TensorFlow Dev Summit會議。

2015年11月9日谷歌開源了人工智能平臺TensorFlow,同時成為2015年最受關注的開源項目之一。經歷了從v0.1到v0.12的12個版本迭代后,谷歌于2017年2月15日發布了TensorFlow 1.0 版本,并同時在美國加州山景城舉辦了首屆TensorFlow Dev Summit會議。

TensorFlow 1.0及Dev Summit(2017)回顧

和以往版本相比,TensorFlow 1.0 的特性改進主要體現在以下幾個方面:

  • 速度更快 :TensorFlow 1.0版本采用了XLA的編譯技術,改進了TensorFlow的運行性能及內存利用。從Benchmark問題的測試結果來看,對單機Inception v3模型,實現了在單機8 GPUs上7.3倍的運算加速;對分布式Inception v3模型,實現了在多機64 GPUs上58倍的運算加速。
  • 更加靈活 :該版本除了支持tf.layers,tf.metrics及tf.losses模型的High-Level API外,實現了對keras(high-level neural networks library)API的全面兼容。
  • 更產品化 :TensorFlow Python API在v1.0版本中趨于穩定,為產品兼容性打下堅實基礎。

在TensorFlow 1.0版本發布的當天,谷歌公司還舉辦了TensorFlow 2017 DEV Summit。該 日程主要包括以下幾個方面的主題演講:

  • Hands-on TensorBoard可視化技術:介紹了如何使用TensorBoard,以及TensorFlow圖模型、訓練數據的可視化等。
  • TensorFlow High-Level API:介紹了使用Layers, Estimators, and Canned Estimators High-Level API定義訓練模型。
  • Integrating Keras & TensorFlow: 介紹了如何在TensorFlow中使用Keras API進行模型定義及訓練。
  • TensorFlow at DeepMind:介紹了在DeepMind中使用TensorFlow平臺的典型案例,包括AlphaGo等應用。
  • Skin Cancer Image Classification:介紹了斯坦福醫學院使用TensorFlow分類皮膚癌照片,用于醫學診斷。
  • Mobile and Embedded TensorFlow:介紹了如何把TensorFlow模型運行在移動終端、嵌入式設備,包括安卓,iOS等系統。
  • Distributed TensorFlow:系統性地介紹了分布式TensorFlow的相關技術,以及如何應用于大規模模型訓練。
  • TensorFlow Ecosystem:講解了TensorFlow的生態系統,包括生成訓練數據,分布式運行TensorFlow和serving models的產品化流程。
  • Serving Models in Production with TensorFlow Serving:系統性講解了如何在生產環境中應用TensorFlow Serving模型。
  • ML Toolkit:介紹了TensorFlow的機器學習庫,如線性回歸,KMeans等算法模型的使用。
  • Sequence Models and the RNN API:介紹了如何構建高性能的sequence-to-sequence模型,以及相關API。
  • Wide & Deep Learning: 介紹了如何結合Wide模型和Deep模型構建綜合訓練模型。
  • Magenta,Music and Art Generation:使用增強型深度學習模型生成音樂聲音和藝術圖片。
  • Case Study,TensorFlow in Medicine – Retinal Imaging:使用TensorFlow機器學習平臺對醫學視網膜圖片進行分類,輔助醫學診斷。

TensorFlow系統架構

TensorFlow作為分布式機器學習平臺,主要架構如下圖所示。RPC和RDMA為網絡層,主要負責傳遞神經網絡算法參數。CPU和GPU為設備層,主要負責神經網絡算法中具體的運算操作。Kernel為TensorFlow中算法操作的具體實現,如卷積操作,激活操作等。Distributed Master用于構建子圖;切割子圖為多個分片,不同的子圖分片運行在不同的設備上;Master還負責分發子圖分片到Executor/Work端。Executor/Work在設備(CPUs,GPUs,etc.)上,調度執行子圖操作;并負責向其它Worker發送和接收圖操作的運行結果。C API把TensorFlow分割為前端和后端,前端(Python/C++/Java Client)基于C API觸發TensorFlow后端程序運行。Training libraries和Inference libs是模型訓練和推導的庫函數,為用戶開發應用模型使用。

深度學習利器:TensorFlow系統架構及高性能程序設計

下圖為Client、Master及Worker的內部工作原理。”/job:worker/task:0″ 和 “/job:ps/task:0” 表示worker中的執行服務。”job:ps”表示參數服務器,用于存儲及更新模型參數。”job:worker”用于優化模型參數,并發參數發送到參數服務器上。Distributed Master和Worker Service只存在于分布式TensorFlow中。單機版本的TensorFlow實現了Local的Session,通過本地進程的內部通訊實現上述功能。

深度學習利器:TensorFlow系統架構及高性能程序設計

用戶編寫TensorFlow應用程序生成計算圖,Client組件會創建Session,并通過序列化技術,發送圖定義到Distributed Master組件。下圖中,Client創建了一個 s+=w*x+b的圖計算模型。

深度學習利器:TensorFlow系統架構及高性能程序設計

當Client觸發Session運算的時候,Maser構建將要運行的子圖。并根據設備情況,切割子圖為多個分片。下面為Master構建的運行子圖:

深度學習利器:TensorFlow系統架構及高性能程序設計

接著切割子圖,把模型參數分組在參數服務器上,圖計算操作分組在運算Worker上。下圖為一種可行的圖切割策略:

深度學習利器:TensorFlow系統架構及高性能程序設計

Distributed Master會根據模型參數的分區情況進行切割邊,在Task間插入發送和接收Tensor信息的通信節點,如下圖所示:

深度學習利器:TensorFlow系統架構及高性能程序設計

接著Distributed Master通過RegisterGraph方法發送子圖分片給Task,如下圖所示:

深度學習利器:TensorFlow系統架構及高性能程序設計

Master通過RunGraph觸發子圖運算,Worker會使用GPU/CPU運算設備執行TensorFlow Kernel運算。在本節點的CPU和GPU之間,使用cudaMemcpyAsync傳輸數據;在本節點GPU和GPU之間,使用peer-to-peer DMA傳輸數據,避免通過CPU復制數據。TensorFlow使用gRPC(TCP)和RDMA (Converged Ethernet)技術,實現Worker間的數據通信及傳輸,如下圖所示:

深度學習利器:TensorFlow系統架構及高性能程序設計

高性能程序設計

TensorFlow內核采用C/C++開發,并提供了C++,Python,Java,Go語言的Client API。特別是Python API,是目前主流的TensorFlow模型開發接口。但為什么還需要采用C++ API去訓練模型呢?本文基于如下 兩點考慮 ,首先當我們采用Python API去訓練模型的時候,需要不斷地用Python API調用C/C++底層接口,重復的接口調用一定程度上影響了程序的執行性能。更為重要的是,在GPU上訓練模型的時候需要大量的內存交換;如果采用C++ API去訓練模型,可提供更好的運算性能及更好地控制GPU內存的分配。

下圖為Python API的運算架構:在模型訓練的每次迭代中,程序通過Python API讀取Batch Data,然后通過TensorFlow Session Run接口,傳遞數據給C++,并觸發神經網絡訓練。如下圖所示:

深度學習利器:TensorFlow系統架構及高性能程序設計

下圖為C++ API的運算架構:在模型訓練的每次迭代中,通過C++ API讀取Batch Data后,直接觸發模型訓練。減少了不同語言間API接口的循環調用及數據傳輸。如下圖所示:

深度學習利器:TensorFlow系統架構及高性能程序設計

為了采用C++ API進行模型訓練,我們首先需要編寫訓練模型,這個編寫過程可以采用Python語言來完成。我們首先采用Python API編寫訓練模型,然后把圖模型轉換為Protobuf的序列化文件。接著通過C++ API加載該模型文件,創建TensorFlow Session,初始化模型變量,以及加載訓練數據并執行神經網絡訓練。程序架構如下圖所示:

深度學習利器:TensorFlow系統架構及高性能程序設計

下面為使用Python API定義訓練模型的示例:

with tf.Session() as sess:

  1. #定義Placeholder Tensor接入訓練數據 
  2.     x = tf.placeholder(tf.float32, [None, 32], name="x"
  3.     y = tf.placeholder(tf.float32, [None, 8], name="y"
  4.  
  5.     #定義訓練模型 
  6.     w1 = tf.Variable(tf.truncated_normal([32, 16], stddev=0.1)) 
  7.     b1 = tf.Variable(tf.constant(0.0, shape=[16])) 
  8.     w2 = tf.Variable(tf.truncated_normal([16, 8], stddev=0.1)) 
  9.     b2 = tf.Variable(tf.constant(0.0, shape=[8])) 
  10.     a = tf.nn.tanh(tf.nn.bias_add(tf.matmul(x, w1), b1)) 
  11.     y_out = tf.nn.tanh(tf.nn.bias_add(tf.matmul(a, w2), b2), name="y_out"
  12.     cost = tf.reduce_sum(tf.square(y-y_out), name="cost"
  13.     optimizer = tf.train.AdamOptimizer().minimize(cost, name="train"
  14.  
  15.     #定義變量初始化操作 
  16.     init = tf.initialize_variables(tf.all_variables(), name='init_all_vars_op'
  17.  
  18.     #把圖模型轉換為Protobuf文件 
  19. tf.train.write_graph(sess.graph_def, './''mlp.pb', as_text=False

下面為使用C++ API加載Protobuf圖模型,并執行訓練的示例:

  1. #include "tensorflow/core/public/session.h" 
  2. #include "tensorflow/core/graph/default_device.h" 
  3. using namespace tensorflow; 
  4.  
  5. int main(int argc, char* argv[]) { 
  6.     //Protobuf模型文件名 
  7.     std::string graph_definition = "mlp.pb"
  8.     //Tensorflow Sesssion 
  9.     Session* session; 
  10.  
  11.     //定義圖模型對象 
  12.     GraphDef graph_def; 
  13.     SessionOptions opts; 
  14.  
  15.     //存儲Session會話的運行結果 
  16.     std::vector<Tensor> outputs;  
  17.  
  18.     #加載Protobuf模型文件到圖模型對象中 
  19.     TF_CHECK_OK(ReadBinaryProto(Env::Default(), graph_definition, &graph_def)); 
  20.  
  21.     // 默認在gpu 0上執行模型的訓練操作 
  22.     graph::SetDefaultDevice("/gpu:0", &graph_def); 
  23.  
  24.     //設定GPU顯存使用參數 
  25.     opts.config.mutable_gpu_options()->set_per_process_gpu_memory_fraction(0.5); 
  26.     opts.config.mutable_gpu_options()->set_allow_growth(true); 
  27.  
  28.     //創建TensorFlow會話 
  29.     TF_CHECK_OK(NewSession(opts, &session)); 
  30.  
  31.     // 加載圖對象到會話中 
  32.     TF_CHECK_OK(session->Create(graph_def)); 
  33.  
  34.     // 執行模型參數初始化操作 
  35.     TF_CHECK_OK(session->Run({}, {}, {"init_all_vars_op"}, nullptr)); 
  36.  
  37.     //定義模型輸入數據,包括數據類型和維度信息 
  38.     Tensor x(DT_FLOAT, TensorShape({100, 32})); 
  39.     Tensor y(DT_FLOAT, TensorShape({100, 8})); 
  40.  
  41.     //把Tensor轉換為矩陣,并初始化Tensor數據 
  42.     auto _XTensor = x.matrix<float>(); 
  43.     auto _YTensor = y.matrix<float>(); 
  44.     _XTensor.setRandom(); 
  45.     _YTensor.setRandom(); 
  46.  
  47.     for (int i = 0; i < 10; ++i) { 
  48.         //執行模型的訓練操作,{{"x", x}, {"y", y}}表示輸入數據Tensor名稱和Tensor對象;{"cost"}表示要獲取輸出值的操作名稱;&outputs表示執行"cost"操作后返回的Tensor對象 
  49.         TF_CHECK_OK(session->Run({{"x", x}, {"y", y}}, {"cost"}, {}, &outputs));  
  50.  
  51.         //獲取執行“cost“操作后的運算結果 
  52.         float cost = outputs[0].scalar<float>()(0); 
  53.         std::cout << "Cost: " << cost << std::endl; 
  54.  
  55.         //執行"train"操作 
  56.         TF_CHECK_OK(session->Run({{"x", x}, {"y", y}}, {}, {"train"}, nullptr)); // Train 
  57.         outputs.clear(); 
  58.     } 
  59.  
  60.     //關閉Session及刪除Session對象 
  61.     session->Close(); 
  62.     delete session; 
  63.     return 0; 

當C++程序寫好后,編譯時候需要鏈接的頭文件,開源已經幫我們整理好了,存放于目錄/usr/lib/python2.7/site-packages/tensorflow/include下。編譯和運行的時候需要鏈接libtensorflow_cc.so,可以按照下面的方式編譯該庫文件:bazel build -c opt //tensorflow:libtensorflow_cc.so –copt=-m64 –linkopt=-m64 –spawn_strategy=standalone –genrule_strategy=standalone –verbose_failures。具體可參考TensorFlow源代碼的官方編譯文檔。

總結

本文首先回顧了TensorFlow 1.0主要新特性及TensorFlow 2017 Dev Summit的主要議程。到目前為止TensorFlow的GitHub Star排名為51000+, Fork排名已達24000+,有15000+ commits。并隨著TensorFlow新版本的不斷發布以及新特性的不斷增加,TensorFlow使用更加靈活,運行速度更快,使用方式更產品化,已成為目前主流的深度學習平臺之一。

接著介紹了TensorFlow的系統架構,包括Client,Master,Worker,Kernel的相關概念及運行方式,是一種適合大規模分布式訓練的機器學習平臺。從上述系統架構中可以看到,TensorFlow內核采用C/C++開發,當采用Python API去訓練模型的時候,需要不斷地用Python調用C/C++底層接口,重復的接口調用一定程度上影響了程序的執行性能。如果有最求高性能運算的朋友,可以嘗試用下本文高性能運算章節推薦的方法。

參考文獻

  1. http://www.tensorflow.org
  2. 深度學習利器:分布式TensorFlow及實例分析
  3. 深度學習利器:TensorFlow使用實戰

作者介紹

武維,博士,現為IBM Spectrum Computing 研發工程師。主要從事大數據,深度學習,云計算等領域的研發工作。

責任編輯:未麗燕 來源: 36大數據
相關推薦

2017-08-16 10:57:52

深度學習TensorFlowNLP

2012-02-13 16:09:40

Java

2017-09-21 12:29:58

深度學習TensorFlow智能終端

2024-09-02 18:10:20

2011-04-22 16:23:16

ASP.NET動態應用系統

2024-07-05 09:41:42

2023-02-02 08:18:41

2010-01-11 10:34:22

C++程序

2018-09-06 08:00:00

深度學習TensorFlowPython

2010-04-13 14:59:20

Unix操作系統

2010-01-11 17:43:23

C++程序設計

2010-03-04 10:11:17

Android手機系統

2011-08-25 10:35:14

Lua語言函數

2020-01-17 11:00:23

流量系統架構

2020-07-16 08:06:53

網關高性能

2025-04-07 00:00:00

CaffeineJava數據存取

2021-01-03 09:58:39

StampedLock線程開發技術

2021-05-24 09:28:41

軟件開發 技術

2017-08-07 21:10:55

MySQLUbuntusysbench

2016-12-11 10:08:31

高性能組網能力
點贊
收藏

51CTO技術棧公眾號

先锋资源在线视频| 日本不卡二区| 日操夜操天天操| 一本色道久久综合亚洲精品酒店| 精品久久中文字幕| 日韩精品一区二区三区外面 | 999精品视频一区二区三区| 精品少妇久久久| 美日韩中文字幕| 在线综合亚洲欧美在线视频 | 久久视频一区| 色婷婷**av毛片一区| 亚洲午夜久久久久久久久| 在线成人av观看| 成人免费一区二区三区在线观看| 国产女人水真多18毛片18精品| 亚洲欧美一二三区| 欧美成人首页| 在线色欧美三级视频| 麻豆免费在线观看视频| 日韩电影网站| 亚洲国产另类av| 亚洲欧美日韩精品久久久| 囯产精品一品二区三区| 久久精品国产色蜜蜜麻豆| 国内精品久久久久久久久| 亚洲精品成人av久久| 久久99国产精品久久99大师| 91精品免费观看| 国产综合免费视频| 欧美寡妇性猛交xxx免费| 久久久精品免费网站| 国产精品我不卡| 6—12呦国产精品| 肉色丝袜一区二区| 久久久久久久久久婷婷| 加勒比婷婷色综合久久| 精品久久精品| 亚洲精品小视频| 精品1卡二卡三卡四卡老狼| www.成人| 欧美日韩高清一区二区| 亚洲激情在线观看视频| 免费福利视频一区二区三区| 亚洲成人7777| 97在线国产视频| a视频在线观看免费| 国产精品久久三| 色就是色欧美| 国产福利小视频在线观看| gogogo免费视频观看亚洲一| 国产a一区二区| 精品国产亚洲一区二区麻豆| 激情欧美一区二区三区在线观看| 国产欧美日韩精品丝袜高跟鞋| 狠狠狠狠狠狠狠| 日韩制服丝袜先锋影音| 国产va免费精品高清在线| 六月丁香婷婷综合| 亚洲一区区二区| 欧美一区二区三区免费视| 欧美精品二区三区| 亚洲一区国产| 国产99在线|中文| 中文字幕二区三区| 免费视频最近日韩| 成人黄色片网站| 国产女人高潮的av毛片| 国产乱子轮精品视频| 91精品综合久久| 国产18精品乱码免费看| 99久久精品免费精品国产| 国产精品一区二区三区在线观| 99热这里只有精品1| 国产成人精品亚洲777人妖| 亚洲va电影大全| 亚洲成熟女性毛茸茸| 成人av在线播放网站| 久久久精品动漫| 福利视频在线看| 综合色中文字幕| 黄色激情在线视频| 欧美13videosex性极品| 一本色道久久综合亚洲91 | 久久亚洲午夜电影| 国产一级在线观看| 成人欧美一区二区三区小说| 精品嫩模一区二区三区| √最新版天堂资源网在线| 欧美性猛交xxxxx免费看| 久久婷婷综合色| 视频一区中文字幕精品| 日韩精品在线播放| 国产wwwwxxxx| 在线亚洲欧美| 国产精品青青在线观看爽香蕉| 国内精品久久久久久久久久久| av成人免费在线| 图片区小说区区亚洲五月| 亚洲按摩av| 91久久精品网| 亚洲精品中文字幕乱码无线| 在线成人动漫av| 欧美www在线| www.久久精品视频| 国产精品一区二区免费不卡| 欧美欧美一区二区| 羞羞的视频在线观看| 色婷婷综合久久久久中文一区二区| 日韩精品视频一二三| 欧美人体视频| 久久久国产精品免费| 精品不卡一区二区| 国产成人亚洲综合色影视| 欧美男人的天堂| 国产黄色大片在线观看| 欧美日本一区二区在线观看| 北岛玲一区二区| **女人18毛片一区二区| 日韩av第一页| 色窝窝无码一区二区三区| 国产精品卡一卡二卡三| 妞干网在线免费视频| 亚洲日本va中文字幕| 日韩视频在线一区| 亚洲黄网在线观看| 成人看片黄a免费看在线| 正在播放精油久久| 日韩视频网站在线观看| 亚洲精品动漫100p| 国产在线视频二区| 国产一二精品视频| 亚洲欧美综合一区| 最新日韩一区| 亚洲欧美日韩一区二区三区在线| 久久精品美女视频| 国产乱子伦一区二区三区国色天香| 色女孩综合网| 日本在线视频一区二区| 日韩精品丝袜在线| 日本特黄特色aaa大片免费| 国产很黄免费观看久久| 99re8这里只有精品| 成人在线啊v| 久久久av亚洲男天堂| 一级做a爰片久久毛片16| 国产精品欧美一区喷水| 超碰在线97免费| 国产亚洲欧美日韩在线观看一区二区 | 少妇高潮一69aⅹ| 99久久夜色精品国产亚洲96| 国产精品视频中文字幕91| 福利视频在线播放| 91福利视频网站| 成人片黄网站色大片免费毛片| 亚洲综合不卡| 欧美精品成人一区二区在线观看| jizz内谢中国亚洲jizz| 亚洲美女性视频| 黄色片中文字幕| 国产欧美一区二区精品久导航 | 麻豆传媒一区二区| 性欧美又大又长又硬| 亚洲精选中文字幕| 免费视频网站在线观看入口| 国产欧美精品一区二区色综合| 亚洲人辣妹窥探嘘嘘| 91偷拍一区二区三区精品| 国产精品亚洲精品| 免费观看久久久久| 日韩三级中文字幕| 日韩av在线播| 久久久五月婷婷| 亚洲国产高清av| 欧美伊人影院| 久久精精品视频| 成人mm视频在线观看| 日韩亚洲欧美中文高清在线| 国产三级按摩推拿按摩| 亚洲第一在线综合网站| 香蕉视频黄色在线观看| 日本成人在线一区| 久久久久久久久网| 日韩一级电影| 国产精品美女呻吟| 久草在线资源站资源站| 精品视频久久久| 一区二区三区在线免费观看视频| 亚洲码国产岛国毛片在线| 人妻体内射精一区二区三区| 久久看片网站| 男人的天堂成人| 青青久久av| 成人福利在线观看| 97人人在线视频| 中文字幕亚洲一区| 亚洲第一色网站| 91官网在线免费观看| 中文字幕av播放| 91丨九色丨黑人外教| 日本人69视频| 亚洲一区久久| 国产美女永久无遮挡| 欧美一二区在线观看| 国产精品对白刺激久久久| 欧洲成人一区| 国内精品小视频在线观看| 在线观看av黄网站永久| 亚洲国产欧美一区二区丝袜黑人| 亚洲图片视频小说| 懂色aⅴ精品一区二区三区蜜月| 熟女少妇a性色生活片毛片| 91在线播放网址| 中文字幕在线播放一区二区| 蜜臀久久99精品久久久久久9| av免费观看大全| 91精品国产91久久久久久黑人| 久久久久久国产精品免费免费| 欧美大片91| 国产欧美日韩综合精品| 综合日韩av| 欧美精品第一页在线播放| 免费在线午夜视频| 国产一区二区久久精品| 亚洲 美腿 欧美 偷拍| 91精品国产综合久久久久久久 | 国产亚洲第一区| 国产亚洲字幕| 国产精品丝袜高跟| 欧美一级大片| 欧美亚洲伦理www| 91超碰免费在线| 欧美极品少妇xxxxⅹ裸体艺术| 欧美黄色激情| 日韩亚洲欧美中文在线| av中文字幕一区二区三区| 精品视频—区二区三区免费| 污视频网站在线播放| 亚洲国产成人91精品| 性中国古装videossex| 日韩视频在线一区二区| 国产伦理吴梦梦伦理| 7777精品伊人久久久大香线蕉超级流畅| 亚洲色成人www永久网站| 欧美视频专区一二在线观看| 日韩伦理在线视频| 亚洲国产中文字幕在线视频综合| 久久久久亚洲av成人片| 一级精品视频在线观看宜春院| 看免费黄色录像| 亚洲理论在线观看| 精品国产精品国产精品| 亚洲人成网站色在线观看| 欧美a级片免费看| 亚洲欧美日韩在线| 在线看的黄色网址| 天堂资源在线中文精品| 日本在线xxx| 一区二区毛片| 18岁网站在线观看| 国产伦理一区| 男人亚洲天堂网| 日韩国产精品91| 天天干天天综合| 狠狠色丁香久久婷婷综合_中| 亚洲午夜精品一区| 国产剧情av麻豆香蕉精品| 国产亚洲色婷婷久久| 国产成人免费av在线| 丰满岳乱妇一区二区| 99精品桃花视频在线观看| 国精产品一区一区三区免费视频| 久久综合九色综合97婷婷女人| 熟女高潮一区二区三区| 欧美激情一区二区三区不卡| 色www亚洲国产阿娇yao| 亚洲免费观看高清完整| 国产污视频在线看| 日韩欧美国产成人| 中文字幕在线播出| 欧美一级片免费看| 欧美一级视频免费| 亚洲免费小视频| 婷婷视频在线| 欧美精品久久久久| 中国字幕a在线看韩国电影| 国产精品99免视看9| 国产激情综合| 国产一区二区无遮挡| 国产最新精品| 国产树林野战在线播放| 亚洲美女视频在线免费观看| 美女一区二区三区视频| 高清国产午夜精品久久久久久| 3d动漫精品啪啪一区二区下载| 日韩一区在线播放| 日本三级网站在线观看| 欧美午夜在线一二页| www国产在线| 亚洲美女自拍视频| av毛片在线免费| 国产成人av网址| 国产精品极品| 一区二区视频在线播放| 国产欧美日本| 99999精品| 久久精品在这里| 久久久久久久久99| 欧美伊人久久久久久午夜久久久久| 好男人www在线视频| 色七七影院综合| 美女日韩欧美| 国产精品视频一区二区三区经| 日韩精品欧美激情一区二区| 97国产精东麻豆人妻电影| 韩国av一区二区三区四区| 亚洲一区二区自偷自拍| 亚洲成年人网站在线观看| 国产又粗又猛视频免费| 亚洲人成电影在线| heyzo一区| 999日本视频| 国产精品99视频| 男人插女人下面免费视频| 97久久超碰国产精品| 国产一级在线观看视频| 日韩一区二区三区精品视频 | 国产精品18久久久久久久网站| 一级片视频免费看| 午夜视频一区二区三区| 亚洲av无码乱码国产精品久久| 久久久成人精品视频| 国产精品66| 亚洲国产精品视频一区| 水蜜桃久久夜色精品一区的特点| 国产精品久久AV无码| 亚洲国产日韩一级| 国产99视频在线| 久久视频在线直播| 色综合一区二区日本韩国亚洲| 亚洲国产日韩综合一区| 久久深夜福利| 国产精成人品免费观看| 色哟哟亚洲精品| 男女视频在线观看| 亲爱的老师9免费观看全集电视剧| 粉嫩av一区二区| 久无码久无码av无码| 不卡电影一区二区三区| 国产一级片网址| 日韩大片免费观看视频播放| 国产美女高潮在线| 国内精品国语自产拍在线观看| 99成人免费视频| 色噜噜在线观看| 91极品视觉盛宴| 二区在线视频| 国产在线观看精品| 亚洲综合五月| 女同性αv亚洲女同志| 亚洲午夜激情网站| 四虎电影院在线观看| 18久久久久久| 精品久久久久久久| 九九精品久久久| 亚洲精品国产第一综合99久久 | av动漫免费观看| 国产精品一区二区在线观看不卡| 免费三片在线播放| 亚洲韩国青草视频| 国产精品亚洲一区二区三区在线观看| 日韩一区二区电影在线观看| 久久se这里有精品| 麻豆成人在线视频| 亚洲国产精品成人一区二区| 91精品产国品一二三产区| 亚洲精品成人a8198a| 国产九色精品成人porny| 日韩免费一二三区| 亚洲女成人图区| 国产精品一区三区在线观看| 成人性生活视频免费看| 国产欧美日韩不卡免费| av网站在线免费看| 91干在线观看| 91久久夜色精品国产按摩| 久久久久久婷婷| 在线观看亚洲精品| h片在线免费观看| 欧美日产一区二区三区在线观看| 韩国v欧美v日本v亚洲v| 久久久久久久久久久久久久av| www.欧美精品一二三区| 久9re热视频这里只有精品| 在线观看免费视频高清游戏推荐| 亚洲综合激情网| 91在线播放网站| 国产尤物99| 韩日欧美一区二区三区| 国产性猛交╳xxx乱大交|