上位机知识篇---部署过程小知识点(1)
TOPS/TFLOPS:
TOPS是Tera Operations Per Second(每秒万亿次操作)的缩写,它是衡量 AI 处理器整数推理性能的核心单位。
简单说,1 TOPS 意味着处理器每秒能完成 1 万亿次(10^12)整数运算。数值越高,AI 模型的推理速度越快,每秒能处理的图像、语音数据也越多。
🧠 为什么用它衡量 AI 性能?
这主要和 AI 推理的计算特点有关:
AI 模型需要的是整数运算:图像识别、语音分析这类推理任务,通常使用的是INT8(8位整数)精度。用整数算既快又省电,对精度影响也微乎其微。TOPS 衡量的正是这种 INT8 计算能力。
和 GPU 的 TFLOPS 有区别:TFLOPS(每秒万亿次浮点运算)衡量的是浮点运算能力,更多用在科学计算和模型训练上。训练需要 FP32 这样的高精度来保证模型收敛,而推理则追求极致的速度和能效。
所以,比较芯片 AI 性能时,要分清场景:
AI 推理→ 看TOPS(整数性能)
科学计算 / 训练→ 看TFLOPS(浮点性能)
📊 在 Jetson 上的实际意义
TOPS 值能帮你快速判断一款 Jetson 能跑什么样的 AI 任务:
几十 TOPS (Jetson Orin Nano):流畅运行轻量级图像分类、单路视频分析。
上百 TOPS (Orin NX, AGX Orin):可同时处理多路高清视频流,或运行复杂的目标检测、姿态估计模型。
数百 TOPS 以上 (AGX Thor):专为多传感器融合、运行大型 Transformer 模型等最前沿场景设计。
注意,TOPS 是一个理论峰值。实际应用能发挥出多少性能,还取决于你的模型优化程度、内存带宽、以及是否使用了 TensorRT 这样的加速工具。未经优化的模型,实际运行时的有效 TOPS 会远低于标称值。
sudo apt update:
sudo apt update是 Debian/Ubuntu 这类 Linux 系统里最常用的命令之一。它的作用是刷新本地软件包列表的缓存,让系统知道软件源里现在都有什么软件、版本是多少。
命令拆解
sudo:以超级管理员权限执行后面的命令,因为修改系统软件包信息需要管理员权限。apt:Advanced Package Tool 的缩写,是系统用来管理软件包(安装、卸载、更新等)的命令行工具。update:告诉 apt 要进行的操作是“刷新软件包索引”。
这条命令会去你系统配置的软件源服务器(比如 Ubuntu 官方源、NVIDIA 的 Jetson 专属源等)下载最新的软件包清单,然后保存在本地。注意,update只是拉取清单,并不会真正升级任何软件。
在 Jetson 上要注意什么
在 Jetson 板子上跑这个命令,和普通 Ubuntu 机器基本一样,但有一点特别值得留意:
NVIDIA 为 Jetson 提供了独立的软件源,里面放着针对 Jetson 硬件优化过的内核、驱动和 AI 库(如 CUDA、TensorRT)。执行sudo apt update时,系统会同时检查这些 Jetson 专用源。
所以,千万不要随意去更换或删除这些源,否则你可能装不到正确版本的 Jetson 专用包,甚至导致系统驱动出问题。
和升级命令的关系
通常sudo apt update会和下面两个命令搭配使用,完成整个升级流程:
sudo apt update:刷新软件包列表,知道有什么可以更新。sudo apt list --upgradable:列出具体有哪些软件包可以升级,可以先看一眼。sudo apt upgrade:根据刚才刷新的列表,真正下载并安装那些可更新的包。
所以,如果你想给 Jetson 装新软件或升级系统,一个安全的习惯就是先update刷新列表,再根据需要upgrade实际升级。
source ~/.bashrc:
这个命令拆开是什么意思?
source: 在当前 Shell 会话中,逐行读取并执行指定文件里的命令。~/: 代表当前用户的家目录。比如 Jetson 默认用户nvidia,它的家目录就是/home/nvidia/。.bashrc: 家目录下的一个隐藏脚本文件。每次你打开一个新的终端窗口,系统会自动执行这个文件里的命令。
所以source ~/.bashrc的作用,就是在不打开新终端的情况下,手动让刚刚修改过的.bashrc配置立即生效。
什么时候需要执行它?
最典型的场景就是你修改了.bashrc文件,添加了一些配置,比如:
设置环境变量: 比如添加了新的
PATH或CUDA_HOME。创建命令别名: 比如设置了
alias ll='ls -alF'。修改终端显示: 比如自定义了命令行提示符的颜色。
修改并保存文件后,已经打开的终端不会自动应用新配置。这时执行source ~/.bashrc,就能立刻加载这些改动,非常方便。
在 Jetson 上需要注意什么?
这里有一个 Jetson 用户容易碰到的问题。
当你用sudo临时提升为 root 权限,或者用sudo -i切换到 root 用户时,执行source ~/.bashrc里的~代表的是root 的家目录(/root),而不是普通用户的家目录。
最常见的问题是:
你在普通用户下为 CUDA 设置了环境变量,但用sudo运行脚本时,系统提示找不到nvcc命令。这通常就是因为 root 用户的.bashrc里没有这些配置。
