是否可以在没有任何训练的情况下使用 Caffe Only 进行分类?

Posted

技术标签:

【中文标题】是否可以在没有任何训练的情况下使用 Caffe Only 进行分类?【英文标题】:Is it possible to use Caffe Only for classification without any training? 【发布时间】:2016-07-26 12:57:45 【问题描述】:

有些用户可能会将此视为基于意见的问题,但如果您仔细观察,我正在尝试探索将 Caffe 用作纯粹的测试平台,而不是目前流行的用作训练平台。

背景:

    我已经在 Nvidia TK1 上使用 Jetpack 2.0 安装了所有依赖项。 我已成功安装 caffe 及其依赖项。 MNIST 示例运行良好。

任务:

    我得到了一个包含所有标准层的卷积网络。 (不是开源模型) 网络权重和偏差值等在训练后可用。培训不是通过 caffe 完成的。 (预训练网络) 权重和偏差均采用 MATLAB 矩阵的形式。 (实际上是在一个 .txt 文件中,但我可以轻松编写代码将它们变成矩阵) 我无法使用 caffe 对该网络进行训练,并且必须仅将给定的权重和偏差值用于分类。 我有自己的 32x32 像素图像形式的数据集。

问题: 在所有教程中,都详细介绍了如何部署和训练网络,然后使用生成的 .proto 和 .caffemodel 文件进行验证和分类。是否可以在 caffe 上实现这个网络并直接使用我的权重/偏差和训练集对图像进行分类?这里有哪些可用选项?我是一个咖啡处女,所以请善待。感谢您的帮助!

【问题讨论】:

【参考方案1】:

这里唯一的问题是:如何从文本文件权重初始化 caffe net

我假设您有一个 'deploy.prototxt' 描述网络的架构(层类型、连接性、过滤器大小等)。剩下的唯一问题是如何将caffe.Net 的内部权重设置为保存为文本文件的预定义值。

您可以访问caffe.Net 内部,请参阅net surgery 教程,了解如何在 python 中完成此操作。

一旦您能够根据您的文本文件设置权重,您就可以将新的权重net.save(...) 转换为二进制文件caffemodel,以便以后使用。如果您已经训练了权重,则不必训练网络,并且可以使用它来生成预测(“测试”)。

【讨论】:

以上是关于是否可以在没有任何训练的情况下使用 Caffe Only 进行分类?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 caffe 中训练/测试我自己的数据集?

是否可以在没有训练操作的情况下可视化张量流图?

使用caffe训练自己的CNN

是否可以在没有任何标志的情况下使用 argparse?

如何在不删除 .o 文件的情况下使用 makefile 进行编译?

是否有任何可以针对新符号进行训练的 OCR?