DL | TensorRT将Tensorflow模型转换为uff格式 报错Unable to locate package uff-converter-tf
前情概要:尝试用Nvidia的tensorRT加速模型,生成tf的pb模型后,用uff的python工具包进一步转换模型时,出现错误。实验环境:TensorRT 5.0+CUDA10.0的nvidia-docker镜像环境实验目的:尝试将tensorflow的pb模型解析为uff格式实验途径:依赖于uff工具包,import uff成功问题描述:使用uff的api...
前情概要:尝试用Nvidia的tensorRT加速模型,生成tf的pb模型后,用uff的python工具包进一步转换模型时,出现错误。
实验环境:TensorRT 5.0+CUDA10.0的nvidia-docker镜像环境
实验目的:尝试将tensorflow的pb模型解析为uff格式
实验途径:依赖于uff工具包,import uff成功
问题描述:
使用uff的api from_tensorflow_frozen_model 对pb模型进行转换。
出错信息如下:
AttributeError: module 'uff' has no attribute 'from_tensorflow_frozen_model'
问题分析:
首先判断是uff可能安装的不正确,尝试重新安装uff包。根据官网教程输入指令:apt-get install uff-converter-tf,再次报错,报错信息如下:
E: Unable to locate package uff-converter-tf
继续解决这个问题,发现资料很少,仔细研读官网教程(https://docs.nvidia.com/deeplearning/sdk/tensorrt-install-guide/index.html#installing-debian)发现Uff工具包已经打包在TRT的安装包里了,所以推断需要重新安装TRT。于是重新下载目标版本的TRT,注意匹配CUDA版本,我下载的是deb格式,使用指令本地解压:
dpkg -i nv-tensorrt-repo-ubuntu1x04-cudax.x-trt5.1.x.x-ga-yyyymmdd_1-1_amd64.deb
然后更新apt的源并安装TRT:
apt-get update && apt-get install tensorrt
安装python接口:
apt-get install python3-libnvinfer-dev
然后再进行uff包的安装就可以了!
apt-get install uff-converter-tf
这里的坑是我在之前直接apt-get install失败后,有些困惑,网上资料也很少。其实需要仔细的读现有的官方文档,uff的这个工具包已经包含在TRT里,当然也可以尝试找到镜像里TRT的安装路径,可能可以找到另一种解法。
预祝大家转换顺利!
更多推荐
所有评论(0)