问题标签 [matcaffe]
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.
caffe - 在 Caffe 中计算 ROC 和 AUC?
我在 Caffe 中训练了 imagenet。现在我正在尝试为我的模型和 caffe 提供的训练模型计算 ROC/AUC。我有两个问题:
1) ROC/AUC 主要用于二元类,但我也发现在某些情况下人们将它用于多类。1000个班可以吗?它的影响是什么?正如评论中的那样,人们在多类问题中没有对 ROC/AUC 给出好的答案。
2)如果可能的话,比较两个基于 ROC/AUC 的模型将是一个好主意,有人能告诉如何在 Caffe 中为这 1000 个类做这件事吗?我是否必须从头开始重新训练模型,还是只能使用最终训练的模型进行计算?
问候
matlab - Caffe:使用 Matlab 支持多 GPU (Matcaffe)
Caffe 是一个深度学习框架,还包括一个 Matlab 接口(Matcaffe)。虽然 Caffe 支持多个 GPU,但 Matcaffe 目前似乎不支持。有谁知道解决方法?
neural-network - 如何将图层中的某些权重设置为特定数字?
我想问一下是否可以将一层中的一些权重设置为特定数量或零预训练模型。
例如,我想下载 Lecun 模型并在最后一层设置一些权重为数字 ex4
并计算准确度。
我怎样才能做到这一点?
matlab - 在matlab中编写caffe架构
有谁知道如何使用 matlab 编写 caffe 架构?在 python 中有 caffe mods(例如ApolloCaffe),您可以在其中通过键入例如获取相应的 prototxt 字符串:
像这样可以轻松构建各种 caffe 架构,而无需对它们进行硬编码,这有产生复制粘贴错误的危险。
Matlab有类似的东西吗?
machine-learning - 如何从最后一层的输出生成caffe中的预测标签?
我已经使用 caffe 和 DIGITS 接口使用 LeNet 训练了我自己的图像数据集(交通灯图像 11x27)。我得到了 99% 的准确率,当我通过 DIGITS 提供新图像时,它会预测出好的标签,因此网络似乎工作得很好。
但是,我很难通过 Python/Matlab API for caffe 预测标签。最后一层输出 (ip2) 是一个包含 2 个元素的向量(我有 2 个类),例如,它看起来像 [4.8060, -5.2608] (第一个分量始终为正,第二个始终为负,绝对值范围为 4至 20)。我从 Python、Matlab 和 DIGITS 的许多测试中知道这一点。
我的问题是:
- Argmax 不能直接在这一层上工作(它总是给 0)
- 如果我使用 softmax 函数,它总是会给我 [1, 0] (这实际上是python 接口中的值,无论我的图像是什么类
net.blobs['prob']
)out['prob']
那么,我怎样才能得到预测的好标签呢?
谢谢!
regression - 自定义损失函数 Caffe(Spearman 系数)而 FNetuning(回归)
我正在为 caffe 中的回归问题微调 imagenet。目前我正在使用 Eucliden Loss,但我认为这对我来说没有任何好处。
我希望损失值是预测标签和实际标签之间的斯皮尔曼系数。我该怎么做?
请帮忙!
input - Caffe - 使用多个输入 blob 进行前向传递
以下是我的微调模型的输入层:
如您所见,它有一个 imagedata 输入层和 1 个 hdf5 输入层,如果只有一种类型的层,比如 imagedata,我可以这样做:
然后
scores = caffe('forward',input_data);
但是在这里我必须给出两种类型的输入数据,我该怎么做呢?请帮忙!
caffe - 如何将 .caffemodel 导出到其他应用程序?
是否可以翻译 .caffemodel 文件中的信息,以便(例如)Matlab 读取它。也就是说,有没有办法使用 prototxt 的其他东西编写模型并导入使用 Caffe 训练的权重?
如果答案是“不,它是一个二进制文件并且将始终保持这种状态”,是否有一些关于文件结构的文档,以便可以以某种方式提取重要信息?
matlab - 在 Matlab 中提取具有可变批量大小的 Caffe 特征
matcaffe_demo.m
我知道如何使用与 Caffe 一起提供的来提取 Caffe 的专长/分数。但是,当使用此文件时,必须提供一个 prototxt 文件,该文件不仅确定网络架构,还确定输入维度,包括batch_size
.
由于我正在处理可变序列长度的视频帧,因此我需要一种matcaffe_demo.m
与可变批量大小一起使用的方法。
有谁知道这是怎么做到的吗?
它可能涉及将这条线从matcaffe_demo.m
将动态传递给 caffe 所需的当前批量大小的东西
mex - Matcaffe 训练网产生“数据层预取队列为空”
我试图弄清楚为什么我的 MatCaffe 实现无法从我使用 convert_imageset.bin 创建的火车 lmdb 中弹出。
我所做的基本上就是这样:
在查看终端时,最后一条语句之后的输出是这样的:
即使我删除了 locks.mdb 以确保在我重新启动此过程时没有留下任何锁,我也可以重现此问题。在消息之后,我只能硬关闭 Matlab。我用 Matlab LMDB 检查了 lmdb 和两者的内容,我的训练和测试 lmdb 似乎没问题。我用来生成 lmdb 的参数:shuffle。
注意(可能是这里问题的根源):目前我正面临这个星座的 MEX 问题。在我的实施的第一次运行中,我收到错误消息
“来自 MEX 文件的意外未知异常.. ”
终端输出如下所示:
到目前为止我已经尝试过: 我实现了一个 try-catch 块,以便通过使用“caffe.reset_all();”释放指针、空格等(希望如此),以便在任何情况下都会调用此方法。在第二次运行时,我得到了上面提到的输出。似乎我的第一次运行阻止了 lmdb 访问,导致我在第一次和第二次运行之间手动删除 locks.mdb -> 不幸的是,效果相同。命令行的“手动”训练确实适用于相同的 lmdb。只有 matcaffe 运行似乎会引发这些问题和疑问。请注意,我想使用 Matcaffe 手动初始化我的层权重 - .prototxt 中的“weight_filler”不是一个选项。我的 MatCaffe 实现是从 2016 年 1 月开始的,我'我还使用正确的 gcc 版本重新编译了 caffe_ 的 mex 文件(在它给我警告我的 gcc 版本应该是“x”-> 更改为“x”并重新编译之前)。
请问您还有其他想法、建议或意见吗?
谢谢!