雷顿君 2021-10-27 20:09 采纳率: 50%
浏览 42
已结题

在VS平台调用pytorch模型(libtorch)遇到的问题

第一次用libtorch,本人用网上的libtorch测试代码(如下)

#include <torch/script.h> // One-stop header.
#include <iostream>
#include <memory>
 
int main(int argc, const char* argv[]) {
  if (argc != 2) {
    std::cerr << "usage: example-app <path-to-exported-script-module>\n";
    return -1;
  }
 
  // Deserialize the ScriptModule from a file using torch::jit::load().
  torch::jit::script::Module module = torch::jit::load(argv[1]);
 
  assert(module != nullptr);
  std::cout << "ok\n";
}

<torch / script.h>头文件包含运行该示例所需的LibTorch库中的所有相关包含。我们的应用程序接受序列化PyTorch ScriptModule的文件路径作为其唯一的命令行参数,然后使用torch :: jit :: load()函数继续反序列化模块,该函数将此文件路径作为输入。作为回报,我们收到一个指向torch :: jit :: script :: Module的共享指针,相当于C ++中的torch.jit.ScriptModule。目前,我们只验证此指针不为null。我们将研究如何在接下来执行它。

以上是上述代码的描述。

运行的时候发现“assert(module != nullptr);”语句发生错误:

img

img

img

请问有人知道这是为什么吗?

  • 写回答

2条回答 默认 最新

  • 爱晚乏客游 2021-10-28 09:36
    关注

    module并不是一个指针啊。
    如果你要保证module读取正确,建议使用try catch模块来完成,如果模型读取失败,就说明要么路径有问题,要么模型文件有问题,而不是像你判断module是不是非空。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月7日
  • 已采纳回答 10月30日
  • 创建了问题 10月27日

悬赏问题

  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?
  • ¥15 matlab(相关搜索:紧聚焦)
  • ¥15 基于51单片机的厨房煤气泄露检测报警系统设计