c++调用pytorch训练出来的模型

方法一:利用pytorch的c++版本的API:libtorch

方法二:利用opencv的readNetFromTorch(),导入的模型必须是 torch.save() 方法保存的文件。且opencv此函数只能读取序列化 nn.Module 对象,例如:
nn.Sequential
nn.Parallel
nn.Concat
nn.Linear
nn.SpatialConvolution
nn.spatialMaxPooling, nn.SpatialAveragePooling
nn.ReLU, nn.TanH, nn.Sigmoid
nn.Reshape
nn.SoftMax, nn.LogSoftMax
如果pytorch网络有基于nn.Module的自定义对象,则无法使用,opencv不能读取

除此之外,opencv还有readNetFromTensorflow(),readNetFromCaffe(),readNetFromONNX()等

ONNX是一个各种框架的的一个转换格式,相当于一个桥梁,使得模型可以在tensorflow、pytorch、caffe、MXNet之间互相转换。

你可能感兴趣的:(c++调用pytorch训练出来的模型)