模型微调#

当 VISTA-3D NIM 运行时,默认情况下,它会自动从 NGC 下载 VISTA-3D 模型包和权重到 NIM 容器中。但是,如果您希望微调 VISTA-3D 并在 NIM 中继续使用它,以下是关于在 VISTA-3D NIM 中使用自定义模型包和权重的详细指南。

微调模型#

请按照 Project MONAI 上的 本教程 学习如何微调 VISTA-3D 模型。

在 NIM 中使用微调后的模型#

一旦您在本地存储中有了微调后的 VISTA-3D 包,您只需将其挂载到 /opt/bundle,并通过设置 NIM_MANIFEST_PROFILE 环境变量为其设置正确的模型清单配置文件。

-e NIM_MANIFEST_PROFILE=43d0baebee73b7bdc2f9c7edf5c726b2323b4f7283eab92fab893d451592656d \
-v /path/to/fine-tuned/bundle:/opt/bundle \

以下是使用微调模型运行 NIM 的完整命令。

docker run --rm -it --name vista3d \
   --runtime=nvidia -e CUDA_VISIBLE_DEVICES=0 \
   --shm-size=8G \
   -p 8000:8000 \
   -e NGC_API_KEY=$NGC_API_KEY \
   -e NIM_MANIFEST_PROFILE=43d0baebee73b7bdc2f9c7edf5c726b2323b4f7283eab92fab893d451592656d \
   -v /path/to/local/bundle:/opt/bundle \
   nvcr.io/nim/nvidia/vista3d:1.0.0

以下是可用配置文件的列表

  • 56df3d486bbd1c8ac4a1de4d613d4037927bd462d751bf4fe9cbeb8d14890cb8:(默认配置文件) 从 NGC 下载并使用 VISTA-3D 包。

  • 43d0baebee73b7bdc2f9c7edf5c726b2323b4f7283eab92fab893d451592656d:使用用户在 /opt/bundle 提供的 VISTA-3D 包(微调模型)。

问题排查#

如果您在使用微调模型时遇到问题,以下是一些常见的问题排查步骤

常见问题#

  1. 模型未加载:请确保微调包的路径正确,并且该包已正确挂载到 /opt/bundle。如果该包未挂载在 /opt/bundle 下,您可能会看到此错误

nimlib.exceptions.ManifestDownloadError: Error downloading manifest to cache: /opt/nim/.cache error: Invalid Repo ID: path does not exist: /opt/bundle; repo_id: RepoId { repo_path: "/opt/bundle", revision: None, protocol: Some("local") }

如果本地目录(已挂载到 /opt/bundle)不包含必要的包文件,您也会看到此错误

nimlib.exceptions.ManifestDownloadError: Error downloading manifest to cache: /opt/nim/.cache error: Object not found
  1. 配置文件不正确:请验证 NIM_MANIFEST_PROFILE 环境变量是否设置为正确的配置文件 ID。配置文件 ID 需要是上述 ID 之一。否则,您可能会最终使用一些自动配置文件选择。对于微调模型,您可以查看日志以确认配置文件是否已正确设置

"Matched profile_id in manifest from env NIM_MANIFEST_PROFILE to: 43d0baebee73b7bdc2f9c7edf5c726b2323b4f7283eab92fab893d451592656d"
  1. Docker 权限:请确保您拥有运行 Docker 命令和访问指定目录的必要权限。

日志和调试#

要查看日志和调试问题,您可以使用以下 Docker 命令

查看日志

docker logs vista3d

访问容器 Shell

docker exec -it vista3d /bin/bash