部署在张量流中训练的神经网络来火炬C++的最佳方法是什么?

What is the best way of deploying a neural network trained in tensorflow to torch C++?

本文关键字:C++ 最佳 方法 是什么 神经网络 张量流 部署      更新时间:2023-10-16

我正在做一个项目,我需要使用 PyTorch 转发传递网络C++。网络的权重需要从Tensorflow中训练的模型中导入。我将使用 Torch 编写C++版本的网络,但由于一些问题,我无法在 Torch 中训练网络。我可以使用哪些方法来执行此操作?

尝试的事情:

  1. 使用一些转换器将TensorFlow模型转换为ONNX/TensorRT/任何内容。然后可以将ONNX转换为PyTorch(不确定Torch(,但您可能会发现没有必要,因为ONNX和TensorRT都适合使用自己的运行时进行推理。但实际上,您可能会面临很多转换问题。
  2. 使用 Torch 重现模型代码,然后将 TensorFlow 张量复制到代码中的类似物。您可以在HuggingFace/Transformers代码1,2中看到此类TF->PyTorch转换的示例。如您所见,这非常棘手。