在C++或Python中与Caffe交互时遇到的问题

我从教程中了解到,你首先创建数据,然后使用protobuf编写模型,接着编写求解器文件。最后,你训练模型并得到生成的文件。所有这些操作都是通过命令行完成的。现在有两个问题需要解答

1) 假设我已经生成了模型,现在我想加载一个不在测试文件夹中的新图像并进行前向传递。这应该通过命令行还是通过某种编程语言(如C++、Python)来完成?

2) 上述方法可能是一种方式。训练分类器的最佳方法是什么(是通过命令行训练还是通过编程)?以及如何在代码中使用训练后的生成模型文件?

我想将Caffe与我的代码进行接口,但找不到一个简短的教程,可以逐步指导我使用任何数据库(比如mnist),并且模型不需要像LeNet那样复杂,一个简单的全连接层也可以。但有谁能告诉我如何仅使用C++或Python编写一个简单的代码,从头开始训练任何数据集呢?

提供一个使用Caffe训练分类器并使用它预测新数据的C++/Python样本代码也将非常受欢迎。


回答:

训练最好通过命令行完成。请参见此教程

一旦你训练了一个模型,并且你有了一个myModel.caffemodel文件(一个存储不同层权重的二进制文件)和一个deploy.prototxt文件(一个描述你的网络的文本文件),你就可以使用Python接口来对图像进行分类。

你可以运行Python脚本classify.py从命令行对图像进行分类。这个脚本包装了classifier.py – 一个Python对象,它保存了一个训练好的网络,并允许你在Python中进行前向传递。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注