问题标签 [caffe2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
405 浏览

caffe - 在 caffe2 中添加自定义 python 层

在 caffe 中添加一个 python 层非常简单(创建一个继承自 caffe.layer 的子类并添加四个基本方法,如此处和此处所述。但是,caffe2 中添加一个自定义 python 层对我来说并不那么简单。有人可以请解释在caffe2中添加python层的过程?

0 投票
1 回答
1838 浏览

caffe2 - Caffe2:如何在 C++ 中加载和使用 MNIST 教程模型

我正在努力复制训练有素的 MNIST caffe2 教程模型的 C++ 结果。我所做的是我稍微修改了 MNIST python 教程(代码可在此处获得)并且在 python 端一切正常。

如果我运行 mnist.py,我会得到两个带有网络定义和初始化的“.pb”文件。如果我在 python 端加载这个网络并用数据库中的一些图像提供它,那么我将得到正确的预测:

所以很确定测试图像是“7”(而且它是正确的)。

但我无法从 C++ 获得相同的结果。我已经查看了它在其他项目中是如何完成的(这里这里)并提出了以下内容:

C++网络初始化

此初始化运行没有问题。由于部署网络没有缩放和转换为浮动,我必须这样做(与上面的 python 片段相同),我这样做如下:

最后我提供了预测器:

我在同一个文件上得到的结果是“7”为 17%(不是 99.9%),其余类别约为 5-10%。

现在我被卡住了,我不知道问题出在哪里,所以我很感激任何提示/提示/指针。

0 投票
1 回答
124 浏览

c++ - 使用 Xcode 和 CMake 构建 CUDA 库失败

我正在尝试使用 CMake 生成一个 Xcode 项目并用它构建一个 CUDA 库。我用于收集和构建CUDA库“caffe2_cpp_gpu”的代码如下:

请注意,如果使用 Unix Makefile,则可以运行此代码。但如果使用 Xcode 则无法运行。
在项目中它显示一个文件丢失: 缺少文件
并且无法创建 CUDA 库“caffe2_cpp_gpu”。

有谁知道如何解决它?

0 投票
1 回答
321 浏览

c++ - 如何在使用 GPU (C++) 时更改 Caffe2 中的 blob 值

我正在尝试手动访问 blob 值并对其进行更改。
我有一个名为“1conv1_w”的 blob,我通过以下方式访问它:

这将返回一个指向float* 1conv1_w 的指针。在 CPU 模式下,我可以使用

访问 Blob "1conv1_w" 中的第一个值以及修改该值。但是,当进入 GPU 模式时,这将返回错误,因为指针中没有值。如果我使用

然后我可以访问第一个值,但仍然无法访问 blob 中的其他值。
我猜这个问题是因为在使用 GPU 时,内存实际上是一个临时内存。该值在 CPU 和 GPU 之间复制(可能是 memcpy)。当我使用Get<caffe2::TensorCUDA>()它时,只需将我想要的地址或值复制给我。因此,即使我更改了此地址中的值,它也不会影响保存在某处的实际值。

有没有人面临同样的问题并且知道如何更改 blob 的实际值?

0 投票
1 回答
2771 浏览

java - 在 Java 中加载 ONNX 模型

我有一个训练有素的 PyTorch 模型,现在我想使用 ONNX 将其导出到 Caffe2。这部分看起来相当简单且有据可查。但是,我现在想将该模型“加载”到 Java 程序中,以便在我的程序(Flink 流应用程序)中执行预测。做这个的最好方式是什么?我无法在网站上找到任何描述如何执行此操作的文档。

0 投票
1 回答
42 浏览

machine-learning - 使用 brew 添加新的辅助方法会引发错误

我尝试使用 brew 添加一个新的辅助函数,如下所示。

当我尝试运行上述代码时,出现以下错误:

AttributeError: Helper testOp 已经存在。请更改您的助手名称。

请帮我解决这个错误。

注意: testOp在同一个文件中定义。

0 投票
0 回答
438 浏览

android - caffe2 build android 配置测试项目构建系统失败

我想在 macOS 上构建 caffe2。

build caffe2 一切正常,但是当我 build android 时,使用caffe2/scripts/build_android.sh处理是到 100% 然后发生:

我的 cmake 版本是:

所有日志是:

我找到了第一个错误,但在我的 mac 中file STRINGS file "/Users/zhouhuacong/Library/Android/sdk/ndk-bundle/platforms/android-21/arch-arm/usr/include/android/api-level.h" cannot be read. 找不到该文件夹​​。include只有/Users/zhouhuacong/Library/Android/sdk/ndk-bundle/platforms/android-21/arch-arm/usr/lib文件夹。

这是我的 NDK 环境问题吗?我用的Android Studio 3.0,然后下载NDK 16

我哪里错了?

0 投票
2 回答
2017 浏览

python - 为 Caffe2 创建镜像 LMDB

0 投票
0 回答
638 浏览

python - 在 Anaconda 虚拟环境中,“conda install package_name”、“pip install package_name”有什么区别?

我的linux中默认的PyThon环境是:Python 3.6.2 :: Anaconda custom (64-bit),我创建了虚拟环境:Python 2.7.14 :: Anaconda custom (64-bit)

首先,我进入 Aanconda 虚拟环境:source activate python27

然后,我安装了caffe2,出现错误:ImportError:No module named google.protobuf.internal

所以,我用conda安装protobuf:,conda install protobuf但是错误依旧存在。我用pip install protobuf的时候,错误消失了。

有什么不同:

pip install package_name一样的/opt/anaconda3/envs/python27/bin/pip install package_name吗?当 I 时which pip,它显示:/opt/anaconda3/envs/python27/bin/pip

谢谢!

0 投票
1 回答
6803 浏览

deep-learning - mask r-cnn的AP、AP50、AP70是什么意思?

我是 r-cnn 的新手。

mask r-cnn paper上有术语AP、AP50、AP75。50, 75 是小后缀,但我不能让它变小,对不起。无论如何,论文说它是 IOU 阈值的平均值。对于 AP50,仅计算超过 50% 区域比较地面实况的候选者,而对于 AP75,仅计算超过 75% 的候选者。那么什么是空AP呢?我知道 AP 使用 70% IoU 阈值,但它不会。因为只是AP低于AP75。

此外,还有一些我不太理解的术语。他们是 AP,m,L。我知道他们的意思是小,中,大。那么有什么标准它们有多大。只是说小,中,大让我有点困惑。

提前致谢!