Docker部署NVIDIA Triton Server遇CUDA设备数获取失败及模型加载异常
Triton Inference Server Docker部署问题排查解决
一、GPU设备无法识别问题(Cannot get CUDA device count)
本地CUDA正常但容器无法识别GPU,核心是Docker未配置NVIDIA容器运行时:
- 验证NVIDIA容器工具包可用性:执行
docker run --rm --gpus all nvidia/cuda:11.7.1-base-ubuntu22.04 nvidia-smi,若报错则需安装工具包:- 添加NVIDIA GPG密钥与软件源
- 安装
nvidia-docker2包 - 重启Docker服务(
systemctl restart docker)
- 启动Triton容器必须携带
--gpus all参数,示例启动命令:docker run -d --gpus all -p 8000:8000 -p 8001:8001 -p 8002:8002 -v /本地模型路径:/models nvcr.io/nvidia/tritonserver:22.04-py3 --model-repository=/models - 检查Docker daemon配置:确保
/etc/docker/daemon.json包含"default-runtime": "nvidia",无则添加后重启Docker。
二、模型列表为空问题
需确保模型仓库完全符合Triton的要求:
- 严格遵循目录结构:每个模型必须包含版本号子目录(如
1)和config.pbtxt配置文件,示例结构:model_repo/ ├── resnet50/ │ ├── 1/ │ │ └── model.onnx │ └── config.pbtxt - 修复目录权限:Triton默认以
nobody用户运行,执行chmod -R 755 /本地模型路径确保容器可读取模型文件,或启动容器时添加--user $(id -u):$(id -g)使用当前用户权限。 - 确认参数传递正确:Triton的模型仓库参数为
--model-repository(命令行)或TRITON_MODEL_REPOSITORY(环境变量),而非model_repository_path,避免参数名错误。 - 查看完整日志定位细节:执行
docker logs sample-tis-22.04,查找模型加载失败的具体报错(如配置文件语法错误、模型格式不兼容等)。
内容的提问来源于stack exchange,提问作者MFaiqKhan
相关产品推荐
相关产品推荐

