是否可以在没有任何训练的情况下使用 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 进行分类?的主要内容,如果未能解决你的问题,请参考以下文章