STDC-Seg icon indicating copy to clipboard operation
STDC-Seg copied to clipboard

关于inference time

Open gyy-bot opened this issue 3 years ago • 18 comments

你好,我下载了checkpoint,用STDC1-Seg/model_maxmIOU50.pth,backbone='STDCNet813', scale=0.5进行测试,在RTX2080上运行,跑完cityscapes数据val集的500张图大概需要57s,并未达到实时啊,不知道测试时还需要设置什么参数吗?

gyy-bot avatar Jul 19 '21 15:07 gyy-bot

你好,我下载了checkpoint,用STDC1-Seg/model_maxmIOU50.pth,backbone='STDCNet813', scale=0.5进行测试,在RTX2080上运行,跑完cityscapes数据val集的500张图大概需要57s,并未达到实时啊,不知道测试时还需要设置什么参数吗?

速度测试是单独的模块,因为测试与BiSeNet FasterSeg这些算法的做法一样,涉及trt加速而且只计算模型inference时间,读图和后处理都不涉及;测试速度的话可以看Latency这部分

MichaelFan01 avatar Jul 20 '21 02:07 MichaelFan01

@MichaelFan01 请问在没有tensorrt情况下,速度大概多少?我使用了您提供的Latency部分代码,发现速度只有20FPS左右,在V100情况下,但是你论文提供的相应结果应该是188FPS左右的,在1080TI下。

ShihuaHuang95 avatar Jul 20 '21 03:07 ShihuaHuang95

@MichaelFan01 请问在没有tensorrt情况下,速度大概多少?我使用了您提供的Latency部分代码,发现速度只有20FPS左右,在V100情况下,但是你论文提供的相应结果应该是188FPS左右的,在1080TI下。

没有现成的数据,一般来说,trt加速之后会快不少,不过20过分了吧,哪个版本,我去测一个去~

MichaelFan01 avatar Jul 20 '21 03:07 MichaelFan01

@MichaelFan01 请问在没有tensorrt情况下,速度大概多少?我使用了您提供的Latency部分代码,发现速度只有20FPS左右,在V100情况下,但是你论文提供的相应结果应该是188FPS左右的,在1080TI下。

我的锅,有个地方忘改了,pytorch速度的话,我写成了CPU速度: image 改成cuda就行了,不加速的话pytorch STDC2Seg-50速度大概在76左右

MichaelFan01 avatar Jul 20 '21 03:07 MichaelFan01

@MichaelFan01 请问在没有tensorrt情况下,速度大概多少?我使用了您提供的Latency部分代码,发现速度只有20FPS左右,在V100情况下,但是你论文提供的相应结果应该是188FPS左右的,在1080TI下。

我的锅,有个地方忘改了,pytorch速度的话,我写成了CPU速度: image 改成cuda就行了,不加速的话pytorch STDC2Seg-50速度大概在76左右

在latency/utils/darts_utils.py 的 compute_latency_ms_pytorch

MichaelFan01 avatar Jul 20 '21 03:07 MichaelFan01

@MichaelFan01 请问在没有tensorrt情况下,速度大概多少?我使用了您提供的Latency部分代码,发现速度只有20FPS左右,在V100情况下,但是你论文提供的相应结果应该是188FPS左右的,在1080TI下。

我的锅,有个地方忘改了,pytorch速度的话,我写成了CPU速度: image 改成cuda就行了,不加速的话pytorch STDC2Seg-50速度大概在76左右

在latency/utils/darts_utils.py 的 compute_latency_ms_pytorch

!确实,我也没注意看,非常感谢。你的那个FPS 76指的是在1080TI下吗?

ShihuaHuang95 avatar Jul 20 '21 03:07 ShihuaHuang95

@MichaelFan01 请问在没有tensorrt情况下,速度大概多少?我使用了您提供的Latency部分代码,发现速度只有20FPS左右,在V100情况下,但是你论文提供的相应结果应该是188FPS左右的,在1080TI下。

我的锅,有个地方忘改了,pytorch速度的话,我写成了CPU速度: image 改成cuda就行了,不加速的话pytorch STDC2Seg-50速度大概在76左右

在latency/utils/darts_utils.py 的 compute_latency_ms_pytorch

!确实,我也没注意看,非常感谢。你的那个FPS 76指的是在1080TI下吗?

我手头没有现成的1080Ti, 估算的哈,TitanXp上是78,根据经验1080TI应该是76左右

MichaelFan01 avatar Jul 20 '21 03:07 MichaelFan01

@MichaelFan01 请问在没有tensorrt情况下,速度大概多少?我使用了您提供的Latency部分代码,发现速度只有20FPS左右,在V100情况下,但是你论文提供的相应结果应该是188FPS左右的,在1080TI下。

我的锅,有个地方忘改了,pytorch速度的话,我写成了CPU速度: image 改成cuda就行了,不加速的话pytorch STDC2Seg-50速度大概在76左右

在latency/utils/darts_utils.py 的 compute_latency_ms_pytorch

!确实,我也没注意看,非常感谢。你的那个FPS 76指的是在1080TI下吗?

我手头没有现成的1080Ti, 估算的哈,TitanXp上是78,根据经验1080TI应该是76左右

非常感谢!很棒的工作,我也在follow及对比。

ShihuaHuang95 avatar Jul 20 '21 03:07 ShihuaHuang95

我在1080T上测试STDC-Seg50速度在100FPS左右,和论文里的还是不一样啊

Mobu59 avatar Jan 27 '22 10:01 Mobu59

我在1080T上测试STDC-Seg50速度在100FPS左右,和论文里的还是不一样啊

作者用了TensorRT做加速。

ShihuaHuang95 avatar Jan 29 '22 09:01 ShihuaHuang95

我在1080T上测试STDC-Seg50速度在100FPS左右,和论文里的还是不一样啊

作者用了TensorRT做加速。

对,哈哈我忘记了,我转成trt之后测速在1080ti上STDC-Seg50能到255帧,STDC-Seg75也有129.8帧,确实效果和速度都是不错的

Mobu59 avatar Feb 08 '22 02:02 Mobu59

对,哈哈我忘记了,我转成trt之后测速在1080ti上STDC-Seg50能到255帧,STDC-Seg75也有129.8帧,确实效果和速度都是不错的

打扰了,能不能告知一下你用什么转的trt?试了几个都没成功

amokame avatar Jun 30 '22 02:06 amokame

对,哈哈我忘记了,我转成trt之后测速在1080ti上STDC-Seg50能到255帧,STDC-Seg75也有129.8帧,确实效果和速度都是不错的

打扰了,能不能告知一下你用什么转的trt?试了几个都没成功 如果我没记错的话, 按照README.md中的流程,安装pycuda和tensorrt就行,版本可以不跟作者的对应,然后运行python run_latency.py,如果你已经在这个py文件中指定了onnx路径和tensorrt路径,则会先给你导出onnx然后再转成tensorrt就可以了,时间有点久了,细节记得不太清楚了,大概就是这样。核心就是你要保证你的pycuda和tensorrt是安装成功了的

Mobu59 avatar Jun 30 '22 03:06 Mobu59

如果我没记错的话, 按照README.md中的流程,安装pycuda和tensorrt就行,版本可以不跟作者的对应,然后运行python run_latency.py,如果你已经在这个py文件中指定了onnx路径和tensorrt路径,则会先给你导出onnx然后再转成tensorrt就可以了,时间有点久了,细节记得不太清楚了,大概就是这样。核心就是你要保证你的pycuda和tensorrt是安装成功了的

了解了 我去试试。非常感谢!!!

amokame avatar Jun 30 '22 03:06 amokame

对,哈哈我忘记了,我转成trt之后测速在1080ti上STDC-Seg50能到255帧,STDC-Seg75也有129.8帧,确实效果和速度都是不错的

打扰了,能不能告知一下你用什么转的trt?试了几个都没成功 如果我没记错的话, 按照README.md中的流程,安装pycuda和tensorrt就行,版本可以不跟作者的对应,然后运行python run_latency.py,如果你已经在这个py文件中指定了onnx路径和tensorrt路径,则会先给你导出onnx然后再转成tensorrt就可以了,时间有点久了,细节记得不太清楚了,大概就是这样。核心就是你要保证你的pycuda和tensorrt是安装成功了的

不好意思再打扰一下>< 你有没有碰到过下面这个问题? [TensorRT] ERROR: Network must have at least one output with build_engine("model.onnx") as engine: AttributeError: enter

我找了一下,他们说是按这个改。但我改成下面那样之后还是出错。 https://github.com/NVIDIA/TensorRT/issues/183#issuecomment-657673563

def build_engine(model_file):
    explicit_batch = 1 << (int)(trt.NetworkDefinitionCreationFlag.EXPLICIT_BATCH)
    with trt.Builder(TRT_LOGGER) as builder, builder.create_network(explicit_batch) as network, trt.OnnxParser(network, TRT_LOGGER) as parser:

amokame avatar Jul 05 '22 08:07 amokame

我安装好了pycuda和RT,也生成了model.onnx,但是1080Ti测速STDC2-Seg75 FPS只有65.8,STDC2-Seg50 FPS只有133.64,和与原文差30-50这么多,不知道RT加速还需要注意什么吗(不加速之前用pytorch FPS只有35和70)

对,哈哈我忘记了,我转成trt之后测速在1080ti上STDC-Seg50能到255帧,STDC-Seg75也有129.8帧,确实效果和速度都是不错的

打扰了,能不能告知一下你用什么转的trt?试了几个都没成功 如果我没记错的话, 按照README.md中的流程,安装pycuda和tensorrt就行,版本可以不跟作者的对应,然后运行python run_latency.py,如果你已经在这个py文件中指定了onnx路径和tensorrt路径,则会先给你导出onnx然后再转成tensorrt就可以了,时间有点久了,细节记得不太清楚了,大概就是这样。核心就是你要保证你的pycuda和tensorrt是安装成功了的

我安装好了pycuda和RT,也生成了model.onnx,但是1080Ti测速STDC2-Seg75 FPS只有65.8,STDC2-Seg50 FPS只有133.64,和与原文差30-50这么多,不知道RT加速还需要注意什么吗(不加速之前用pytorch FPS只有35和70)

alittledou avatar Jan 05 '23 08:01 alittledou

对,哈哈我忘记了,我转成trt之后测速在1080ti上STDC-Seg50能到255帧,STDC-Seg75也有129.8帧,确实效果和速度都是不错的

打扰了,能不能告知一下你用什么转的trt?试了几个都没成功 如果我没记错的话, 按照README.md中的流程,安装pycuda和tensorrt就行,版本可以不跟作者的对应,然后运行python run_latency.py,如果你已经在这个py文件中指定了onnx路径和tensorrt路径,则会先给你导出onnx然后再转成tensorrt就可以了,时间有点久了,细节记得不太清楚了,大概就是这样。核心就是你要保证你的pycuda和tensorrt是安装成功了的

不好意思再打扰一下>< 你有没有碰到过下面这个问题? [TensorRT] ERROR: Network must have at least one output with build_engine("model.onnx") as engine: AttributeError: enter

我找了一下,他们说是按这个改。但我改成下面那样之后还是出错。 NVIDIA/TensorRT#183 (comment)

def build_engine(model_file):
    explicit_batch = 1 << (int)(trt.NetworkDefinitionCreationFlag.EXPLICIT_BATCH)
    with trt.Builder(TRT_LOGGER) as builder, builder.create_network(explicit_batch) as network, trt.OnnxParser(network, TRT_LOGGER) as parser:

RT 换成7.0版本,用这个解决方案就可以

alittledou avatar Jan 05 '23 08:01 alittledou

对,哈哈我忘记了,我转成trt之后测速在1080ti上STDC-Seg50能到255帧,STDC-Seg75也有129.8帧,确实效果和速度都是不错的

打扰了,能不能告知一下你用什么转的trt?试了几个都没成功 如果我没记错的话, 按照README.md中的流程,安装pycuda和tensorrt就行,版本可以不跟作者的对应,然后运行python run_latency.py,如果你已经在这个py文件中指定了onnx路径和tensorrt路径,则会先给你导出onnx然后再转成tensorrt就可以了,时间有点久了,细节记得不太清楚了,大概就是这样。核心就是你要保证你的pycuda和tensorrt是安装成功了的

请问您的RT版本是7.1以上吗

alittledou avatar Jan 05 '23 08:01 alittledou