【问题标题】:Use pretrained pytorch model in C?在 C 中使用预训练的 pytorch 模型?
【发布时间】:2019-08-15 22:13:34
【问题描述】:

所以我有一个预训练的 pytorch 模型,我保存了模型和参数以防万一,但是我需要在 C 或 C++ 代码中使用这个模型,有人知道我该怎么做吗?

非常感谢。

【问题讨论】:

  • 查看 torch.onnx 将其转换为具有 C++ API 的 Caffe2。
  • @Rael 请告诉我在我想做和你一样的事情之后你做了什么。

标签: c pytorch pre-trained-model


【解决方案1】:

尝试 pytorch 1.0,它包含一个 c++ 库。该模型可以导出为torch脚本格式并以C++加载,请查看https://pytorch.org/tutorials/advanced/cpp_export.html

【讨论】:

  • 但是根据我所看到的,这个选项并没有被真正涵盖,我的意思是他们没有展示如何为许多模型执行此操作的教程,除了你在这里分享的这个:!。
【解决方案2】:

如果您使用的是 Ubuntu,请尝试使用 ppa:nnstreamer/ppa 的 PPA 中的 pytorch 包。 在这个 Ubuntu pytorch 包中,有头文件和 pkgconfig (.pc) 文件,可帮助使用 pytorch 构建 C/C++ 程序。 如果您想要更简单的方法从 C/C++ 程序调用 pytorch/caffe2 模型,您可以使用 nnstreamer 的 C/API 或使用带有 GStreamer API 的 nnstreamer。

要安装 nnstreamer 或 C 友好的 pytorch(或 tensorflow),请通过以下方式使用 PPA:

$ sudo add-apt-repository ppa:nnstreamer/ppa
$ sudo apt-get update
$ suto apt-get install ${whateveryouwant}

${whateveryouwant} 的候选人:nnstreamer、nnstreamer-dev、nnstreamer-pytorch

如果你想直接从你的 C 代码中访问 pytorch,而不使用 nnstreamer,你可以参考 nnstreamer 的 pytorch-wrapper:https://github.com/nnsuite/nnstreamer/blob/master/ext/nnstreamer/tensor_filter/tensor_filter_pytorch_core.cc

【讨论】:

    猜你喜欢
    • 2019-09-11
    • 2018-02-20
    • 1970-01-01
    • 2020-02-07
    • 2019-07-17
    • 2021-10-29
    • 2021-04-05
    • 2019-12-08
    • 2021-11-18
    相关资源
    最近更新 更多