在我们实例化Caffe2预测器时应用程序卡住了

问题描述 投票:2回答:1

在我们实例化Caffe2预测器时应用程序卡住了!

Tools

我使用:Android Studio 3.0.1

Build#AI-171.4443003,建于2017年11月9日

JRE:1.8.0_152-release-915-b01 amd64

JVM:JetBrains s.r.o的OpenJDK 64位服务器VM

Linux 4.15.0-29-通用

Android的NDK-R13B

Code in C++

#define alog(...) __android_log_print(ANDROID_LOG_ERROR, "F8DEMO", __VA_ARGS__);
void loadToNetDef(AAssetManager* mgr, caffe2::NetDef* net, const char *filename) {
    AAsset* asset = AAssetManager_open(mgr, filename, AASSET_MODE_BUFFER);
    assert(asset != nullptr);
    const void *data = AAsset_getBuffer(asset);
    assert(data != nullptr);
    off_t len = AAsset_getLength(asset);
    assert(len != 0);
    if (!net->ParseFromArray(data, len)) {
        alog("Couldn't parse net from data.\n");
    }
    AAsset_close(asset);
}
void Java_initCaffe2(JNIEnv* env, jobject /* this */, jobject assetManager){
    AAssetManager *mgr = AAssetManager_fromJava(env, assetManager);
    alog("Attempting to load protobuf netdefs...");
    loadToNetDef(mgr, &_initNet,   "init_net.pb");
    loadToNetDef(mgr, &_predictNet,"predict_net.pb");
    alog("done.");
    alog("Instantiating predictor...");
    _predictor = new caffe2::Predictor(_initNet, _predictNet);
    alog("done.")
}

Traceback

08-07 17:10:00.308 897-897/com.example.augustinas.nc2 E/Gideon: Loaded module
08-07 17:10:00.315 897-1110/com.example.augustinas.nc2 E/F8DEMO: Attempting to load protobuf netdefs...
08-07 17:10:07.198 897-1110/com.example.augustinas.nc2 E/F8DEMO: Couldn't parse net from data.
08-07 17:10:07.287 897-1110/com.example.augustinas.nc2 E/F8DEMO: done.
08-07 17:10:07.287 897-1110/com.example.augustinas.nc2 E/F8DEMO: Instantiating predictor...
08-07 17:10:09.251 897-1110/com.example.augustinas.nc2 A/native: [F given_tensor_fill_op.h:27] Check failed: output->size() == values_.size() output size: 22937600 given size: 5348403
08-07 17:10:09.251 897-1110/com.example.augustinas.nc2 A/native: terminating.
08-07 17:10:09.251 897-1110/com.example.augustinas.nc2 A/libc: Fatal signal 6 
(SIGABRT), code -6 in tid 1110 (AsyncTask #1)

Original source:

我们使用这里显示的库和代码:https://github.com/caffe2/AICamera

Model Used

我们使用自定义的InceptionResNet模型。 init_net.pb和predict_net.pb的大小分别为155,1 MB和6,1 kB。

android c++ neural-network caffe2
1个回答
-1
投票

尝试在您的机器中构建Caffe2。 AICamera Project的Caffe2二进制文件对于新训练的模型来说有点旧。我也面临类似的问题,但现在我有我的自定义模型的工作代码。

快乐编码:)

© www.soinside.com 2019 - 2024. All rights reserved.