Trinity三位一体开源程序是可解释的 AI 分析工具和 3D 可视化

一、软件介绍

文末提供源码和程序下载学习

Trinity三位一体开源程序是可解释的 AI 分析工具和 3D 可视化。Trinity 提供性能分析和 XAI 工具,非常适合深度学习系统或其他执行复杂分类或解码的模型。

二、软件作用和特征

Trinity 通过结合具有超维感知能力的不同交互式 3D 投影来实现这一目标。(向量的向量)

Hyperspace 超空间

Trinity 的 Hyperspace 视图提供 3D 散点图,其中包含特征/因子数据的自动 2D 投影。维度组合可以立即切换,以便在超维空间中快速搜索。用户可以平移、旋转和缩放 3D 相机或点本身。散点是交互式的,允许用户选择单个点来调出与该特征相关的数据/图像。

Hypersurface 超曲面

Trinity 可以将更高维的输入(在解码之前)可视化为 3D 表面。超表面视图使分析人员能够深入了解哪些输入与解码/分类结果最相关。此视图与与 Hyperspace 视点相同的 FeatureVectors 和 Timeline 同步。

Projections and Manifolds投影和流形

Trinity 提供了一个快速并行的 UMAP 工具,具有易于使用的 GUI,可将超维嵌入投影到任意的低维空间。这允许分析师将近似流形投影为 3D 集群。

三、Data Formats 数据格式

Trinity 主要使用 JSON,并且具有一组可以导入的可序列化 JSON 消息对象。大多数应用程序将利用的主要消息是 FeatureVector。 例:

复制代码
{
    "messageType": "feature_vector",
    "messageId": 0,  #optional long value for order or id of data point
    "data": [-0.4232191175986961, -0.5031443592838056, 0.30497221256679125,
        0.4157550505277444, -0.46174460409303325, -0.12950797668733202,
        0.6323170694189965, 0.20112482321095512, -0.0770502704073328,
            #... some arbitrarily long vector of embeddings...#
        -0.021781132983331605, 0.2855062868586593, -0.11389146262348109,
        -0.4338320677142379, 0.14545007041168245, 0.34325194689681915
    ],
    "score": -2.753245759396493, #Typically the classification score provide by model but could be any floating point value you choose
    "pfa": 0.0008605957637858228, #Auxiliary floating point between 0 and 1 typically associated with a probability
    "label": "some_object",  #human readable string that is categorical
    "bbox": [0.0, 0, 16.0, 0], #optional Coordinate set typically used for Bounding box identification but could be used for anything
    "imageURL": "/media/images/video_frame_9001.jpg", #image associated with this data point. Supports *.png or *.jpg files. Also supports http based urls
    "layer": 3, #Typically the layer of the model the embeddings were taken from but can represent any Integer based hierarchal info
    "metaData" : { # Totally optional info hash map
        "some name" : "some value",
        "optional" : "string name/value pairs that provide additional info"
    }
}

FeatureVector 对象可以使用 ZeroMQ 作为流发送到 Trinity。ZeroMQ 连接是从 Data UI 面板配置的。可以使用 FeatureCollection JSON 对象以文件拖放形式一次性加载大型 FeatureVector 对象集合。FeatureCollection 对象只是一个 FeatureVector 对象的数组,带有一个类型字段,Trinity 使用它来检测拖放时的文件类型。

复制代码
{   "type": "FeatureCollection",
    "features": [
        ...boat load of FeatureVector objects
    ]
}

Trinity 将通过 label 字段自动为 Hyperspace 和 Projections 视图中的数据着色。它使用具有 12 种预定义颜色的旋转颜色映射表。可以通过 GUI 使用分数、图层、pFa 甚至原始坐标位置将颜色重新分配给颜色渐变。用户可以使用 LabelConfig 消息按标签创建自定义颜色映射表。标签可以通过 RGBA 十六进制代码显式着色。LabelConfig 还支持与 Java 兼容的正则表达式通配符。LabelConfig json 文件可以简单地拖放到 Trinity 应用程序上,它会自动更新视图。

复制代码
{
    "messageType": "label_config",
    "wildcards" : {
        "human_.*":"#0000FFFF",
        "human_Original.*":"#FFFF00FF",
        "chatGPT_.*":"#FF0000FF",
        "chatGPT_Original.*":"#00FF00FF"
    },
    "clearAll" : "false"
}

四、Example Use Cases 示例用例

Trinity 已应用于一系列用例,包括:

深度学习对象检测模型

COVID 基因/组织分类

脑机接口解码器

大型语言模型 (ChatGPT) 嵌入分析

五、Building and Running 构建和运行

您可以使用 Maven 或 Gradle 以及现代版本的 Java (>=17) 进行构建。如果您使用 Jetbrains IDE 或 Netbeans 来促进项目的冷启动,则已经有一组用于构建和运行的脚本。要在构建后从 jar 运行项目,您可以查看 scripts 目录以开始使用。否则,请确保在启动时至少在 JVM 参数上使用 -Dprism.maxvram=2G。对于 JLink/JPackage 构建,这些 JVM 参数已经嵌入到包中。

Troubleshooting 故障 排除

**执行权限 ** 可能需要执行权限才能运行 JPackage、JLink 或 Native 版本 具体取决于您运行的系统。例如,在 OSX 系统上,您可能会获得 未知错误:111 或启动错误,因此您需要允许应用程序通过 GateKeeper xattr -r -d com.apple.quarantine /path/to/Trinity.app 。在某些情况下,您可能还需要在使用 JPackage 构建时添加 chmod +x /path/to/Trinity.app/Contents/MacOS/Trinity 执行权限。

** 在 Ubuntu 系统上启用 3D 渲染 ** 有时,在 Ubuntu 计算机上运行带有 3D 场景的 JavaFX 应用程序时,您会在运行时收到 Scene3D.conditionalfeature 错误。应用程序和所有 2D 组件将继续运行,但任何 3D 子场景和节点都不会渲染,而日志将被上述错误压垮。

从 jar 文件运行时,帮助 linux ubuntu 在 trinity 中渲染 3D 场景的 cmdline 参数:-Dprism.forceGPU=true

对于 Jpackage 本机可执行文件,您可以更新 trinity/app 文件夹下名为 Trinity.cfg 的 cfg 文件,您可以在此处将 forceGPU 标志添加为单独行的另一个选项。这基本上迫使 Ubuntu 执行 GPU 巫毒教。进行此更改后,只需运行 trinity,3D 场景就可以正常工作了。

六、软件下载

夸克网盘分享

本文信息来源于GitHub作者地址:https://github.com/trinity-xai/Trinity

相关推荐
清如许.3 小时前
为什么 LLM 会产生幻觉?——token 级别的解释
人工智能·大模型·llm
一铭111993 小时前
海豹办公 1.9.15 跨端办公软件实践 文档兼容 Access 数据库与移动 WebView 排错
android·数据库·electron·开源软件·access
量化吞吐机3 小时前
最高最低都一样,价格就同样集中吗
人工智能·python
AI视频工具指南3 小时前
怎么用 AI 做一两分钟的小故事视频?从结尾倒推故事
人工智能·aigc·音视频
小雪崩4 小时前
嵌入式学习:Linux驱动开发总结
linux·驱动开发·学习
武子康4 小时前
ESP32-S3 分核后仍报 AFE 缓冲区满?先查输入合同
人工智能·后端·agent
Lynne3094 小时前
TSN 在变电站自动化通信网络升级中的应用价值与技术挑战
服务器·网络·数据库
Magician_liu4 小时前
认识感知机
人工智能·机器学习
xjxijd4 小时前
AI 安全进入爆发周期:智能体安全成下一阶段核心竞争高地
人工智能·安全·ai
江湖中的阿龙4 小时前
大模型应用怎么做评测?从样本集、自动评分到上线回归的完整实战
人工智能·python·回归·大模型评测