我的编程空间,编程开发者的网络收藏夹
学习永远不晚

docker容器内安装TensorRT的问题

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

docker容器内安装TensorRT的问题

Ubuntu上卸载已安装的版本:


   sudo apt-get purge "libnvinfer*"

如果想把安装文件都删掉以释放空间,执行:


   dpkg -l | grep tensorrt

查看到安装包名,假如是nv-tensorrt-repo-ubuntu1804-cuda11.1-trt7.2.1.6-ga-20201007,则执行:


sudo dpkg -P nv-tensorrt-repo-ubuntu1804-cuda11.1-trt7.2.1.6-ga-20201007

这样就把/var/nv-tensorrt-repo-ubuntu1804-cuda11.1-trt7.2.1.6-ga-20201007_1-1这样的目录文件删掉了。

在Ubuntu主机上安装TensorRT按照https://docs.nvidia.com/deeplearning/tensorrt/install-guide/index.html#installing-debian 做即可,下载安装repo的deb文件后执行下面的步骤即可,假如安装适配CUDA10.2的TensorRT7.2.1版,执行:


sudo dpkg -i nv-tensorrt-repo-ubuntu1804-cuda10.2-trt7.2.1.6-ga-20201006_1-1_amd64.deb

   sudo apt-key add /var/nv-tensorrt-repo-cuda10.2-trt7.2.1.6-ga-20201006/7fa2af80.pub

   sudo apt-get update

   sudo apt-get install tensorrt

如果是在docker容器内安装就不能使用上面的步骤了,否则在安装最后一步时总是会遇到类似如下的错误:

The following packages have unmet dependencies:
 tensorrt : Depends: libnvinfer-dev (= 7.2.1-6+cuda10.2) but 8.0.0-1+cuda11.3 is to be installed
            Depends: libnvinfer-plugin-dev (= 7.2.1-6+cuda10.2) but 8.0.0-1+cuda11.3 is to be installed
            Depends: libnvparsers-dev (= 7.2.1-6+cuda10.2) but 8.0.0-1+cuda11.3 is to be installed
            Depends: libnvonnxparsers-dev (= 7.2.1-6+cuda10.2) but 8.0.0-1+cuda11.3 is to be installed
            Depends: libnvinfer-samples (= 7.2.1-6+cuda10.2) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

容器内分明安装的是CUDA10.2,TensorRT也是7.2.1.6+cuda10.2版的,但是就总是报上面类似的错误,换成其他版本也是一样的继续报类似错,折腾得很郁闷,后来仔细看NVIDIA的文档发现

看来在docker容器内安装TensorRT得用另外的办法,但是呢,用Network Repo方式安装去指定安装一堆libnvinfer*库(根据需要修改8为7)是在是麻烦:

而且装完后后来编译程序时发现还有这样那样的问题,哪怕是指定版本的方式也是同样有问题:

又来回折腾了一阵还是有错,最后往下看发现了这个最简单可靠的方式:

也就是说,最前面报那种莫名其妙的错,其实是因为docker容器内配置有NVIDIA CUDA network repository,而手工下载安装nv-tensorrt-repo-ubuntu1804-cuda10.2-trt7.2.1.6-ga-20201006_1-1_amd64.deb这样的TensorRT local repository后,使用sudo apt-get install tensorrt安装的话由于有两种源会导致包冲突,只需要在/etc/apt/preferences.d/下增加个文件local-repo,内容是:


Package: *
Pin: origin ""
Pin-Priority: 1001

然后执行


 sudo apt-get update
 sudo apt-get install tensorrt

就顺利安装完成local repo对应的版本cuda10.2-trt7.2.1.6,然后编译程序也没见什么错误了!

感觉NVIDIA的文档有的地方写得真的是烂,不能针对每种环境安装分别清楚无误完整地说明白么,非要把很多搅合在一起让用户自己去蹚一个个坑

另外,如果是使用的RTX30序列的GPU,CUDA版本需要 >= 11.1,不然,虽然TensorRT可以安装,但是实际运行时可能会报下面这样的错误:

[W] [TRT] Half2 support requested on hardware without native FP16 support, performance will be negatively affected.
[E] [TRT] ../rtSafe/cuda/caskUtils.cpp (98) - Assertion Error in trtSmToCask: 0 (Unsupported SM.)

11.1.0虽然可以用,但是编译caffe或darknet等某些程序时可能会有下面的错误:

    nvcc fatal: Unsupported gpu architecture 'compute_86'

所以对于RTX30序列的GPU,最好安装CUDA的版本 >= 11.1.1

以上就是docker容器内安装TensorRT的问题的详细内容,更多关于docker安装TensorRT的资料请关注编程网其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

docker容器内安装TensorRT的问题

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

docker容器内安装TensorRT的问题有哪些

这篇文章将为大家详细讲解有关docker容器内安装TensorRT的问题有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Ubuntu上卸载已安装的版本: sudo apt-get purge "l
2023-06-15

docker容器中安装vim问题怎么解决

这篇文章主要介绍“docker容器中安装vim问题怎么解决”,在日常操作中,相信很多人在docker容器中安装vim问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”docker容器中安装vim问题怎
2023-06-20

docker安装nginx容器的方法

Nginx也是一款服务器,我们常用它做如:反向代理、负载均衡、动态与静态资源的分离的工作,这篇文章主要介绍了docker安装nginx,需要的朋友可以参考下
2023-01-04

Docker安装MySql遇到的问题解决

本指南提供了在Docker容器中安装MySQL时解决常见问题的步骤:无法连接到容器:检查守护程序、网络设置、防火墙和容器状态。MySQL容器崩溃:检查日志、资源限制、配置、磁盘空间和系统资源。数据丢失:使用持久卷、启用持久性或遵循官方机制。权限问题:检查用户权限、组设置和外部访问权限。缺少扩展:在Dockerfile中安装扩展、确保依赖项和加载配置。性能问题:优化MySQL配置、提高网络连接速度和考虑使用卷。其他常见问题:检查InnoDB引擎、数据库权限、网络问题、服务启动和参数有效性。
Docker安装MySql遇到的问题解决
2024-04-02

Pytorch的安装过程之pip、conda、Docker容器安装

PyTorch是一个基于Python的开源深度学习框架,可用于训练和预测深度学习模型,PyTorch支持多种安装方法,这篇文章主要介绍了Pytorch的安装----pip、conda、Docker容器,需要的朋友可以参考下
2023-05-14

Docker安装ElasticSearch和Kibana的问题怎么处理

这篇文章主要介绍“Docker安装ElasticSearch和Kibana的问题怎么处理”,在日常操作中,相信很多人在Docker安装ElasticSearch和Kibana的问题怎么处理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的
2023-06-29

如何在 Docker 的容器上安装 go-migrate?

在Docker容器上安装go-migrate是一个常见的需求,它可以帮助我们在应用程序中进行数据库迁移。安装go-migrate并在Docker容器中使用它,可以使我们的开发环境更加便捷和灵活。在本文中,我将为您介绍在Docker容器上安装
如何在 Docker 的容器上安装 go-migrate?
2024-02-13

编程热搜

目录