If you want to use trt with use_flow_cache=False, please set higher max_shape
我要用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)]
同问!
删除模型文件夹下生成的plan文件,指定use_flow_cache=False重新生成
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=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生成的,要重新生成
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不想要流式输出啊。
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文件
+1
可以只用流式,不用cache吗?
cosyvoice = CosyVoice2('iic/CosyVoice2-0.5B', load_jit=False, load_trt=True, fp16=True, use_flow_cache=True)
运行这个可以生成plan 文件
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文件,才会走那个,我理解就是没加载到,就读默认的配置,然后就提示错误
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文件;