- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我在使用 m_caffe_net->forwardPrefilled 时遇到问题,但仅限于 android 线程情况。
我的算法是一个基本的caffe过程,例如:
加载模型->处理->得到结果。 (CPU模式)
如果我将代码集成到 ui 线程中,一切正常。但是Android说这不是一个好提示,因为它卡住了 gui。
我测试了线程、AsyncTask 和可运行对象,并且总是得到相同的 SIGSEV 11 错误
所以我在 Android Studio 中测试了我的调用堆栈,我注意到最后一个调用是 omp_get_num_threads。
在多核模式下是否需要使用 openmp set_num_threads omp 函数来执行 forwardPrefilled()?
我的示例与此类似:
https://github.com/sh1r0/caffe-android-demo
Caffe lib编译是这样的:
https://github.com/sh1r0/caffe-android-lib
提前致谢。
最佳答案
最后我找到了解决办法:
我在 caffe 脚本/build_caffe.sh 文件中禁用了 openmp 选项。
cmake -DCMAKE_TOOLCHAIN_FILE="${WD}/android-cmake/android.toolchain.cmake" \
-DANDROID_NDK="${NDK_ROOT}" \
-DCMAKE_BUILD_TYPE=Release \
-DANDROID_ABI="${ANDROID_ABI}" \
-DANDROID_NATIVE_API_LEVEL=21 \
-DANDROID_USE_OPENMP=OFF \
-DADDITIONAL_FIND_PATH="${ANDROID_LIB_ROOT}" \
-DBUILD_python=OFF \
-DBUILD_docs=OFF \
-DCPU_ONLY=ON \
-DUSE_LMDB=ON \
-DUSE_LEVELDB=OFF \
-DUSE_HDF5=OFF \
-DBLAS=${BLAS} \
-DBOOST_ROOT="${BOOST_HOME}" \
-DGFLAGS_INCLUDE_DIR="${GFLAGS_HOME}/include" \
-DGFLAGS_LIBRARY="${GFLAGS_HOME}/lib/libgflags.a" \
-DGLOG_INCLUDE_DIR="${GLOG_ROOT}/include" \
-DGLOG_LIBRARY="${GLOG_ROOT}/lib/libglog.a" \
-DOpenCV_DIR="${OPENCV_ROOT}" \
-DPROTOBUF_PROTOC_EXECUTABLE="${ANDROID_LIB_ROOT}/protobuf_host/bin/protoc" \
-DPROTOBUF_INCLUDE_DIR="${PROTOBUF_ROOT}/include" \
-DPROTOBUF_LIBRARY="${PROTOBUF_ROOT}/lib/libprotobuf.a" \
-DCMAKE_INSTALL_PREFIX="${ANDROID_LIB_ROOT}/caffe" \
结果有点慢,但它有效:)。
关于Android caffe Forward Prefilled() 在多线程对象中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37995729/
我在使用 m_caffe_net->forwardPrefilled 时遇到问题,但仅限于 android 线程情况。 我的算法是一个基本的caffe过程,例如: 加载模型->处理->得到结果。 (C
我正在编辑 HTML 模板,需要联系表单部分的帮助。我想做到这一点,当用户点击发送消息按钮时,默认的电子邮件客户端(在我的例子中是 Outlook)打开,电子邮件的名称、主题和正文都预先填充了表单中的
有没有办法在 Stripe 结账表单中预先填写帐单地址表单? 我有一个表单,客户需要填写他们的地址,因此我想在 Stripe 表单中自动填写帐单地址。但是,我的客户要求我为他们的访问者提供更改帐单地址
我正在寻找一种使用 Google 电子表格中的特定数据“预填写”Google 表单的方法。该表格将为每个人提供相同的“标准”问题,但前两个问题中的数据将使用现有谷歌电子表格中的独特数据“预填充”。根据
我们使用 Parse 本地数据存储,因此我们可以从 Parse 获取更新。然而,我们希望在发送之前用 Parse 中的所有对象预填充本地数据存储。 这确保如果用户下载应用程序,然后在没有互联网连接的情
我有多个文本选项卡,它们在模板中都具有完全相同的标签。当我发送收件人选项卡数据来预填充这些时,只有第一个被预填充,其余的都是空的。 我找到了 this support ticket .但它包含矛盾的信
我有我这样的托管bean: @ManagedBean @SessionScoped public class utilisateur implements Serializable { pri
我有自己的 TYPO3 插件来显示记录。现在我想为每条记录添加一个指向第二页的链接。 第二页应该是 powermail 表单。现在我希望第二封邮件的链接包含一个参数,该参数应预填充 powermail
我有一个编辑表单,其中的值是从数据库中填充的。我有一个格式为 yyyy-mm-dd 的 date 字段。我已经设置了 jQuery Datepicker并且它在日期字段上工作,但是,当表单首次加载时,
如何在具有共享相同值和标签标签的标签的服务器模板中预加载标签值? 我无法将值发送到共享相同标签标签的模板。 在论坛上,我注意到在 JSON 中,您在 tablabel 之前添加了一个\\* 。 这还需
我正在集成 Docusign,以便收件人可以看到他们的信封嵌入在我的网站上。我首先使用 api 创建信封,并尝试使用动态数据预填充数据字段。 据我所知,我用来创建信封的 json 没有任何问题。 St
我目前在我的一项 SurveyGizmo 调查中执行了以下 Javascript 操作。 它的目的是计算某人指定出生日期时的确切年龄(按特定日期)。 但是,我们通常会在调查中预先填写信息。问题是当日期
在Django Admin中,当你修改一个对象的属性时,如果有一个ForeignKey,它会出现一个包含所有选择的下拉框,并加上一个“+”按钮来添加更多选择。当我点击它时,我想预填充一些数据。 我注意
我正在使用 Braintree 的托管字段和 Javascript。我成功地完成了注册并发送了付款随机数,但是我无法弄清楚如何让已在 Braintree 门户中订阅的用户显示其已预加载到 Braint
我是一名优秀的程序员,十分优秀!