问题简述:
AttributeError: 'tensorrt.tensorrt.Builder' object has no attribute 'build_cuda_engine'
原因:
tensorrt版本大于等于7时,不再使用build_cuda_engine。
解决办法:
print('[info] Building an engine...')
if TRT_VERSION_MAJOR >= 7:
# Create an optimization profile (see Section 7.2 of https://docs.nvidia.com/deeplearning/sdk/pdf/TensorRT-Developer-Guide.pdf).
profile = builder.create_optimization_profile()
# FIXME: Hardcoded for ImageNet. The minimum/optimum/maximum dimensions of a dynamic input tensor are the same.
# profile.set_shape(input_tensor_name, (1, 3, 224, 224), (max_batch_size, 3, 224, 224), (max_batch_size, 3, 224, 224))
config = builder.create_builder_config()
config.add_optimization_profile(profile)
trt_model_engine = builder.build_engine(network, config)
trt_model_context = trt_model_engine.create_execution_context()
else:
# if trt version is below 7 then use the build_cuda_engine
trt_model_engine = builder.build_cuda_engine(network)
trt_model_context = trt_model_engine.create_execution_context()
# 来源:
# https://www.codegrepper.com/code-examples/python/AttributeError%3A+%27tensorrt.tensorrt.Builder%27+object+has+no+attribute+%27build_cuda_engine%27