Closed HLeonHong closed 1 year ago
@HLeonHong 这不是报错,只是警告
@HLeonHong 这不是报错,只是警告 请问这是构建YOLOV6成功了不
PS C:\Users\LeonH\Documents\Euro Truck Simulator 2\Self driving Euro Truck Simulato2> python ./tools/export.py -o ./engines/yolov6s_bdd_60.onnx -e ./engines/yolov6s_bdd_60.engine --end2end
Namespace(calib_batch_size=8, calib_cache='./calibration.cache', calib_input=None, calib_num_images=5000, conf_thres=0.4, end2end=True, engine='./engines/yolov6s_bdd_60.engine', iou_thres=0.5, max_det=100, onnx='./engines/yolov6s_bdd_60.onnx', precision='fp16', verbose=False, workspace=1)
[02/12/2023-12:04:31] [TRT] [I] [MemUsageChange] Init CUDA: CPU +224, GPU +0, now: CPU 7127, GPU 798 (MiB)
[02/12/2023-12:04:33] [TRT] [I] [MemUsageChange] Init builder kernel library: CPU +123, GPU +22, now: CPU 7741, GPU 820 (MiB)
[02/12/2023-12:04:33] [TRT] [W] CUDA lazy loading is not enabled. Enabling it can significantly reduce device memory usage. See CUDA_MODULE_LOADING
in https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#env-vars
./tools/export.py:109: DeprecationWarning: Use set_memory_pool_limit instead.
self.config.max_workspace_size = workspace * (2 ** 30)
[02/12/2023-12:04:33] [TRT] [W] onnx2trt_utils.cpp:377: Your ONNX model has been generated with INT64 weights, while TensorRT does not natively support INT64. Attempting to cast down to INT32.
Network Description
Input 'images' with shape (1, 3, 640, 640) and dtype DataType.FLOAT
Output 'outputs' with shape (1, 8400, 15) and dtype DataType.FLOAT
./tools/export.py:143: DeprecationWarning: Use network created with NetworkDefinitionCreationFlag::EXPLICIT_BATCH flag instead.
self.builder.max_batch_size = self.batch_size
[02/12/2023-12:04:34] [TRT] [F] Validation failed: score_activation}tion missing required fields: {
C:_src\plugin\common\plugin.cpp:41
[02/12/2023-12:04:34] [TRT] [E] Unknown exception
Traceback (most recent call last):
File "./tools/export.py", line 288, in
Invoked with: <tensorrt.tensorrt.INetworkDefinition object at 0x00000225184ECEB0>, [<tensorrt.tensorrt.ITensor object at 0x00000225184D4370>, <tensorrt.tensorrt.ITensor object at 0x0000022515FD2E70>], None PS C:\Users\LeonH\Documents\Euro Truck Simulator 2\Self driving Euro Truck Simulato2>
好像卡了?
好像卡了?
最后是这样
@HLeonHong 已经构建完成了
这个也是构建完成了吗? 构建 CLRNet 的 TensorRT 文件
@HLeonHong 这不是报错,只是警告 请问这是构建YOLOV6成功了不
PS C:\Users\LeonH\Documents\Euro Truck Simulator 2\Self Driving Euro Truck Simulato2> python ./tools/export.py -o ./engines/yolov6s_bdd_60.onnx -e ./engines/yolov6s_bdd_60.engine --end2end Namespace(calib_batch_size=8, calib_cache='./calibration.cache', calib_input=None, calib_num_images=5000, conf_thres=0.4, end2end=True, engine='./engines/yolov6s_bdd_60.engine', iou_thres=0.5, max_det=100, onnx='./engines/yolov6s_bdd_60.onnx', precision='fp16', verbose=False, workspace=1) [02/12/2023-12:04:31] [TRT] [I] [内存用法更改] 初始化 CUDA: CPU +224, GPU +0, 现在: CPU 7127, GPU 798 (MiB) [02/12/2023-12:04:33] [TRT] [I] [内存用法更改] 初始化生成器内核库:CPU +123,GPU +22,现在:CPU 7741,GPU 820 (MiB) [02/12/2023-12:04:33] [TRT][W] 未启用 CUDA 延迟加载。启用它可以显著减少设备内存使用量。请参阅 https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#env-vars ./tools/export.py:109:弃用警告:请改用set_memory_pool_limit。 self.config.max_workspace_size = workspace * (2 ** 30) [02/12/2023-12:04:33] [TRT] [W] onnx2trt_utils.cpp:377:您的 ONNX 模型是使用 INT64 权重生成的,而 TensorRT 本身不支持 INT64。尝试向下转换为 INT32。网络描述 输入带有形状 (1, 3, 640, 640) 的 'images' 和 dtype DataType.FLOAT 输出 'outputs' 与形状 (1, 8400, 15) 和 dtype DataType.FLOAT ./tools/export.py:143: 弃用警告: 改用使用 NetworkDefinitionCreationFlag::EXPLICIT_BATCH 标志创建的网络。 self.builder.max_batch_size = self.batch_size [02/12/2023-12:04:34] [TRT] [F] 验证失败:score_activation}缺少必填字段:{ C:_src\plugin\common\plugin.cpp:41
CUDA_MODULE_LOADING
[02/12/2023-12:04:34] [TRT] [E] 未知异常回溯(最近最后一次调用):文件 “./tools/export.py”,第 288 行,在 main(args) 中 文件 “./tools/export.py”,第 248 行,在主builder.create_network(args.onnx, args.end2end, args.conf_thres, args.iou_thres, args.max_det) 文件 “./tools/export.py”,第 191 行,create_network layer = self.network.add_plugin_v2([boxes.get_output(0), updated_scores.get_output(0)], nms_layer) TypeError: add_plugin_v2(): 不兼容的函数参数。支持以下参数类型:1. (self: tensorrt.tensorrt.INetworkDefinition, inputs: List[tensorrt.tensorrt.ITensor], plugin: tensorrt.tensorrt.IPluginV2) -> tensorrt.tensorrt.IPluginV2Layer
调用方式: <tensorrt.tensorrt.INetworkDefinition object at 0x00000225184ECEB0>, [<tensorrt.tensorrt.ITensor object at 0x00000225184D4370>, <tensorrt.tensorrt.ITensor object at 0x0000022515FD2E70>], none PS C:\Users\LeonH\Documents\Euro Truck Simulator 2\Self driving Euro Truck Simulato2>
请问出现上述一样的错误是如何解决的呢?
由于学习原因我不太记得具体的了,不过我当时也是在网上查的 作者说了不是报错,那么可以暂时忽略。进行下一步 这期间也会有好几个地方与作者的不相同的,比如所用到软件的版本等等 按照自己的情况灵活处理一下就好了
由于学习原因我不太记得具体的了,不过我当时也是在网上查的 作者说了不是报错,那么可以暂时忽略。进行下一步 这期间也会有好几个地方与作者的不相同的,比如所用到软件的版本等等 按照自己的情况灵活处理一下就好了
已找到解决办法: 在 export.py里的 fc = trt.PluginFieldCollection(fc) 前面加上一行 fc.append(trt.PluginField("score_activation", np.array([0], dtype=np.int32), trt.PluginFieldType.INT32)) 就可以生成了
很棒!这么快就找到了解决方法
由于学习原因我不太记得具体的了,不过我当时也是在网上查的 作者说了不是报错,那么可以暂时忽略。进行下一步 这期间也会有好几个地方与作者的不相同的,比如所用到软件的版本等等 按照自己的情况灵活处理一下就好了
已找到解决办法: 在 export.py里的 fc = trt.PluginFieldCollection(fc) 前面加上一行 fc.append(trt.PluginField("score_activation", np.array([0], dtype=np.int32), trt.PluginFieldType.INT32)) 就可以生成了
麻烦你告诉我一下你所找到方法的网址吧
由于学习原因我不太记得具体的了,不过我当时也是在网上查的 作者说了不是报错,那么可以暂时忽略。进行下一步 这期间也会有好几个地方与作者的不相同的,比如所用到软件的版本等等 按照自己的情况灵活处理一下就好了
已找到解决办法: 在 export.py里的 fc = trt.PluginFieldCollection(fc) 前面加上一行 fc.append(trt.PluginField("score_activation", np.array([0], dtype=np.int32), trt.PluginFieldType.INT32)) 就可以生成了
麻烦你告诉我一下你所找到方法的网址吧
其实就在本项目的issue里 https://github.com/Yutong-gannis/ETSAuto/issues/14
的确是我忘了 你已经部署好了吧 我昨晚也重新部署了,这次比较顺利,也做了笔记
构建 YOLOV6 的 TensorRT 文件 出现了这个错误
Your ONNX model has been generated with INT64 weights, while TensorRT does not natively support INT64. Attempting to cast down to INT32.
我找了pip install onnx-simplifier的方法也还是不行