基本错误都是环境引起的,所以环境很重要!!!!!!
环境 python3.5 cuda10.0 cudnn 7.5.0 TensorRT-6.0.1 onnx 1.3.0
相关错误:
错误1: 'NoneType' object has no attribute 'serialize'
此错误原因是 tensorrt模型转化失败,可以在目录下看到yolov3.trt为0KB
解决方案:onnx版本从1.6.0降到1.3.0
错误2:ImportError: libcudnn.so.7: cannot open shared object file: No such file or directory
此错误原因是: 找不到libcudnn.so.7,如果单纯拷贝这个文件到/usr/lib下,还会报其他错误
一劳永逸解决方案:sudo cp /usr/local/cuda/lib64/* /usr/lib/
错误3:执行python onnx_to_tensorrt.py时报Segmentation fault (core dumped)
此错误原因是:因为onnx_to_tensorrt.py 中 引入 from yolov3_to_onnx import DarkNetParser 导致的报错,功能是onnx解析yolov3网络结构
解决方案:onnx版本从1.6.0降到1.3.0
错误4:This script is only compatible with python2, please re-run this script with python2.
此错误原因是:该版本原始是使用python2,我的环境是python3.5
解决方案:将该判断注释掉
错误5:TypeError: Unicode-objects must be encoded before hashing
此错误原因是:文件下载问题
解决方案:直接加载本地文件
错误6:TypeError: a bytes-like object is required, not 'str'
此错误原因是:编码问题
解决方案:with open(cfg_file_path, 'rb') as cfg_file: 改为 with open(cfg_file_path, 'r') as cfg_file:
改成只读