CosyVoice icon indicating copy to clipboard operation
CosyVoice copied to clipboard

If you want to use trt with use_flow_cache=False, please set higher max_shape

Open Daniel-He-KX opened this issue 8 months ago • 11 comments

我要用TensorRT 加快推理过程, 最后一个参数 use_flow_cache 我不想用stream 所以用了False cosyvoice = CosyVoice2(args.model_dir, False, True, False, False )

出现错误:AssertionError: get_trt_kwargs is set for flow cache mode. If you want to use trt with use_flow_cache=False, please set higher max_shape

我看了源码,那块是写死的,没法修改更高的max_shape

max_shape = [(2, 80, 1500), (2, 1, 1500), (2, 80, 1500), (2, 80, 1500), (1, 4, 2, 200, 512, 2), (12, 4, 2, 200, 512, 2), (1, 4, 2, 200, 512, 2)]

Daniel-He-KX avatar Apr 10 '25 07:04 Daniel-He-KX

同问!

lovewater avatar Apr 10 '25 08:04 lovewater

删除模型文件夹下生成的plan文件,指定use_flow_cache=False重新生成

aluminumbox avatar Apr 15 '25 02:04 aluminumbox

use_flow_cache=False

不对啊,我的设置: load_jit=False, load_trt=True, fp16=False, use_flow_cache=False 删除plan文件文件件列表: asset CosyVoice-BlankEN flow.encoder.fp16.zip llm.pt campplus.onnx flow.cache.pt flow.encoder.fp32.zip README.md configuration.json flow.pt speech_tokenizer_v2.onnx cosyvoice2.yaml flow.decoder.estimator.fp32.onnx hift.pt

然后启动还是报这个错,我看这个是写到断言里的,和这个plan没啥关系啊。没有trt加速,这玩意慢得有点离谱啊

lovewater avatar Apr 16 '25 03:04 lovewater

use_flow_cache=False

不对啊,我的设置: load_jit=False, load_trt=True, fp16=False, use_flow_cache=False 删除plan文件文件件列表: asset CosyVoice-BlankEN flow.encoder.fp16.zip llm.pt campplus.onnx flow.cache.pt flow.encoder.fp32.zip README.md configuration.json flow.pt speech_tokenizer_v2.onnx cosyvoice2.yaml flow.decoder.estimator.fp32.onnx hift.pt

然后启动还是报这个错,我看这个是写到断言里的,和这个plan没啥关系啊。没有trt加速,这玩意慢得有点离谱啊

如果你一开始use_flow_cache=True,那么这个plan文件是用flow.cache.pt生成的,要重新生成

aluminumbox avatar Apr 16 '25 03:04 aluminumbox

use_flow_cache=False

不对啊,我的设置: load_jit=False, load_trt=True, fp16=False, use_flow_cache=False 删除plan文件文件件列表: asset CosyVoice-BlankEN flow.encoder.fp16.zip llm.pt campplus.onnx flow.cache.pt flow.encoder.fp32.zip README.md configuration.json flow.pt speech_tokenizer_v2.onnx cosyvoice2.yaml flow.decoder.estimator.fp32.onnx hift.pt 然后启动还是报这个错,我看这个是写到断言里的,和这个plan没啥关系啊。没有trt加速,这玩意慢得有点离谱啊

如果你一开始use_flow_cache=True,那么这个plan文件是用flow.cache.pt生成的,要重新生成

已经删了plan文件,但还是报这个断言的错。我看了下代码,初始化Cosyvoice2,如果设置使用RTR就一定会调用 def get_trt_kwargs(self)

这个函数里有个断言,如果不开启use_flow_cache就会触发: assert self.use_flow_cache is True, "get_trt_kwargs is set for flow cache mode. If you want to use trt with use_flow_cache=False, please set higher max_shape"

如果设置use_flow_cache=True,就必须使用流式输出(stream=True),否则会遇到断言报错: assert self.use_flow_cache is False, "set use_flow_cache=False for nonstream inference"

最后就演变成了使用trt就必须使用流式输出。但其实我只想要trt不想要流式输出啊。

lovewater avatar Apr 16 '25 04:04 lovewater

use_flow_cache=False

不对啊,我的设置: load_jit=False, load_trt=True, fp16=False, use_flow_cache=False 删除plan文件文件件列表: asset CosyVoice-BlankEN flow.encoder.fp16.zip llm.pt campplus.onnx flow.cache.pt flow.encoder.fp32.zip README.md configuration.json flow.pt speech_tokenizer_v2.onnx cosyvoice2.yaml flow.decoder.estimator.fp32.onnx hift.pt 然后启动还是报这个错,我看这个是写到断言里的,和这个plan没啥关系啊。没有trt加速,这玩意慢得有点离谱啊

如果你一开始use_flow_cache=True,那么这个plan文件是用flow.cache.pt生成的,要重新生成

已经删了plan文件,但还是报这个断言的错。我看了下代码,初始化Cosyvoice2,如果设置使用RTR就一定会调用 def get_trt_kwargs(self)

这个函数里有个断言,如果不开启use_flow_cache就会触发: assert self.use_flow_cache is True, "get_trt_kwargs is set for flow cache mode. If you want to use trt with use_flow_cache=False, please set higher max_shape"

如果设置use_flow_cache=True,就必须使用流式输出(stream=True),否则会遇到断言报错: assert self.use_flow_cache is False, "set use_flow_cache=False for nonstream inference"

最后就演变成了使用trt就必须使用流式输出。但其实我只想要trt不想要流式输出啊。

请问一怎么解决的,我都没有plan文件

hjj-lmx avatar Apr 16 '25 10:04 hjj-lmx

+1

nico-zck avatar Apr 17 '25 14:04 nico-zck

可以只用流式,不用cache吗?

JohnHerry avatar May 16 '25 00:05 JohnHerry

cosyvoice = CosyVoice2('iic/CosyVoice2-0.5B', load_jit=False, load_trt=True, fp16=True, use_flow_cache=True)
运行这个可以生成plan 文件

mengmengwang90 avatar May 20 '25 06:05 mengmengwang90

use_flow_cache=False

不对啊,我的设置: load_jit=False, load_trt=True, fp16=False, use_flow_cache=False 删除plan文件文件件列表: asset CosyVoice-BlankEN flow.encoder.fp16.zip llm.pt campplus.onnx flow.cache.pt flow.encoder.fp32.zip README.md configuration.json flow.pt speech_tokenizer_v2.onnx cosyvoice2.yaml flow.decoder.estimator.fp32.onnx hift.pt 然后启动还是报这个错,我看这个是写到断言里的,和这个plan没啥关系啊。没有trt加速,这玩意慢得有点离谱啊

如果你一开始use_flow_cache=True,那么这个plan文件是用flow.cache.pt生成的,要重新生成

已经删了plan文件,但还是报这个断言的错。我看了下代码,初始化Cosyvoice2,如果设置使用RTR就一定会调用 def get_trt_kwargs(self)

这个函数里有个断言,如果不开启use_flow_cache就会触发: assert self.use_flow_cache is True, "get_trt_kwargs is set for flow cache mode. If you want to use trt with use_flow_cache=False, please set higher max_shape"

如果设置use_flow_cache=True,就必须使用流式输出(stream=True),否则会遇到断言报错: assert self.use_flow_cache is False, "set use_flow_cache=False for nonstream inference"

最后就演变成了使用trt就必须使用流式输出。但其实我只想要trt不想要流式输出啊。

Image 有一个判断,如果没加载到plan文件,才会走那个,我理解就是没加载到,就读默认的配置,然后就提示错误

lvchaogit avatar May 21 '25 10:05 lvchaogit

use_flow_cache=False

不对啊,我的设置: load_jit=False, load_trt=True, fp16=False, use_flow_cache=False 删除plan文件文件件列表: asset CosyVoice-BlankEN flow.encoder.fp16.zip llm.pt campplus.onnx flow.cache.pt flow.encoder.fp32.zip README.md configuration.json flow.pt speech_tokenizer_v2.onnx cosyvoice2.yaml flow.decoder.estimator.fp32.onnx hift.pt 然后启动还是报这个错,我看这个是写到断言里的,和这个plan没啥关系啊。没有trt加速,这玩意慢得有点离谱啊

如果你一开始use_flow_cache=True,那么这个plan文件是用flow.cache.pt生成的,要重新生成

已经删了plan文件,但还是报这个断言的错。我看了下代码,初始化Cosyvoice2,如果设置使用RTR就一定会调用 def get_trt_kwargs(self) 这个函数里有个断言,如果不开启use_flow_cache就会触发: assert self.use_flow_cache is True, "get_trt_kwargs is set for flow cache mode. If you want to use trt with use_flow_cache=False, please set higher max_shape" 如果设置use_flow_cache=True,就必须使用流式输出(stream=True),否则会遇到断言报错: assert self.use_flow_cache is False, "set use_flow_cache=False for nonstream inference" 最后就演变成了使用trt就必须使用流式输出。但其实我只想要trt不想要流式输出啊。

请问一怎么解决的,我都没有plan文件

仔细看 应该有生成.plan文件;

Image

lvchaogit avatar May 21 '25 10:05 lvchaogit