我正在尝试使用libtorch从Android上的原生代码加载PyTorch模型文件。当我加载文件时,我得到以下异常:
terminating with uncaught exception of type c10::Error: Could not find schema for aten::empty.memory_format ()
Exception raised from findSchemaOrThrow at /Users/steve/work/torch/pytorch/aten/src/ATen/core/dispatch/Dispatcher.cpp:131 (most recent call first):
字符串
我以前在iOS上遇到过同样的问题,并通过向链接器指定“-all_load”标志来修复它。
根据我在iOS上看到的,我的猜测是,Tensor代码有一些静态初始化器,这些初始化器被剥离出来,没有被调用。然而,我认为在Android上相当于clang的东西(“-force_load”)导致了一些额外的链接错误,我正在努力修复。
有没有其他方法来强制初始化?在libtorch代码中,这个模式通常是在哪里注册的?
1条答案
按热度按时间9w11ddsr1#
请确保您使用NDK的版本21构建库,然后在CMakeLists.txt文件的target_link_libraries部分使用以下内容:
字符串