NVIDIA Morpheus (24.10.01)

SID 可视化示例

要运行演示,您需要以下内容

  • Docker

  • docker-compose-plugin (已使用版本 2.12.2 测试)

要运行此演示,请确保检出所有子模块

复制
已复制!
            

git submodule update --init --recursive

构建 Morpheus 开发容器

在启动演示之前,我们需要创建 Morpheus 的 docker 容器

复制
已复制!
            

export DOCKER_IMAGE_TAG="sid-viz" ./docker/build_container_dev.sh

启动用户界面

我们将使用 docker-compose 构建和运行整个演示。要启动所有内容,请从 repo 根目录运行以下命令

保存 Morpheus repo 目录

复制
已复制!
            

export MORPHEUS_ROOT=$(git rev-parse --show-toplevel)

切换到示例目录

复制
已复制!
            

cd ${MORPHEUS_ROOT}/examples/sid_visualization

启动容器

复制
已复制!
            

DOCKER_BUILDKIT=1 docker compose up --build -d

当所有容器完成启动后,应显示以下 GUI

initial_win.png

构建 Morpheus

一旦 docker compose 命令完成并且 GUI 显示,请进入容器以构建和运行 Morpheus

进入 Morpheus 容器

复制
已复制!
            

docker compose exec morpheus bash

在容器内部,编译 Morpheus

复制
已复制!
            

BUILD_DIR=build-docker ./scripts/compile.sh

验证 Morpheus 是否已安装

复制
已复制!
            

morpheus --version

确保数据已下载

复制
已复制!
            

git lfs install ./scripts/fetch_data.py fetch examples

保持此 shell 在 Morpheus 开发容器中运行。稍后将使用它来启动 Morpheus。

运行 Morpheus

GUI 启动后,现在需要启动 Morpheus。在用于构建 Morpheus 的同一 shell 中(运行 Morpheus 开发容器的 shell),运行以下命令

复制
已复制!
            

python examples/sid_visualization/run.py \ --debug \ --triton_server_url=triton:8000 \ --input_file=./examples/data/sid_visualization/group1-benign-2nodes.jsonlines \ --input_file=./examples/data/sid_visualization/group2-benign-50nodes.jsonlines \ --input_file=./examples/data/sid_visualization/group3-si-50nodes.jsonlines \ --input_file=./examples/data/sid_visualization/group4-benign-49nodes.jsonlines

注意: 此脚本的首次运行将需要几分钟时间,以允许 Triton 将部署的 ONNX 模型转换为 TensorRT。后续运行将不包括此转换步骤,因此速度会快得多。

此启动将使用所有可用的数据集。每个数据集将在可视化中显示为一个批次。以下是每个数据集的描述

  • examples/data/sid_visualization/group1-benign-2nodes.jsonlines

    • 小规模,包含 2 个节点,无 SID

  • examples/data/sid_visualization/group2-benign-50nodes.jsonlines

    • 扩展到 50 个节点,无 SID

  • examples/data/sid_visualization/group3-si-50nodes.jsonlines

    • 50 个节点,具有来自单个节点的 SID

  • examples/data/sid_visualization/group4-benign-49nodes.jsonlines

    • 隔离坏节点,留下 49 个节点,无 SID

以下是处理完所有四个批次后的屏幕截图

full_win.png

使用滑块或以下按钮在可视化中逐步浏览推理批次

left.png
步进到上一个推理批次
right.png
步进到下一个推理批次
replay.png
从头开始逐步浏览所有推理批次
pause.png
暂停动画

右侧的可视化显示当前推理批次中的节点,以绿色球体表示。白色(良性)和红色 (SI) 数据包显示在节点连接之间流动。动画运行时,您可以单击暂停按钮或关闭 模拟。暂停后,您将能够悬停在单个数据包上以查看其内容。

更改数据集不需要重新启动 GUI。只需使用新数据集重新运行 Morpheus,GUI 将会更新。

也可以使用 Morpheus CLI 使用以下命令启动演示

复制
已复制!
            

DEMO_DATASET="examples/data/sid_visualization/group1-benign-2nodes.jsonlines"

复制
已复制!
            

morpheus --log_level=DEBUG \ run --pipeline_batch_size=1024 --model_max_batch_size=32 --edge_buffer_size=4 \ pipeline-nlp --model_seq_length=256 \ from-file --filename=${DEMO_DATASET} \ deserialize \ preprocess --vocab_hash_file=data/bert-base-uncased-hash.txt --truncation=True --do_lower_case=True --add_special_tokens=False \ inf-triton --model_name=sid-minibert-onnx --server_url=triton:8001 --force_convert_inputs=True \ monitor --description Inference\Rate --unit=inf \ add-class \ gen-viz

注意,此启动方法更适用于展示性能而非展示功能。

上一页 根本原因分析加速和预测性维护示例
下一页 示例
© 版权所有 2024,NVIDIA。 上次更新于 2024 年 12 月 3 日。