NetworkX 是一個 Python 程式語言軟體包,可用於建立、操作和學習複雜圖形網路的結構、動態和功能。
什麼是 NETWORKX ?
NetworkX 是一個進行復雜圖形網路分析的 Python 軟體包。要了解 NetworkX 功能,首先需要了解圖形。圖形是一種數學結構,用於對物理、生物、社會和資訊系統中多種型別的關係和過程進行建模。圖形由透過邊緣連線(表示這些實體之間的關係)的節點或頂點(表示系統實體)構成。圖形處理是一種能夠穿梭各邊緣和節點的功能,用於發現和理解網路中關聯資料之間的複雜關係和/或最佳化路徑。
圖形網路分析有許多用途,例如分析社交網路中的關係、網路威脅檢測,以及根據共同偏好識別潛在買家。
在現實世界中,節點可以是人員、群組、地點或事物,例如客戶、產品、成員、城市、商店、機場、埠、銀行帳戶、裝置、手機、分子或網頁。
節點之間的邊緣或關係示例包括友誼、網路連線、超連結、道路、路線、電線、電話、電子郵件、“點贊”、支付、交易、電話呼叫和社交網路訊息。邊緣可以用一個單向箭頭來表示從一個節點到另一個節點的關係,比如,如果 Janet “點讚了” Jeanette 的一篇社交媒體文章。不過,它們也可以是無向的,比如,如果 Bob 是 Alice 的 Facebook 好友,那麼 Alice 也是 Bob 的好友。
NetworkX 節點可以是任何可雜湊的物件,它的值保持永久改變。這些值可以是文字字串、影象、XML 物件、整個圖形,也可以是自定義節點。基本軟體包內提供了多個函式,可以藉助這些函式以多種格式生成、讀取和編寫圖形。
NetworkX 能夠處理具有 1000 多萬個節點和 1 億多個邊緣的巨大圖形。核心軟體包是符合 BSD 許可的免費軟體,其中包括表示簡單圖形、有向圖形以及採用並行邊緣和自迴圈的圖形等的資料結構。NetworkX 還具有一個龐大的開發者社群。開發者會維護核心軟體包,併為第三方生態系統貢獻力量。
NetworkX 具有以下主要用途:
NetworkX 易於安裝和使用,尤其是對於 Python 開發者而言。
為何選擇圖形分析?
圖形分析可用於確定圖形中物件之間的關係強度和方向。鑑於網路在我們的資訊生態系統中發揮著日益重要的作用,因此,對關係分析工具的需求有著近乎無限的潛能。從購買決策到舉國選舉,社交網路對一切事物都有著重要影響,這一影響加速了對圖形分析的使用。在發現由於網路複雜性或節點間路徑的數量而導致的不明顯關係時,它發揮的作用尤為明顯。
圖形分析對於實現以下目標作用明顯:
為何選擇 NETWORKX?
NetworkX 為資料科學家和圖形數學的其他使用者提供了一種標準化的方式,供其協作、構建、設計、分析和共享圖形網路模型。作為以可擴充套件性和可移植性而聞名的免費軟體,NetworkX 深受 Python 愛好者喜愛。它也是廣為資料科學家喜愛的熱門圖形框架。資料科學家致力於構建一個充滿活力的 Python 軟體包生態系統,利用數值線性代數和繪圖等功能擴充套件 NetworkX。
NETWORKX 對資料科學家的重要意義
| 資料科學團隊
機器學習和深度學習等大資料科學專案通常需要許多團隊成員共同協作。標準化工具和格式的使用大大簡化了資訊共享。NetworkX 根植於 Python(一種熱門的資料科學語言),為 Python 庫提供圖形分析擴充套件,它只需為 Python 使用者提供極少量培訓,且可在多家公司及多個大洲的團隊間部署。
藉助 GPU 加速圖形分析
GPU 具有大規模並行性,並且視訊記憶體訪問頻寬優勢顯著,因此十分適用於加速資料密集型分析,特別是圖形分析。GPU 採用大規模並行架構,包含數千個專為同時處理多個任務而設計的小核心,非常適合執行“為每個 X 執行 Y”的計算任務,可應用於大型圖形中的頂點或邊緣集。
藉助 RAPIDS CUGRAPH 加速 NETWORKX
NVIDIA RAPIDS™ cuGraph 能夠提供將 RAPIDS 生態系統與 NetworkX 相整合的加速圖形分析庫。RAPIDS cuGraph 的願景是使圖形分析無處不在,以便使用者只需考慮分析而無需考慮技術或框架。
最新款 NVIDIA GPU 的強大計算能力提升了圖形分析速度。此外,GPU 的內部視訊記憶體速率使 cuGraph 能夠快速切換資料結構,滿足分析需求,而不限於單一資料結構。
透過有效利用 GPU 中的大規模並行性,RAPIDS 的圖形演算法(如 PageRank)和功能(如 NetworkX)能夠將大型圖形的分析速度提高 1000 多倍。使用者可以在單塊 NVIDIA A100 Tensor Core GPU 上探索多達 2 億個邊緣,並在 NVIDIA DGX™ A100 叢集上擴充套件至數十億個邊緣。
NVIDIA GPU 加速的端到端資料科學
RAPIDS 結合了執行高速 ETL、圖形分析、機器學習和深度學習的能力。它是一套開源軟體庫和 API,用於完全在 GPU 上執行資料科學流程,並且可以將訓練時間從幾天縮短至幾分鐘。RAPIDS 依賴於 NVIDIA CUDA® 基元進行低級別計算最佳化,但透過使用者友好型 Python 介面實現 GPU 並行結構和極高的記憶體頻寬。
Rapids cuGraph 無縫整合到 RAPIDS 資料科學生態系統中,使資料科學家能夠使用儲存在 GPU DataFrame 中的資料輕鬆呼叫圖形演算法。藉助 RAPIDS GPU DataFrame,資料可以透過一個類似 Pandas 的介面載入到 GPU 上,然後用於各種連線的機器學習和圖形分析演算法,而無需離開 GPU。這種級別的互操作性是透過 Apache Arrow 這樣的庫實現的。這可加速端到端流程(從資料準備到機器學習,再到深度學習)。RAPIDS 和 DASK 使 cuGraph 能夠擴充套件為多個 GPU,支援數十億個邊緣圖形。
*本文轉自 NVIDIA英偉達
NetworkX 是一個 Python 程式語言軟體包,可用於建立、操作和學習複雜圖形網路的結構、動態和功能。
什麼是 NETWORKX ?
NetworkX 是一個進行復雜圖形網路分析的 Python 軟體包。要了解 NetworkX 功能,首先需要了解圖形。圖形是一種數學結構,用於對物理、生物、社會和資訊系統中多種型別的關係和過程進行建模。圖形由透過邊緣連線(表示這些實體之間的關係)的節點或頂點(表示系統實體)構成。圖形處理是一種能夠穿梭各邊緣和節點的功能,用於發現和理解網路中關聯資料之間的複雜關係和/或最佳化路徑。
圖形網路分析有許多用途,例如分析社交網路中的關係、網路威脅檢測,以及根據共同偏好識別潛在買家。
在現實世界中,節點可以是人員、群組、地點或事物,例如客戶、產品、成員、城市、商店、機場、埠、銀行帳戶、裝置、手機、分子或網頁。
節點之間的邊緣或關係示例包括友誼、網路連線、超連結、道路、路線、電線、電話、電子郵件、“點贊”、支付、交易、電話呼叫和社交網路訊息。邊緣可以用一個單向箭頭來表示從一個節點到另一個節點的關係,比如,如果 Janet “點讚了” Jeanette 的一篇社交媒體文章。不過,它們也可以是無向的,比如,如果 Bob 是 Alice 的 Facebook 好友,那麼 Alice 也是 Bob 的好友。
NetworkX 節點可以是任何可雜湊的物件,它的值保持永久改變。這些值可以是文字字串、影象、XML 物件、整個圖形,也可以是自定義節點。基本軟體包內提供了多個函式,可以藉助這些函式以多種格式生成、讀取和編寫圖形。
NetworkX 能夠處理具有 1000 多萬個節點和 1 億多個邊緣的巨大圖形。核心軟體包是符合 BSD 許可的免費軟體,其中包括表示簡單圖形、有向圖形以及採用並行邊緣和自迴圈的圖形等的資料結構。NetworkX 還具有一個龐大的開發者社群。開發者會維護核心軟體包,併為第三方生態系統貢獻力量。
NetworkX 具有以下主要用途:
研究社會、生物和基礎設施網路結構和動態標準化圖形的程式設計環境快速開發協同跨學科專案與使用 C、C++ 和 FORTRAN 編寫的演算法和程式碼整合處理大型非標準資料集NetworkX 易於安裝和使用,尤其是對於 Python 開發者而言。
為何選擇圖形分析?
圖形分析可用於確定圖形中物件之間的關係強度和方向。鑑於網路在我們的資訊生態系統中發揮著日益重要的作用,因此,對關係分析工具的需求有著近乎無限的潛能。從購買決策到舉國選舉,社交網路對一切事物都有著重要影響,這一影響加速了對圖形分析的使用。在發現由於網路複雜性或節點間路徑的數量而導致的不明顯關係時,它發揮的作用尤為明顯。
圖形分析對於實現以下目標作用明顯:
檢測洗錢等金融犯罪識別欺詐交易及活動在社交網路社群執行網紅分析根據客戶評級或購買物來進行推薦分析。發現電網、水網和運輸網路的缺點最佳化航空公司、零售和製造業的路線瞭解影響力如何發揮作用,以便營銷人員能夠鎖定最有可能為其產品樹立口碑的人根據使用者之間的關係(即使使用者彼此不瞭解),透過對映相似興趣和共享連線,提供社交營銷內容幫助政治運動和政治科學家更好地瞭解導致資訊病毒式傳播和傳播虛假新聞的因素使得搜尋引擎根據資訊需求相似的人的行為偏好提供結果為何選擇 NETWORKX?
NetworkX 為資料科學家和圖形數學的其他使用者提供了一種標準化的方式,供其協作、構建、設計、分析和共享圖形網路模型。作為以可擴充套件性和可移植性而聞名的免費軟體,NetworkX 深受 Python 愛好者喜愛。它也是廣為資料科學家喜愛的熱門圖形框架。資料科學家致力於構建一個充滿活力的 Python 軟體包生態系統,利用數值線性代數和繪圖等功能擴充套件 NetworkX。
NETWORKX 對資料科學家的重要意義
| 資料科學團隊
機器學習和深度學習等大資料科學專案通常需要許多團隊成員共同協作。標準化工具和格式的使用大大簡化了資訊共享。NetworkX 根植於 Python(一種熱門的資料科學語言),為 Python 庫提供圖形分析擴充套件,它只需為 Python 使用者提供極少量培訓,且可在多家公司及多個大洲的團隊間部署。
藉助 GPU 加速圖形分析
GPU 具有大規模並行性,並且視訊記憶體訪問頻寬優勢顯著,因此十分適用於加速資料密集型分析,特別是圖形分析。GPU 採用大規模並行架構,包含數千個專為同時處理多個任務而設計的小核心,非常適合執行“為每個 X 執行 Y”的計算任務,可應用於大型圖形中的頂點或邊緣集。
藉助 RAPIDS CUGRAPH 加速 NETWORKX
NVIDIA RAPIDS™ cuGraph 能夠提供將 RAPIDS 生態系統與 NetworkX 相整合的加速圖形分析庫。RAPIDS cuGraph 的願景是使圖形分析無處不在,以便使用者只需考慮分析而無需考慮技術或框架。
最新款 NVIDIA GPU 的強大計算能力提升了圖形分析速度。此外,GPU 的內部視訊記憶體速率使 cuGraph 能夠快速切換資料結構,滿足分析需求,而不限於單一資料結構。
透過有效利用 GPU 中的大規模並行性,RAPIDS 的圖形演算法(如 PageRank)和功能(如 NetworkX)能夠將大型圖形的分析速度提高 1000 多倍。使用者可以在單塊 NVIDIA A100 Tensor Core GPU 上探索多達 2 億個邊緣,並在 NVIDIA DGX™ A100 叢集上擴充套件至數十億個邊緣。
NVIDIA GPU 加速的端到端資料科學
RAPIDS 結合了執行高速 ETL、圖形分析、機器學習和深度學習的能力。它是一套開源軟體庫和 API,用於完全在 GPU 上執行資料科學流程,並且可以將訓練時間從幾天縮短至幾分鐘。RAPIDS 依賴於 NVIDIA CUDA® 基元進行低級別計算最佳化,但透過使用者友好型 Python 介面實現 GPU 並行結構和極高的記憶體頻寬。
Rapids cuGraph 無縫整合到 RAPIDS 資料科學生態系統中,使資料科學家能夠使用儲存在 GPU DataFrame 中的資料輕鬆呼叫圖形演算法。藉助 RAPIDS GPU DataFrame,資料可以透過一個類似 Pandas 的介面載入到 GPU 上,然後用於各種連線的機器學習和圖形分析演算法,而無需離開 GPU。這種級別的互操作性是透過 Apache Arrow 這樣的庫實現的。這可加速端到端流程(從資料準備到機器學習,再到深度學習)。RAPIDS 和 DASK 使 cuGraph 能夠擴充套件為多個 GPU,支援數十億個邊緣圖形。
*本文轉自 NVIDIA英偉達