trtpy,是一个自动配置独立的cuda和tensorRT环境的工具包
根据您的驱动自动选择合适的版本,下载文件,无安装过程
它不会影响您当前的系统的任何配置,他是独立存在的
同时trtpy又是一个代码模版工厂。提供了各种学习用的cpp、cuda、trt代码模版
特色是:下载即配好,可立即运行
欢迎参与内测
- 要求linux x86-64操作系统
- 具有python37/38/39
- 具有nvidia显卡,可以跑cuda或者tensorRT,若不满足,则仅能查看NLP部分不需要环境的系列
快速开始
- 使用pip安装trtpy-dev,注意不能使用清华源。这里是内测,只下载这个版本即可
pip install trtpy-dev==1.1.20 -i https://pypi.org/simple
- 配置便捷指令,使用source的alias
echo alias trtpy=\"python -m trtpy\" >> ~/.bashrc
source ~/.bashrc
- 查看trtpy当前的信息,仅仅证明安装运行成功
trtpy info
- 查看当前支持的模版清单
trtpy list-templ
- 获取一个模版,cpp-trt-mnist模版,体验下载下来可理解执行的爽快。此时会自动下载cuda、cudnn、tensorRT等库,存放到python的site-packages目录下。该过程仅仅涉及文件解压,不会影响你的系统任何东西,如果卸载也会非常干净
该过程会下载模版代码,然后自动进行环境配置
trtpy get-templ cpp-trt-mnist
- 切换到模版目录下
cd cpp-trt-mnist
- 运行模版程序,并进行学习
make run
更多指令,trtpy --help
> trtpy --help
usage: __main__.py [-h]
{get-env,info,mnist-test,exec,list-templ,search-templ,get-templ,list-series,search-series,get-series,change-proj,series-detial,prep-vars,inv-vars,compile,tryload,env-source,local-cpp-pkg,get-cpp-pkg}
...
positional arguments:
{get-env,info,mnist-test,exec,list-templ,search-templ,get-templ,list-series,search-series,get-series,change-proj,series-detial,prep-vars,inv-vars,compile,tryload,env-source,local-cpp-pkg,get-cpp-pkg}
get-env download environment
info display support list
mnist-test test tensorrt with mnist
exec same to ./trtexec
list-templ display all code template
search-templ search all code template
get-templ fetch code template
list-series display all series template
search-series search all series template
get-series fetch series template
change-proj change series proj
series-detial change series proj
prep-vars replace local file variables
inv-vars replace local file value invert to variables
compile compile use trtpro
tryload try to load trtmodel file
env-source get trtpy environment
local-cpp-pkg display all installed local cpp package
get-cpp-pkg download cpp package
optional arguments:
-h, --help show this help message and exit
对于任何指令,都可以trtpy cmd --help查看帮助信息知道参数含义,例如
> trtpy info --help
usage: __main__.py info [-h] [--cuda CUDA] [--trt TRT] [--init] [--tryload]
optional arguments:
-h, --help show this help message and exit
--cuda CUDA cuda version, 10.2, 11.2, 10, 11 etc.
--trt TRT trt version, 8.0, 8 etc.
--init init after display
--tryload try to load dynamic library
**get-env:**手动下载特定环境,有参数–cuda指定cuda版本,目前仅支持10、11,–trt指定tensorRT版本,仅支持8
info : 查看当前配置信息,–init会检查当前驱动版本能够支持的情况,并打印支持情况
mnist-test : 使用onnx hub的mnist模型进行快速的tensorRT测试
exec : 实则会转发到tensorRT官方发布的exec程序上
list-templ : 查看当前支持的模版清单
search-templ : 使用关键词检索模版,对于多个关键词,应该以%隔开,例如:trt%mnist
get-templ : 下载一个模版,下载到指定路径下,可以是当前目录".",下载后并自动进行环境配置
list-series : 查看当前支持的系列教程清单
search-series : 检索一个系列
get-series : 获取一个系列,其参数雷同get-templ,获取仅仅是获取系列的其中一个篇章,配合change-proj切换系列中的篇章
change-proj : 对于系列模版,进行篇章切换,index参数支持按照章节索引、章节标题、next、prev等方式
series-detial : 查看系列的详情包括了哪些模版
prep-vars : 进行变量替换,把当前文件夹内的文件,遇到${@var_name}形式的,替换为value,所有的变量取值,均在info命令下打印出来
inv-vars : 将变量值变为变量名
compile : 使用tensorRT Pro编译一个模型,快速简单的编译onnx模型
tryload : 加载一个tensorRT的引擎文件,并打印可用信息
env-source : 对于不想用make run运行,想单独./pro执行的人,可以使用trtpy env-source得到环境的脚本文件,然后source 这个脚本后,即可./pro。或者执行source trtpy env-source --print
一句话也行
local-cpp-pkg : 本地的cpp包的清单。对于cpp的库,可以单独下载,例如opencv。是分开配置的。后面会增加例如ffmpeg等,可以方便使用的包
get-cpp-pkg : 对于部分项目依赖opencv,会提示opencv错误,则需要通过trtpy get-cpp-pkg opencv4.2下载opencv,目前仅支持opencv4.2