0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

NETWORKX Python编程语言软件包概述及用途

NVIDIA英伟达 来源:NVIDIA英伟达 作者:NVIDIA英伟达 2022-07-01 11:30 次阅读

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

NVIDIARAPIDScuGraph 能够提供将 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?

文章出处:【微信公众号:NVIDIA英伟达】欢迎添加关注!文章转载请注明出处。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • NVIDIA
    +关注

    关注

    14

    文章

    4592

    浏览量

    101703
  • 编程语言
    +关注

    关注

    9

    文章

    1878

    浏览量

    33073
  • python
    +关注

    关注

    51

    文章

    4675

    浏览量

    83466

原文标题:NVIDIA 大讲堂 | 什么是 NETWORKX?

文章出处:【微信号:NVIDIA_China,微信公众号:NVIDIA英伟达】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RT-Thread Studio添加软件包报错怎么解决?

    RT-Thread Studio添加软件包报错ImportError: No module named psutil
    发表于 03-01 08:41

    光伏逆变器拓扑概述及关键技术

    光伏逆变器拓扑概述及关键技术
    的头像 发表于 02-21 09:47 266次阅读
    光伏逆变器拓扑<b class='flag-5'>概述及</b>关键技术

    python语言特点有哪些

    Python是一种高级编程语言,由Guido van Rossum于1991年首次发布。它具有许多独特的特点,这些特点使得Python软件
    的头像 发表于 11-29 14:29 456次阅读

    Python编程语言属于什么语言

    、易于学习和理解的语言,强调代码的可读性和简洁性。Python的设计真正做到了"坚守一种方法",非常注重代码的正确性和一致性。这也是为什么Python非常受欢迎的主要原因之一。接下来,我将详细介绍
    的头像 发表于 11-22 14:31 639次阅读

    Python编程实用指南

    Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。通过 Python 编程,我们能够解决现实生活中的很多任务。本书是一本面向实践的
    发表于 09-27 06:21

    CW32L031 StartKit软件包

    CW32L031 StartKit 软件包
    发表于 09-15 07:58

    CW32F030 StartKit软件包分享

    CW32F030 StartKit软件包
    发表于 09-15 07:14

    CW32L083 StartKit软件包分享

    CW32L083 StartKit软件包
    发表于 09-15 07:00

    CW32F003 StartKit软件包分享

    CW32F003 StartKit软件包
    发表于 09-15 06:38

    CW32L052 StartKit软件包

    CW32L052 StartKit 软件包
    发表于 09-15 06:13

    rtthread studio添加max31865软件包后报错如何解决?

    添加软件包后出现这样的报错 注释以后下载 串口打印又有错误了 用不了这个软件包 不知道怎么解决 spi设备是开启成功的
    发表于 09-03 09:44

    python机器学习概述

    是一种非常流行的编程语言,因为它具有非常强大的数据分析和科学计算库。Python可以被用来完成一系列的任务,包括机器学习、数据分析、图像处理、自然语言处理和深度学习等任务。 本篇文章旨
    的头像 发表于 08-17 16:11 764次阅读

    2023年受欢迎8款编程语言排名:Python 第二

    根据DevJobsScanner发布的报告,2023年度(从2022年1月到2023年5月)需求量最大的编程语言数据显示,JavaScript、Python和Java仍然是职场上备受欢迎的编程
    的头像 发表于 07-28 17:57 4541次阅读

    如何使用Python编程语言和ADALM2000创建虚拟示波器

    本文旨在演示用户如何使用ADI ADALM2000和简单的开源编程语言Python开发所需的虚拟实验室仪器。
    的头像 发表于 07-13 16:39 720次阅读
    如何使用<b class='flag-5'>Python</b><b class='flag-5'>编程</b><b class='flag-5'>语言</b>和ADALM2000创建虚拟示波器

    新塘在keil官网的软件包无法下载怎么解决?

    新塘在keil官网的软件包无法下载
    发表于 06-15 10:15