模型编译
模型转换
SyNAP 工具包允许您将模型从其原始格式编译为针对目标硬件优化的内部表示。转换工具和实用程序可以在 Docker 容器内的 Linux、MacOS 或 Windows 主机上运行。只需要 Docker 和 toolkit 镜像;无需安装其他依赖项。
支持的格式
- Tensorflow Lite (
.tflite扩展名) - ONNX (
.onnx扩展名) - TorchScript (
.torchscript、.pt、.pth扩展名) - Tensorflow (
.pb扩展名) - Caffe (
.prototxt扩展名)
PyTorch 模型可以保存为不同的格式,仅支持 TorchScript 格式。更多信息请参见使用 PyTorch 模型。
仅支持标准 Caffe 1.0 模型。自定义变体如 Caffe-SSD 或 Caffe-LSTM 模型或旧版(1.0 之前)模型需要特定的解析器,这些解析器目前在 SyNAP 工具包中不可用。也不支持 Caffe2 模型。
对 .pb 和 .prototxt 格式的支持已弃用。
安装 Docker
下面提供了一些安装提示。请注意,这些不能替代官方的 [Docker] 文档。更多详细信息,请参阅 Docker 网站。
Linux (Ubuntu)
apt-get install docker.io
为了能够在不使用超级用户权限的情况下运行 Docker,在安装 Docker 后还需要运行以下两个命令(更多信息请参阅 linux postinstall:
# 如果 docker 组不存在则创建
sudo groupadd docker
# 将当前用户 "$USER" 添加到 docker 组
sudo usermod -aG docker $USER
macOS - Docker
在 macOS 上安装 Docker 最简单的方法是通过 brew 包管理器。如果您还没有安装它,请按照官方 brew 网站的说明进行安装。安装 brew 后,您可以安装 Docker:
在 macOS 上,Docker GUI 在商业应用中不是免费使用的。一个有效的替代方案是 Colima。
brew install docker
请参阅上面 Linux 安装中的注释,了解如何在不使用超级用户权限的情况下运行 Docker。
macOS - Colima
Colima 是 macOS 上的免费容器运行时,可以用作 Docker 的替代品。它没有 GUI,但易于安装和配置:
brew install colima
mkdir -p ~/.docker/cli-plugins
brew install docker-buildx
ln -sfn $(brew --prefix)/opt/docker-buildx/bin/docker-buildx ~/.docker/cli-plugins/docker-buildx
colima start --vm-type vz --mount-type virtiofs --cpu 4 --memory 8 --disk 80
执行上述命令后,您可以使用 [Colima] 来处理 Docker 容器。设置存储在配置文件 ~/.colima/default/colima.yaml 中,如果需要可以通过编辑文件来修改。每次重启 Mac 后都需要启动 Colima:
colima start
Windows
在 Windows 上运行 Docker 的建议方式是在使用 WSL2 的 Linux 虚拟机中安装它,WSL2 可从 Windows 10 获得。
重要说明:
在 Windows 中直接运行 Docker 与虚拟机的存在不兼容。因此,在 WSL2 中使用 Linux 虚拟机通常是最佳选择。
WSL2 安装步骤
-
以管理员身份运行 Windows PowerShell 应用程序并执行以下命令来安装 WSL2:
wsl --install完成后,重启计算机。
-
像之前一样运行 Windows PowerShell 应用程序并安装 Ubuntu-22.04:
wsl --install -d Ubuntu-22.04 -
运行 Windows Terminal 应用程序并选择 Ubuntu-22.04 发行版。从那里,按照上面
using-docker-ubuntu-label中的说明安装 Docker 和 SyNAP 工具包。
有关 WSL2 安装和设置的更多信息,请参阅官方 Microsoft 文档: WSL 安装 和 WSL 环境。
安装 SyNAP 工具
在安装 SyNAP 工具包之前,请确保您有一个正常工作的 Docker 安装。最简单的方法是运行 hello-world 镜像:
$ docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from libraryhello-world
...
...
Hello from Docker!
This message shows that your installation appears to be working correctly
如果上述命令没有产生预期的输出,请检查上一节中的说明或参阅适用于您平台的官方 Docker 文档。如果一切正常,您可以继续安装工具包。
SyNAP 工具包作为 Docker 镜像分发,只需从 SyNAP github 仓库下载镜像即可安装:
docker pull ghcriosynaptics-synaptoolkit:#SyNAP_Version#
此镜像不仅包含转换工具本身,还包含所有必需的依赖项和额外的支持实用程序。
您可以在这里找到工具包的最新版本。