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

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

3天内不再提示

Facebook为人工智能研究开放轻量级交互式可视化库/工具HiPlot

倩倩 来源:读芯术 2020-03-27 14:52 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

不久前,Facebook为人工智能研究开放了自家的轻量级交互式可视化库/工具HiPlot。它使机器学习研究人员和数据科学家可以大量使用平行绘图来分析相关性并观察高维数据中的模式。

什么是平行图?

平行图是将高维或多元数据可视化的便捷方法之一。

· 对于n个维度,绘制n条平行线,垂直且等间隔。这些用作轴。

· 每个数据点由一条折线表示,在平行轴上具有顶点。

以下是使用ML 101 Iris数据集的直观示例。观察代表一个数据点的蓝色折线,并查看该数据点下面的表格记录。

为什么选择HiPlot?

机器学习的超参数调整

这就是Facebook构建HiPlot的目的。

由于神经网络需要调整从几个到数十个任意位置的超参数,因此可视化分析训练运行的能力对于进一步微调和构建性能模型至关重要。

HiPlot:过滤20个“历元”后获得的数据点,然后通过“有效ppl”轴进行切片。它表明,更高的学习率可以带来更好的表现。

多元数据探索性分析

以探索房屋数据这一熟悉场景为例。

· 可以使用HiPlot的交互式绘图对图表进行过滤和切片,从而快速查看昂贵的属性是否聚集在特定的邮政编码或城市内。

· 可以分析各种属性与房价之间的关系。

由于具有挖掘和分析高维数据点的能力,这些图比静态2D热力图或相关系数表具有更高的透明度和灵活性。

简单性和可扩展性

能够选择将HiPlot用作notebook中的python库或网络应用程序,就可以马上开始对其进行使用。有了支持自定义解析器、过滤和切片可视化内容的可共享URL之类的功能,HiPlot会优先考虑灵活性和协作性,还与Facebook的其他开源AI库的日志兼容。

入门

安装

pip install hiplot

安装后,可以通过两种方式使用Hiplot。

· 作为Jupyter Notebooks中的python库

import hiplot as hip

· 通过在终端/ 命令行中启动Web服务器,作为Flask Web应用程序:

(To launch as localhost)

》》》 hiplot(To enable sharing plot URLs)

》》》 hiplot --host 0.0.0.0

注意:要使用网络应用程序,必须实现附带实验提取器,这将在后文的“高级功能”部分中概述。

Notebook中的日常简单场景

以下是利用HiPlot分析各种学习率,辍学率和优化器如何影响训练损失的日常使用案例。

import hiplot as hip

data = [

{‘dropout’:0.1,

‘learning_rate’: 0.001,

‘optimizer’: ‘SGD’,

‘loss’: 10.0

},

{‘dropout’:0.15,

‘learning_rate’: 0.01,

‘optimizer’: ‘Adam’,

‘loss’: 3.5

},

{‘dropout’:0.3,

‘learning_rate’: 0.1,

‘optimizer’: ‘Adam’,

‘loss’: 4.5

}]hip.Experiment.from_iterable(data).display(force_full_width=True)

图表及表格呈现如下。

是的,就是这么简单。

进阶能力

树与关系

看一个示例,这个例子希望通过指定后代关系来关联相关数据点。由于正在处理高维数据点,这使得可视化突然变得复杂。但是HiPlot帮你搞定了。

观察以下基于人口的训练示例,这是一种遗传算法,其中可以使用不同的超参数将训练任务多次分叉。属于同一训练代的数据点被连接起来。

在上面的示例中,平行图下方的关系图显示了数据点之间的关系。在关系图中,每条折线代表一组连接的数据点,而折线中的每个顶点代表一个数据点。是的,它仍然是交互式的!因此,当鼠标悬停在关系图中的顶点上时,平行图中将突出显示相应的数据点。

下面是生成上面曲线的代码。关系随机分配,但要点很好把握。

exp = hip.Experiment()

exp.display_data(hip.Displays.XY).update({

‘axis_x’: ‘generation’,

‘axis_y’: ‘loss’,

})

for i in range(200):

dp = hip.Datapoint(

uid=str(i),

values={

‘generation’: i,

‘param’: 10 ** random.uniform(-1, 1),

‘loss’: random.uniform(-5, 5)

})

if i 》 10:

from_parent = random.choice(exp.datapoints[-10:])

# Connecting the parent to the child

dp.from_uid = from_parent.uid dp.values[‘loss’] += from_parent.values[‘loss’]

dp.values[‘param’] *= from_parent.values[‘param’]

exp.datapoints.append(dp)

实验提取器

将实验提取器视为美化的解析器,允许以可迭代和可绘制的形式提取,转换和加载数据。

如打算在网络应用程序模式下使用HiPlot,则必须实现实验提取器。如果是在notebook操作,只要对可视化数据采用表格形式或可迭代形式,就可不用读取器。

下面是一个实现实验提取器的示例。

提取程序:fetch_local_csv_experiment

提取程序前缀:localcsvxp://

目的:从本地文件系统加载CSV数据文件以进行可视化

import hiplot as hip

deffetch_local_csv_experiment(uri):

# Only apply this fetcher if the URI starts with webxp://

PREFIX=“localcsvxp://”

ifnot uri.startswith(PREFIX):

# Let other fetchers handle this one

raise hip.ExperimentFetcherDoesntApply()

# Parse out the local file path from the uri

local_path = uri[len(PREFIX):] # Remove the prefix

# Return the hiplot experiment to render

return hip.Experiment.from_csv(local_path)

使用网络应用程序

一旦实现了如上所述的实验提取器,就可以启动网络应用程序。

在示例中,fetch_local_csv_experiment提取程序(前缀localcsvxp://)存储在fetchers.py文件中。

可以在终端/命令行中以如下方式启动HiplotWeb服务器:

》》》 hiplotfetchers.fetch_local_csv_experiment --host 0.0.0.0

服务器将在一秒钟内启动。将URL复制到Web浏览器。

在突出显示的输入框中,用以下格式输入文件路径:

《fetcher_prefix》《file path》

可以与其他人共享过滤后的视图的URL。为此,需要使用“--host 0.0.0.0”标志启动Web服务器。

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

    关注

    42

    文章

    4844

    浏览量

    108205
  • Facebook
    +关注

    关注

    3

    文章

    1432

    浏览量

    59380
  • 人工智能
    +关注

    关注

    1821

    文章

    50366

    浏览量

    267056
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    高质量可视化大屏应该这样设计

    ,支持 2D 组态、3D 数字孪生、2.5D 可视化界面同步渲染,兼顾渲染效率与视觉效果。 组件体系 :内置完整自研图表、UI 组件、面板、模型
    的头像 发表于 04-23 14:22 131次阅读
    高质量<b class='flag-5'>可视化</b>大屏应该这样设计

    3D系统可视化

    本身的深入描述和F-Theta透镜的应用示例。 光学系统的3D-可视化 VirtualLab Fusion提供的工具可以实现光学系统的3D可视化,因此可以用于检查元件的位置,以及快速了解系统内部的光
    发表于 03-30 09:25

    可视化AR巡检:工业智能化发展的新引擎

    一背景下,可视化AR巡检应运而生,它将AR术与可视化数据分析能力相结合,让巡检工作变得更直观、更智能、更高效。  AR巡检的最大特征在于“虚实结合”。通过佩戴AR眼镜或使用移动端设备,巡检人员能够在实际设备环境中叠加显示关键数据
    的头像 发表于 02-02 21:17 194次阅读

    工业数字孪生:图扑可视化技术架构与行业应用解析

    与 Canvas 技术构建轻量级前端可视化插件,通过 WebSocket/HTTP 协议完成跨系统数据对接,依托 JavaScript 脚本调用插件 API 实现数据动态渲染,形成一套覆盖工业全场景的 2D/3D 可视化解决方
    的头像 发表于 12-11 16:49 749次阅读
    工业数字孪生:图扑<b class='flag-5'>可视化</b>技术架构与行业应用解析

    OBOO鸥柏丨98英寸触摸屏信息发布系统一体机交通轨道可视化终端数字

    OBOO鸥柏丨98英寸触摸屏信息发布系统交通轨道可视化终端数字在现代城市交通管理中,信息的实时发布和可视化展示变得越来越重要。[OBOO鸥柏]凭借其先进的98英寸触摸屏一体机交互式
    的头像 发表于 12-09 18:17 686次阅读
    OBOO鸥柏丨98英寸触摸屏信息发布系统一体机交通轨道<b class='flag-5'>可视化</b>终端数字<b class='flag-5'>化</b>

    工业物联网可视化平台是什么?有什么功能?

    工业物联网可视化平台是基于物联网、大数据、人工智能等技术,将工业生产中的设备、系统、流程等数据以图形方式呈现,实现实时监控、智能分析与交互式
    的头像 发表于 11-17 17:49 1480次阅读

    工业可视化平台是什么

    工业可视化平台是一种基于信息技术和可视化技术,将工业生产过程中的数据、信息、流程等以直观、动态的图形方式呈现,并实现交互式管理与分析的数字化工具
    的头像 发表于 10-24 18:00 1252次阅读

    【产品介绍】Altair HyperView用于仿真和CAE分析的后处理和数据可视化

    详细的交互式3D数据可视化以及FEA和多体系统仿真结果的探索。轻松管理大型结果文件,并将数据转换为综合动画。HyperView的多学科查看器增强了用户对复杂仿真的
    的头像 发表于 09-19 17:02 1078次阅读
    【产品介绍】Altair HyperView用于仿真和CAE分析的后处理和数据<b class='flag-5'>可视化</b>

    智慧用电安全解决方案:打造全流程可视化管控

    传统用电安全管理依赖于人工巡检和事后处置,存在监测盲区大、预警能力弱、响应延迟长等固有缺陷。智慧用电安全监测解决方案通过集成物联网、大数据、云计算及人工智能技术,构建了一个“数据驱动、实时感知、智能
    的头像 发表于 09-04 16:17 941次阅读
    智慧用电安全解决方案:打造全流程<b class='flag-5'>可视化</b>管控

    商汤科技与中智集团合作成果入选首批中央企业人工智能战略性高价值场景

    在第七届世界人工智能大会(WAIC)上,国务院国资委专场发布了首批中央企业人工智能战略性高价值场景,基于商汤科技为中智提供的人才发展大模型、数字员工应用框架、交互式数字人等技术,中智集团“AI数字人
    的头像 发表于 08-12 11:35 1534次阅读

    挖到宝了!人工智能综合实验箱,高校新工科的宝藏神器

    家人们,最近在研究人工智能相关设备,挖到了一款超厉害的宝藏——比邻星人工智能综合实验箱,必须来给大伙分享分享!可☎(壹捌伍 柒零零玖 壹壹捌陆) 一、开箱即学,便捷拉满 这个实验箱真的是为使用者
    发表于 08-07 14:30

    挖到宝了!比邻星人工智能综合实验箱,高校新工科的宝藏神器!

    家人们,最近在研究人工智能相关设备,挖到了一款超厉害的宝藏——比邻星人工智能综合实验箱,必须来给大伙分享分享!可☎(壹捌伍 柒零零玖 壹壹捌陆) 一、开箱即学,便捷拉满 这个实验箱真的是为使用者
    发表于 08-07 14:23

    3Dfindit 提供的数字立方体模型为研究项目的可视化提供了支持

    魔方的帮助下实现多视角可视化 为了克服这一挑战并实现多视角可视化,我们使用了3Dfindit立方体动画模型。博物馆和学生们可以利用 3D 模型提出新的历史教学问题。
    发表于 08-01 14:36

    如何使用协议分析仪进行数据分析与可视化

    )。 Python生态: Matplotlib/Seaborn:绘制静态图表(如TCP重传次数直方图)。 Plotly:生成交互式图表(如3D散点图展示流量与时间、IP的关系)。 3. 自定义可视化脚本
    发表于 07-16 14:16

    如何实现光伏数字孪生可视化

    光伏数字孪生可视化是通过数字手段构建光伏电站的虚拟镜像,实现物理实体与数字模型的实时映射与交互,目的是促进光伏电站运维管理的智能化、高效
    的头像 发表于 05-29 15:27 889次阅读
    如何实现光伏数字孪生<b class='flag-5'>可视化</b>?