计算用于咖啡分类的HDF5数据集的平均值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算用于咖啡分类的HDF5数据集的平均值相关的知识,希望对你有一定的参考价值。

我使用classification.cpp根据caffe神经网络工具箱中训练有素的网络对我的图像进行分类。该文件有一些参数如下:

1-model_file
2-trained_file
3-mean_file
4-label_file
5-test_file

mean_filecaffe-master/build/tools/compute_image_mean计算。

现在我创建了一个HDF5数据集并训练了一个网络。所以我有1,2,4,5个参数,但我不知道如何计算mean_file。解决办法是什么?

答案

目前,mean_file是使用LEVELDB或LMDB数据库中的compute_image_mean计算的,不支持HDF5。您可以使用python脚本计算均值,因为hdf5对python非常友好,然后将其保存到.binaryproto文件。

更简单的方法是你可以修改classification.cpp并减去(104,117,124)mean_value,它应该与模型prototxt文件中的mean_value相同。例如,您可以添加如下函数:

void Classifier::SetMean(const vector<float> &mean_values) {
   cv::Scalar channel_mean(0);
   double *ptr = &channel_mean[0];
   for (int i = 0; i < num_channels_; ++i) {
       ptr[i] = mean_values[i];
   }
   mean_ = cv::Mat(input_geometry_, (num_channels_ == 3 ? CV_32FC3 : CV_32FC1),channel_mean);
}

然后你可以用向量mean_values(104,117,124)设置均值。

以上是关于计算用于咖啡分类的HDF5数据集的平均值的主要内容,如果未能解决你的问题,请参考以下文章

C++ HDF5 使用数据集的维度作为 const int

Python计算医疗数据训练集测试集的对应的临床特征:训练集(测试集)的阴性和阳性的样本个数连续变量的均值(标准差)以及训练测试集阳性阴性的p值离散变量的分类统计比率训练测试集阳性阴性的p值

在 Fortran 中读取 HDF5 数据集的子集时出现问题

获取 HDF5 数据集的维度

在 MATLAB 中读取 HDF5 数据集的一些特定元素

从时间戳图像对创建 HDF5 数据集的最佳方法是啥?