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

Is it possible to use Caffe Only for classification without any training?

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

背景:

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

任务:

  1. 我得到了一个包含所有标准层的卷积网络。 (不是开源模型)
  2. 网络权重和偏差值等可用训练后。培训尚未通过咖啡完成。 (预训练网络)
  3. 权重和偏差都是MATLAB矩阵的形式。 (实际上是在 .txt 文件中,但我可以轻松编写代码使它们成为矩阵)
  4. 我不能用 caffe 训练这个网络,必须使用给定的权重和偏置值仅用于分类。
  5. 我有自己的 32x32 像素图像数据集。

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

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

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

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

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