【发布时间】:2020-10-26 13:24:37
【问题描述】:
我正在尝试在 Raspberry PI 上使用 libtorch 构建 C++ 程序。该程序在 Ubuntu 上运行,但在 Raspberry 上构建时出现以下错误:
error: use of deleted function ‘void torch::jit::script::Module::operator=(const torch::jit::script::Module&)’
In file included from /usr/include/torch/csrc/jit/ir.h:18,
from /usr/include/torch/csrc/jit/tracer.h:9,
from /usr/include/torch/csrc/autograd/generated/variable_factories.h:8,
from /usr/include/torch/csrc/api/include/torch/types.h:7,
from /usr/include/torch/script.h:3,
from /tmp/tmp.k6618dczxt/src/../include/suvoNet.h:26,
from /tmp/tmp.k6618dczxt/src/../include/classifier.h:17,
from /tmp/tmp.k6618dczxt/src/classifier.cpp:11:
/usr/include/torch/csrc/jit/script/module.h:319:3: note: declared here
TH_DISALLOW_COPY_AND_ASSIGN(Module);
这是崩溃的代码:
MyClass::MyClass() {
try {
// Deserialize the ScriptModule from a file using torch::jit::load().
network = torch::jit::load(MODEL_FILE);
}
catch (const c10::Error& e) {
std::cerr << "Error loading the model\n";
exit(-1);
}
}
network 声明为私有 torch::jit::script::Module network
我在 '1.0.0a0+8322165' 版本中使用来自 github 的 pyTorch 为 Raspberry (ARM) 构建 libtorch
【问题讨论】:
-
你为什么用pytorch 1.0.0版本?当前是 1.5 和 C++ API 稳定的第一个版本。也许试试最新的头(
1.7IIRC,但应该是稳定的,或者结帐到1.5.0)。 -
你好,我20h前开始编译1.6.0版本,编译需要24多小时,明天给你反馈。如果这不起作用,我会尝试 1.5
-
谢谢@SzymonMaszke,该构建在我的 Raspberry PI 4 上运行(并且 PI 3 仍在构建中)。我用我的所有程序发布了一个答案,并把它变成了一个社区维基。您可以更新它以改进它。我还是 CMake / libtorch / C++ 的初学者,所以可能会有一些不好的做法
标签: c++ build raspberry-pi torch libtorch