所以我没有使用.uff,但我使用了.onnx,但据我所知,过程相似。
根据documentation,使用 TensorFlow,您可以执行以下操作:
from tensorflow.python.compiler.tensorrt import trt_convert as trt
converter = trt.TrtGraphConverter(
input_graph_def=frozen_graph,
nodes_blacklist=['logits', 'classes'])
frozen_graph = converter.convert()
在 TensorFlow1.0 中,他们的操作非常简单,TrtGraphConverter 可以选择为 FP16 序列化,例如:
converter = trt.TrtGraphConverter(
input_saved_model_dir=input_saved_model_dir,
max_workspace_size_bytes=(11<32),
precision_mode=”FP16”,
maximum_cached_engines=100)
参见preciosion_mode 部分,序列化后,您可以在 TensorRT 上轻松加载网络,一些很好的示例using cpp are here。
很遗憾,您需要一个支持 FP16 的 nvidia gpu,请查看此支持矩阵。
如果我没记错的话,Google Colab 提供了不支持 FP16 的 Tesla K80 GPU。我不确定 AWS,但我确定免费套餐没有 gpus。
您最便宜的选择可能是购买大约 90 美元的Jetson Nano,这是一个非常强大的电路板,我相信您将来会使用它。或者你可以租一些 AWS gpu 服务器,但这有点贵,而且设置过程很痛苦。
祝你好运!