国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用Python構建基于web應用程序的交互式儀表板

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

掃碼添加小助手

加入工程師交流群

使用 Plotly 的 Dash 、 RAPIDS 和 Data shader ,用戶可以構建 viz 儀表板,既可以呈現 3 億多行的數據集,又可以保持高度的交互性,而無需預先計算聚合。

使用 RAPIDS cuDF 和 Plotly Dash 在 GPU 上進行實時交互式可視化分析

Dash 是來自 Plotly 的一個開源框架,用于使用 Python 構建基于 web 應用程序的交互式儀表板。此外,開放源碼軟件( OSS )庫的 RAPIDS 套件提供了完全在 GPU 上執行端到端數據科學和分析管道的自由。將這兩個項目結合起來,即使在單個 GPU 上,也可以實現對數千兆字節數據集的實時、交互式可視化分析。

此人口普查可視化使用 dashapi 生成圖表及其回調函數。相反, RAPIDS cuDF 被用來加速這些回調,以實現實時聚合和查詢操作。

使用 2010 年人口普查數據的修改版本,結合 2006-2010 年美國社區調查數據(獲得了 fantastic IPUMS.org 的許可),我們將 美國的每一個人 映射到位于相當于一個城市街區的單個點(隨機)。因此,每個人都有與之相關聯的獨特的人口統計屬性,這些屬性支持以前不可能的細粒度過濾和數據發現。我們的 GitHub 上公開了代碼、安裝細節和數據警告。

第 1 部分:可視化的數據準備

雖然不是最新的數據集,但我們選擇使用 2010 年人口普查,因為它具有高地理空間分辨率、大尺寸和可用性。經過一些修改, 3.08 億行× 7 列( int8 型) 的最終數據集足夠大,足以說明 GPU 加速的好處。

Census 2010 SF1 +形狀文件數據

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

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

在整個數據挖掘過程中,除了重復檢查每個匹配塊的聚合外,我們還使用我們自己的 cuxfilter 進行快速原型制作和視覺精度檢查。在本例中,為 3.08 億行創建一個交互式地理散點圖非常簡單:

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(‘age’)

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 數據

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

按年齡劃分的性別。

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

16 歲及以上人口過去 12 個月收入(按 2010 年通貨膨脹調整后的美元計算)的性別。

按工人階級分列的 16 歲及以上平民就業人口的性別。

公共列是 Sex ,用于合并所有數據集。然而,雖然這種方法提供了其他有趣的屬性來進行過濾,但結果有幾個注意事項:

在地理位置或單個列上進行交叉過濾將為所有其他列生成準確的計數。

同時交叉過濾多個非地理列不一定會產生真實的計數。

與個人相關的屬性只是統計性的,不能反映真實的人。但是,當匯總到人口普查區塊組級別或更高級別時,它們是準確的。

執行該過程的筆記本可以在 plotly-dash-rapids-census-demo 上找到。最終的數據集如下所示:

圖 2 :最終普查數據集的 Dataframe 視圖。

下面是一個用于驗證數據集值的快速 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(‘age’)

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 。

資源鏈接:

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

所有數據準備代碼 ( GitHub )

第 2 部分:使用 Plotly Dash 構建交互式儀表板

Dash 支持在儀表板中添加單獨的 Plotly chart 對象,以及使用 Python 為每個對象圖形、選擇和布局單獨回調。例如,儀表板中基于上述數據集的圖表如下:

Scattermapbox :個體的種群分布

此圖表由兩層組成:

Scattermapbox 層。

Datashader 在上面生成了一個輸出圖像。

‘data’: [{

‘type’: ‘scattermapbox’,

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

}],

‘layout’: {

‘mapbox’: {

‘layers‘: [{

“sourcetype”: “image”,

“source”: datashader_output_img,

}],

}

圖 4 :美國人口的破折號數據陰影+地圖框聚集人口過剩計數。

圖表更新回調在以下位置觸發:

“重新布局數據”(向內滾動、向外滾動、鼠標平移)根據縮放級別重新渲染數據陰影圖像,以便分辨率保持不變。

下拉選擇“顏色依據”。

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

地圖上的方框選擇。

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

‘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 :教育、收入、工人階級和年齡直方圖。

圖表更新回調在以下位置觸發:

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

地圖上的方框選擇。

下拉選擇“顏色依據”。

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

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

數據可視化是一個迭代設計過程

盡管像人口普查中這樣一個記錄良好且可用的數據集,但了解這些數據并制定一個 viz 來有效地與之交互似乎總是比對數據集 MIG 的任何初步研究都要花費更長的時間。

與所有數據可視化一樣,最終結果通常取決于在可用的數據和圖表、您試圖傳達的故事以及您正在通過的媒介(和硬件)之間找到適當的平衡。例如,我們對列格式進行了多次迭代,以確保 GPU 的使用可靠地保持在 24GB 單個 GPU 限制之下,同時仍然允許多個圖表之間的平滑交互。

處理數據是復雜的,而處理大型數據集則更為復雜,但通過將 Plotly Dash 與 RAPIDS 相結合,我們可以提高分析師和數據科學家的能力。這些庫允許用戶在熟悉的環境中工作,并生成更大、更快、更具交互性的可視化應用程序,為開箱即用的生產做好準備—將傳統可視化分析的邊界推向高性能計算領域。

關于作者

Ajay Thorve 是 NVIDIA 的軟件工程師, RAPIDS 組織的可視化團隊的一部分。 Ajay 的背景是全棧開發和數據科學,主要興趣包括 JavaScript / TypeScript 和 Python 。目前, Ajay 在 RAPIDS viz 團隊的工作主要集中在為 cuXfilter 和 node- RAPIDS 項目做出貢獻。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • python
    +關注

    關注

    57

    文章

    4876

    瀏覽量

    90022
  • 數據集
    +關注

    關注

    4

    文章

    1236

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Python運行本地Web服務并實現遠程訪問

    本文介紹使用Python搭建本地Web服務并結合 ZeroNews 實現公網訪問。
    的頭像 發表于 02-06 11:39 ?149次閱讀
    <b class='flag-5'>Python</b>運行本地<b class='flag-5'>Web</b>服務并實現遠程訪問

    AMD Alveo MA35D加速器:開啟大規模交互式流媒體新時代

    AMD Alveo MA35D加速器:開啟大規模交互式流媒體新時代 在當今全球視頻市場被直播主導的背景下,低延遲應用不斷涌現,對基礎設施和視頻處理技術的成本結構及部署策略產生了深遠影響。AMD推出
    的頭像 發表于 12-15 14:35 ?367次閱讀

    【EASY EAI Nano-TB(RV1126B)開發試用】命令行功能測試-紅綠燈按鈕項目-Python實現簡單的Web服務器

    Nano-TB(RV1126B)****開發?,構建一個能夠通過Web服務讀取物理按鍵三色LED燈狀態的設備監控系統,打造符合簡單狀態顯示需求的服務器。 硬件 EASY EAI Nano-TB
    發表于 11-16 16:35

    河南移動攜手華為完成交互式UE Logo全球首呼

    河南移動攜手華為成功打通全球首個交互式UE Logo First Call,正式開啟5G-A“體驗經營2.0”新時代,在網絡能力產品化與用戶體驗升級領域樹立先鋒里程碑。
    的頭像 發表于 10-21 09:55 ?791次閱讀

    Nuvoton ChipCorder在汽車儀表板中的應用

    的調查結果強調了對汽車音頻的需求不斷增長,特別是在標準儀表板配置中。這需要能夠快速傳遞各種緊急警報并提供直接、快速的語音提示的直觀功能,確保及時向駕駛員傳遞信息。 預編程播放錄制的音頻文件 各種車輛信息
    發表于 09-05 06:07

    如何使用 CyCloneTCP 和 FreeRTOS 在 NuMaker IoT 構建 Web 服務器?

    使用 CyCloneTCP 和 FreeRTOS 在 NuMaker IoT 構建 Web 服務器
    發表于 09-04 08:10

    如何使用 Mbed OS 在 NuMaker IoT 構建 Web 服務器?

    使用 Mbed OS 在 NuMaker IoT 構建 Web 服務器
    發表于 09-04 06:33

    如何使用 SEGGER emWin AppWizard 工具為儀表板界面設計圖形用戶界面?

    如何使用 SEGGER emWin AppWizard 工具為儀表板界面設計圖形用戶界面 (GUI)。它集成了控制 MA35H0 系列評估上的 LED 和按鈕的功能。
    發表于 08-19 07:23

    請問是否可以在通用Windows平臺中構建OpenVINO? GenAI C++ 應用程序

    無法在通用 Windows 平臺中構建OpenVINO? GenAI C++ 應用程序
    發表于 06-24 07:35

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

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

    樹莓派新玩法:基于WiFi的CPU溫度與內存使用Web-GUI監控系統

    WiFi網絡遠程監控RaspberryPi的CPU溫度。該GUI可通過瀏覽器直接訪問,操作便捷且用戶友好。NiceGUI是一個優秀的Python庫,能大幅簡化交互式現代
    的頭像 發表于 03-25 16:39 ?989次閱讀
    樹莓派新玩法:基于WiFi的CPU溫度與內存使用<b class='flag-5'>Web</b>-GUI監控系統

    東軟聯合推出新一代全語言交互式人社服務機器人“南小寧”

    日前,東軟與南寧智慧人社創新實驗室以及華為攜手,共同推出新一代全語言交互式人社服務機器人——“南小寧”。它是基于東軟“融智”解決方案智能化實施框架,適配DeepSeek推理模型,并結合華為昇騰一體機
    的頭像 發表于 03-25 10:04 ?1063次閱讀

    如何在 Raspberry Pi AI Camera 上構建為開發人員提供實時的智能應用程序!

    在這篇特邀文章中,我們的合作伙伴索尼公司的雷蒙娜-雷納(RamonaRayner)將向您展示如何快速探索不同的模型和人工智能功能,以及如何在RaspberryPi人工智能相機的基礎上輕松構建應用程序
    的頭像 發表于 03-25 09:37 ?831次閱讀
    如何在 Raspberry Pi AI Camera 上<b class='flag-5'>構建</b>為開發人員提供實時的智能<b class='flag-5'>應用程序</b>!

    零基礎入門:如何在樹莓派上編寫和運行Python程序?

    在這篇文章中,我將為你簡要介紹Python程序是什么、Python程序可以用來做什么,以及如何在RaspberryPi上編寫和運行一個簡單的Pyth
    的頭像 發表于 03-25 09:27 ?2026次閱讀
    零基礎入門:如何在樹莓派上編寫和運行<b class='flag-5'>Python</b><b class='flag-5'>程序</b>?

    中國移動攜手華為打造全國首個5G新通話交互式客服

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