91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用Python構(gòu)建基于web應(yīng)用程序的交互式儀表板

星星科技指導(dǎo)員 ? 來(lái)源:NVIDIA ? 作者:Ajay Thorve ? 2022-04-21 14:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

使用 Plotly 的 Dash 、 RAPIDS 和 Data shader ,用戶可以構(gòu)建 viz 儀表板,既可以呈現(xiàn) 3 億多行的數(shù)據(jù)集,又可以保持高度的交互性,而無(wú)需預(yù)先計(jì)算聚合。

使用 RAPIDS cuDF 和 Plotly Dash 在 GPU 上進(jìn)行實(shí)時(shí)交互式可視化分析

Dash 是來(lái)自 Plotly 的一個(gè)開(kāi)源框架,用于使用 Python 構(gòu)建基于 web 應(yīng)用程序的交互式儀表板。此外,開(kāi)放源碼軟件( OSS )庫(kù)的 RAPIDS 套件提供了完全在 GPU 上執(zhí)行端到端數(shù)據(jù)科學(xué)和分析管道的自由。將這兩個(gè)項(xiàng)目結(jié)合起來(lái),即使在單個(gè) GPU 上,也可以實(shí)現(xiàn)對(duì)數(shù)千兆字節(jié)數(shù)據(jù)集的實(shí)時(shí)、交互式可視化分析。

此人口普查可視化使用 dashapi 生成圖表及其回調(diào)函數(shù)。相反, RAPIDS cuDF 被用來(lái)加速這些回調(diào),以實(shí)現(xiàn)實(shí)時(shí)聚合和查詢操作。

使用 2010 年人口普查數(shù)據(jù)的修改版本,結(jié)合 2006-2010 年美國(guó)社區(qū)調(diào)查數(shù)據(jù)(獲得了 fantastic IPUMS.org 的許可),我們將 美國(guó)的每一個(gè)人 映射到位于相當(dāng)于一個(gè)城市街區(qū)的單個(gè)點(diǎn)(隨機(jī))。因此,每個(gè)人都有與之相關(guān)聯(lián)的獨(dú)特的人口統(tǒng)計(jì)屬性,這些屬性支持以前不可能的細(xì)粒度過(guò)濾和數(shù)據(jù)發(fā)現(xiàn)。我們的 GitHub 上公開(kāi)了代碼、安裝細(xì)節(jié)和數(shù)據(jù)警告。

第 1 部分:可視化的數(shù)據(jù)準(zhǔn)備

雖然不是最新的數(shù)據(jù)集,但我們選擇使用 2010 年人口普查,因?yàn)樗哂懈叩乩砜臻g分辨率、大尺寸和可用性。經(jīng)過(guò)一些修改, 3.08 億行× 7 列( int8 型) 的最終數(shù)據(jù)集足夠大,足以說(shuō)明 GPU 加速的好處。

Census 2010 SF1 +形狀文件數(shù)據(jù)

我們決定把重點(diǎn)放在人口普查數(shù)據(jù)集上;最明顯的選擇是搜索 census.gov 網(wǎng)站,其中包括許多表格文件供下載。最適用的概要文件 1 有一個(gè)人口計(jì)數(shù)部分,其屬性包括性別、年齡、種族等。但是,該數(shù)據(jù)集是按 普查區(qū)水平 列表的,而不是按單個(gè)級(jí)別(出于各種隱私原因)。結(jié)果是 只有 211267 排, 每個(gè)街區(qū)一個(gè),包括性別、年齡、種族。

我們選擇使用人口普查塊邊界形狀文件來(lái)擴(kuò)展行計(jì)數(shù),以使所有塊的人口計(jì)數(shù)相等。然后,在邊界內(nèi)隨機(jī)分配一個(gè) lat long ,并為每個(gè)人創(chuàng)建一個(gè)唯一的行。為每個(gè)狀態(tài)執(zhí)行此操作的腳本可以在 Plotly-dash-rapids-census-demo 中找到。切換到由 IPUMS NHGIS 站點(diǎn)上的 數(shù)據(jù)查找工具 提供的更為用戶友好的數(shù)據(jù)集文件( SF1 和 tiger 邊界文件)可以加快這個(gè)過(guò)程。

在整個(gè)數(shù)據(jù)挖掘過(guò)程中,除了重復(fù)檢查每個(gè)匹配塊的聚合外,我們還使用我們自己的 cuxfilter 進(jìn)行快速原型制作和視覺(jué)精度檢查。在本例中,為 3.08 億行創(chuàng)建一個(gè)交互式地理散點(diǎn)圖非常簡(jiǎn)單:

import cuxfilter

import cudf

df = cudf.read_parquet(‘。/data/census_data.parquet/*’)

#create cuxfilter dataframe

cux_df = cuxfilter.DataFrame.from_dataframe(df)

chart0 = cuxfilter.charts.scatter_geo(x=‘x’, y=‘y’)

chart1 = cuxfilter.charts.bar(‘a(chǎn)ge’)

chart2 = cuxfilter.charts.bar(‘sex’)

d = cux_df.dashboard([chart0, chart1, chart2], layout=cuxfilter.layouts.feature_and_double_base

d.show()

圖 1 : Cuxfilter census dashboard ver 。 1

ACS 2006 – 2010 數(shù)據(jù)

出于好奇,我們是否可以結(jié)合其他有趣的屬性進(jìn)行交叉篩選,例如收入、教育程度和工人階級(jí),我們添加了 5 年的 2006-2010 年美國(guó)社區(qū)調(diào)查( ACS )數(shù)據(jù)集。該數(shù)據(jù)集在普查區(qū)塊組上聚合(比普查區(qū)塊大一級(jí))。因此,我們決定在塊組上進(jìn)行聚合,并將其任意分布到每個(gè)個(gè)體上,同時(shí)仍保持塊組級(jí)別的聚合值。修改后的數(shù)據(jù)集包括:

按年齡劃分的性別。

按教育程度分列的 25 歲及以上人口的性別。

16 歲及以上人口過(guò)去 12 個(gè)月收入(按 2010 年通貨膨脹調(diào)整后的美元計(jì)算)的性別。

按工人階級(jí)分列的 16 歲及以上平民就業(yè)人口的性別。

公共列是 Sex ,用于合并所有數(shù)據(jù)集。然而,雖然這種方法提供了其他有趣的屬性來(lái)進(jìn)行過(guò)濾,但結(jié)果有幾個(gè)注意事項(xiàng):

在地理位置或單個(gè)列上進(jìn)行交叉過(guò)濾將為所有其他列生成準(zhǔn)確的計(jì)數(shù)。

同時(shí)交叉過(guò)濾多個(gè)非地理列不一定會(huì)產(chǎn)生真實(shí)的計(jì)數(shù)。

與個(gè)人相關(guān)的屬性只是統(tǒng)計(jì)性的,不能反映真實(shí)的人。但是,當(dāng)匯總到人口普查區(qū)塊組級(jí)別或更高級(jí)別時(shí),它們是準(zhǔn)確的。

執(zhí)行該過(guò)程的筆記本可以在 plotly-dash-rapids-census-demo 上找到。最終的數(shù)據(jù)集如下所示:

圖 2 :最終普查數(shù)據(jù)集的 Dataframe 視圖。

下面是一個(gè)用于驗(yàn)證數(shù)據(jù)集值的快速 cuxfilter 儀表板:

import cuxfilter

import cudf

df = cudf.read_parquet(‘。/data/census_data.parquet/*’)

#create cuxfilter dataframe

cux_df = cuxfilter.DataFrame.from_dataframe(df)

#declare charts

chart0 = cuxfilter.charts.scatter_geo(x=‘x’, y=‘y’)

chart1 = cuxfilter.charts.bar(‘a(chǎn)ge’)

chart2 = cuxfilter.charts.bar(‘sex’)

chart3 = cuxfilter.charts.bar(‘cow’)

chart4 = cuxfilter.charts.bar(‘income’)

chart5 = cuxfilter.charts.bar(‘education’)

d = cux_df.dashboard(

[chart0, chart1, chart2, chart3, chart4, chart5],

layout=cuxfilter.layouts.feature_and_five_edge,

d.show()

圖 3 : Cuxfilter census dashboard ver 。 2 。

資源鏈接:

最終修改數(shù)據(jù)集 (~ 2 。 9 GB 焦油拼花文件)

所有數(shù)據(jù)準(zhǔn)備代碼 ( GitHub )

第 2 部分:使用 Plotly Dash 構(gòu)建交互式儀表板

Dash 支持在儀表板中添加單獨(dú)的 Plotly chart 對(duì)象,以及使用 Python 為每個(gè)對(duì)象圖形、選擇和布局單獨(dú)回調(diào)。例如,儀表板中基于上述數(shù)據(jù)集的圖表如下:

Scattermapbox :個(gè)體的種群分布

此圖表由兩層組成:

Scattermapbox 層。

Datashader 在上面生成了一個(gè)輸出圖像。

‘data’: [{

‘type’: ‘scattermapbox’,

‘lat’: lat, ‘lon’: lon,

}],

‘layout’: {

‘mapbox’: {

‘layers‘: [{

“sourcetype”: “image”,

“source”: datashader_output_img,

}],

}

圖 4 :美國(guó)人口的破折號(hào)數(shù)據(jù)陰影+地圖框聚集人口過(guò)剩計(jì)數(shù)。

圖表更新回調(diào)在以下位置觸發(fā):

“重新布局?jǐn)?shù)據(jù)”(向內(nèi)滾動(dòng)、向外滾動(dòng)、鼠標(biāo)平移)根據(jù)縮放級(jí)別重新渲染數(shù)據(jù)陰影圖像,以便分辨率保持不變。

下拉選擇“顏色依據(jù)”。

教育、收入、工人階級(jí)和年齡圖表的方框選擇。

地圖上的方框選擇。

條形圖:教育程度、收入、工人階級(jí)、年齡

‘data’: [

{‘type’: bar, ‘x’: Education, ‘y’: Count},

{‘type’: bar, ‘x’: Education, ‘y’: Count},

{‘type’: bar, ‘x’: Education, ‘y’: Count},

{‘type’: bar, ‘x’: Education, ‘y’: Count}

圖 5 :教育、收入、工人階級(jí)和年齡直方圖。

圖表更新回調(diào)在以下位置觸發(fā):

教育、收入、工人階級(jí)和年齡圖表的方框選擇。

地圖上的方框選擇。

下拉選擇“顏色依據(jù)”。

GPU 的適用范圍和幫助方式:

此儀表板中的每個(gè)圖表都從 GPU 加速到 cuDF :使用 GPU – 加速模式,在 24GB NVIDIA Titan NVIDIA RTX 上進(jìn)行過(guò)濾或縮放交互通常需要 0.2 – 2 秒。在高端 CPU 和 64GB 系統(tǒng)內(nèi)存上運(yùn)行,相同的交互通常需要 10-80 秒。通常, cuDF GPU 模式比 pandas CPU 模式快 20 倍以上 根據(jù)圖表。 20 倍的不同之處在于將報(bào)表儀表板轉(zhuǎn)換為交互式可視分析應(yīng)用程序。

數(shù)據(jù)可視化是一個(gè)迭代設(shè)計(jì)過(guò)程

盡管像人口普查中這樣一個(gè)記錄良好且可用的數(shù)據(jù)集,但了解這些數(shù)據(jù)并制定一個(gè) viz 來(lái)有效地與之交互似乎總是比對(duì)數(shù)據(jù)集 MIG 的任何初步研究都要花費(fèi)更長(zhǎng)的時(shí)間。

與所有數(shù)據(jù)可視化一樣,最終結(jié)果通常取決于在可用的數(shù)據(jù)和圖表、您試圖傳達(dá)的故事以及您正在通過(guò)的媒介(和硬件)之間找到適當(dāng)?shù)钠胶狻@纾覀儗?duì)列格式進(jìn)行了多次迭代,以確保 GPU 的使用可靠地保持在 24GB 單個(gè) GPU 限制之下,同時(shí)仍然允許多個(gè)圖表之間的平滑交互。

處理數(shù)據(jù)是復(fù)雜的,而處理大型數(shù)據(jù)集則更為復(fù)雜,但通過(guò)將 Plotly Dash 與 RAPIDS 相結(jié)合,我們可以提高分析師和數(shù)據(jù)科學(xué)家的能力。這些庫(kù)允許用戶在熟悉的環(huán)境中工作,并生成更大、更快、更具交互性的可視化應(yīng)用程序,為開(kāi)箱即用的生產(chǎn)做好準(zhǔn)備—將傳統(tǒng)可視化分析的邊界推向高性能計(jì)算領(lǐng)域。

關(guān)于作者

Ajay Thorve 是 NVIDIA 的軟件工程師, RAPIDS 組織的可視化團(tuán)隊(duì)的一部分。 Ajay 的背景是全棧開(kāi)發(fā)和數(shù)據(jù)科學(xué),主要興趣包括 JavaScript / TypeScript 和 Python 。目前, Ajay 在 RAPIDS viz 團(tuán)隊(duì)的工作主要集中在為 cuXfilter 和 node- RAPIDS 項(xiàng)目做出貢獻(xiàn)。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86700
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1224

    瀏覽量

    25442
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    python入門圣經(jīng)-高清電子書(建議下載)

    生成交互式的信息圖,以及創(chuàng)建和定制簡(jiǎn)單的Web 應(yīng)用,并幫讀者解決常見(jiàn)編程問(wèn)題和困惑。 純分享貼,有需要可以直接下載附件獲取完整資料! (如果內(nèi)容有幫助可以關(guān)注、點(diǎn)贊、評(píng)論支持一下哦~)
    發(fā)表于 04-10 16:53

    樹莓派新玩法:基于WiFi的CPU溫度與內(nèi)存使用Web-GUI監(jiān)控系統(tǒng)

    WiFi網(wǎng)絡(luò)遠(yuǎn)程監(jiān)控RaspberryPi的CPU溫度。該GUI可通過(guò)瀏覽器直接訪問(wèn),操作便捷且用戶友好。NiceGUI是一個(gè)優(yōu)秀的Python庫(kù),能大幅簡(jiǎn)化交互式現(xiàn)代
    的頭像 發(fā)表于 03-25 16:39 ?389次閱讀
    樹莓派新玩法:基于WiFi的CPU溫度與內(nèi)存使用<b class='flag-5'>Web</b>-GUI監(jiān)控系統(tǒng)

    中國(guó)移動(dòng)攜手華為打造全國(guó)首個(gè)5G新通話交互式客服

    近日,中國(guó)移動(dòng)在線服務(wù)公司與華為深度合作,基于中國(guó)移動(dòng)10086熱線,打造了全國(guó)首個(gè)5G新通話交互式客服。中國(guó)移動(dòng)10086熱線是全球最大的單體呼叫中心系統(tǒng),5G新通話交互式客服的全新10086將有望服務(wù)超過(guò)10億個(gè)人用戶和3億家庭用戶。
    的頭像 發(fā)表于 03-07 15:41 ?671次閱讀

    是否可以使用OpenVINO?部署管理器在部署機(jī)器上運(yùn)行Python應(yīng)用程序

    使用 OpenVINO?部署管理器創(chuàng)建運(yùn)行時(shí)軟件包。 將運(yùn)行時(shí)包轉(zhuǎn)移到部署機(jī)器中。 無(wú)法確定是否可以在部署機(jī)器上運(yùn)行 Python 應(yīng)用程序,而無(wú)需安裝OpenVINO? Toolkit 和 Python
    發(fā)表于 03-05 08:16

    AWTK-WEB 快速入門(6) - JS WebSocket 應(yīng)用程序

    WebSocket可以實(shí)現(xiàn)雙向通信,適合實(shí)時(shí)通信場(chǎng)景。本文介紹一下使用Javacript語(yǔ)言開(kāi)發(fā)AWTK-WEB應(yīng)用程序,并用WebSocket與服務(wù)器通訊。用AWTKDesigner新建一個(gè)應(yīng)用程
    的頭像 發(fā)表于 02-26 11:42 ?353次閱讀
    AWTK-<b class='flag-5'>WEB</b> 快速入門(6) - JS WebSocket <b class='flag-5'>應(yīng)用程序</b>

    AWTK-WEB 快速入門(5) - C 語(yǔ)言 WebSocket 應(yīng)用程序

    導(dǎo)讀WebSocket可以實(shí)現(xiàn)雙向通信,適合實(shí)時(shí)通信場(chǎng)景。本文介紹一下使用C語(yǔ)言開(kāi)發(fā)AWTK-WEB應(yīng)用程序,并用WebSocket與服務(wù)器通訊。用AWTKDesigner新建一個(gè)應(yīng)用程序先安裝
    的頭像 發(fā)表于 02-19 11:49 ?451次閱讀
    AWTK-<b class='flag-5'>WEB</b> 快速入門(5) - C 語(yǔ)言 WebSocket <b class='flag-5'>應(yīng)用程序</b>

    通過(guò)STM32CubeMonitor,實(shí)現(xiàn)對(duì)MCU數(shù)據(jù)監(jiān)控

    的 STM32CubeMonitor 還提供基于流程的圖形編輯器,可以輕松構(gòu)建自定義儀表板,并快速添加儀表、條形圖和繪圖等小部件。通過(guò)非侵入監(jiān)控,STM32CubeMonitor 保
    的頭像 發(fā)表于 01-27 08:00 ?800次閱讀
    通過(guò)STM32CubeMonitor,實(shí)現(xiàn)對(duì)MCU數(shù)據(jù)監(jiān)控

    AWTK-WEB 快速入門(4) - JS Http 應(yīng)用程序

    導(dǎo)讀XMLHttpRequest改變了Web應(yīng)用程序與服務(wù)器交換數(shù)據(jù)的方式,fetch是其繼任者。本文介紹一下如何使用JS語(yǔ)言開(kāi)發(fā)AWTK-WEB應(yīng)用程序,并用fetch訪問(wèn)遠(yuǎn)程數(shù)據(jù)。
    的頭像 發(fā)表于 01-22 11:31 ?432次閱讀
    AWTK-<b class='flag-5'>WEB</b> 快速入門(4) - JS Http <b class='flag-5'>應(yīng)用程序</b>

    AWTK-WEB 快速入門(2) - JS 應(yīng)用程序

    導(dǎo)讀AWTK可以使用相同的技術(shù)棧開(kāi)發(fā)各種平臺(tái)的應(yīng)用程序。有時(shí)我們需要使用Web界面與設(shè)備進(jìn)行交互,本文介紹一下如何使用JS語(yǔ)言開(kāi)發(fā)AWTK-WEB應(yīng)
    的頭像 發(fā)表于 12-05 01:04 ?494次閱讀
    AWTK-<b class='flag-5'>WEB</b> 快速入門(2) - JS <b class='flag-5'>應(yīng)用程序</b>

    AWTK-WEB 快速入門(1) - C 語(yǔ)言應(yīng)用程序

    導(dǎo)讀AWTK可以使用相同的技術(shù)棧開(kāi)發(fā)各種平臺(tái)的應(yīng)用程序。有時(shí)我們需要使用Web界面與設(shè)備進(jìn)行交互,本文介紹一下如何使用C語(yǔ)言開(kāi)發(fā)AWTK-WEB應(yīng)用
    的頭像 發(fā)表于 11-27 11:46 ?710次閱讀
    AWTK-<b class='flag-5'>WEB</b> 快速入門(1) - C 語(yǔ)言<b class='flag-5'>應(yīng)用程序</b>

    交互式ups和在線UPS不同點(diǎn),超過(guò)限值

    不間斷電源UPS是指在輸入電源或主電源發(fā)生故障時(shí)為負(fù)載提供應(yīng)急電源的電源系統(tǒng),被視為對(duì)輸入電源中斷的近乎瞬時(shí)保護(hù)。現(xiàn)代UPS系統(tǒng)的三個(gè)一般類別是在線UPS,線路交互式UPS和離線UPS。交互式ups
    的頭像 發(fā)表于 11-22 10:13 ?699次閱讀
    <b class='flag-5'>交互式</b>ups和在線UPS不同點(diǎn),超過(guò)限值

    使用OpenVINO GenAI API在C++中構(gòu)建AI應(yīng)用程序

    許多桌面應(yīng)用程序是使用 C++ 開(kāi)發(fā)的,而將生成AI(GenAI)功能集成到這些應(yīng)用程序中可能會(huì)很具有挑戰(zhàn)性,尤其是因?yàn)槭褂孟?Hugging Face 這樣的 Python 庫(kù)的復(fù)
    的頭像 發(fā)表于 10-12 09:36 ?1121次閱讀
    使用OpenVINO GenAI API在C++中<b class='flag-5'>構(gòu)建</b>AI<b class='flag-5'>應(yīng)用程序</b>

    交互式低延遲音頻解碼器

    普通音頻解碼器在處理音頻時(shí)可能會(huì)引入較高的延遲,通常適合于音樂(lè)播放或錄音等場(chǎng)景。而交互式低延遲音頻解碼器則專為實(shí)時(shí)應(yīng)用設(shè)計(jì),延遲通常在10毫秒以內(nèi)。這種快速響應(yīng)對(duì)于游戲、在線會(huì)議和直播等場(chǎng)景至關(guān)重要,能夠確保參與者幾乎沒(méi)有時(shí)間差。
    的頭像 發(fā)表于 09-28 11:15 ?564次閱讀
    <b class='flag-5'>交互式</b>低延遲音頻解碼器

    使用 TPS1HC100-Q1 高效驅(qū)動(dòng)汽車儀表板負(fù)載應(yīng)用說(shuō)明

    電子發(fā)燒友網(wǎng)站提供《使用 TPS1HC100-Q1 高效驅(qū)動(dòng)汽車儀表板負(fù)載應(yīng)用說(shuō)明.pdf》資料免費(fèi)下載
    發(fā)表于 09-12 10:41 ?0次下載
    使用 TPS1HC100-Q1 高效驅(qū)動(dòng)汽車<b class='flag-5'>儀表板</b>負(fù)載應(yīng)用說(shuō)明

    華納云:java web和java有什么區(qū)別java web和java有什么區(qū)別

    的平臺(tái),Java可以用于開(kāi)發(fā)桌面應(yīng)用程序、移動(dòng)應(yīng)用程序、企業(yè)級(jí)應(yīng)用程序等。 – Java Web是Java語(yǔ)言在Web開(kāi)發(fā)領(lǐng)域的應(yīng)用,它使用
    的頭像 發(fā)表于 07-16 13:35 ?1447次閱讀
    華納云:java <b class='flag-5'>web</b>和java有什么區(qū)別java <b class='flag-5'>web</b>和java有什么區(qū)別
    主站蜘蛛池模板: 69xxxx女人 | 高h文男主又粗又狠 | 欧美亚洲综合一区 | 四虎影院网址大全 | 欧美三级一区 | 国产一级簧片 | 国产免费成人在线视频 | 成人精品亚洲 | www.久色| 综合网天天操天天射 | 久久久免费精品 | 日韩三级免费 | 在线天堂中文官网 | 人人澡人人澡人人看青草 | 午夜看片a福利在线 | 亚洲免费一 | 特级一级毛片视频免费观看 | 亚洲国产一区二区在线 | 日韩三级免费 | 日本亚洲视频 | 爱爱456高清国语在线456 | 天堂中文www在线 | 欧美日一区 | 在线免费观看一级片 | 亚洲第一免费播放区 | 日本aaaaa级毛片片 | 国模私拍一区二区 | 久久综合九九亚洲一区 | 欧美成人精品一级高清片 | 欧美卡一卡二卡新区网站 | 黄色网址在线播放 | free 欧美| 天天躁夜夜躁狠狠躁2021西西 | 丁香婷婷综合网 | 天堂资源 | 久久久久久久国产免费看 | 天天干天天干天天干 | 国产成人精品男人的天堂538 | 亚洲一二三四区 | 国产一级αv片免费观看 | 黄色一级片毛片 |