python格式的Caffe图片数据均值计算学习

 更新时间:2022年06月29日 10:20:16   作者:denny402  
这篇文章主要为大家介绍了python格式的Caffe图片数据均值计算学习示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

引言

图片减去均值后,再进行训练和测试,会提高速度和精度。因此,一般在各种模型中都会有这个操作。

那么这个均值怎么来的呢,实际上就是计算所有训练样本的平均值,计算出来后,保存为一个均值文件,在以后的测试中,就可以直接使用这个均值来相减,而不需要对测试图片重新计算。

一、二进制格式的均值计算

caffe中使用的均值数据格式是binaryproto, 作者为我们提供了一个计算均值的文件compute_image_mean.cpp,放在caffe根目录下的tools文件夹里面。

编译后的可执行体放在 build/tools/ 下面,我们直接调用就可以了

# sudo build/tools/compute_image_mean examples/mnist/mnist_train_lmdb examples/mnist/mean.binaryproto

带两个参数:

第一个参数:examples/mnist/mnist_train_lmdb, 表示需要计算均值的数据,格式为lmdb的训练数据。

第二个参数:examples/mnist/mean.binaryproto, 计算出来的结果保存文件。

二、python格式的均值计算

如果我们要使用python接口,或者我们要进行特征可视化,可能就要用到python格式的均值文件了。首先,我们用lmdb格式的数据,计算出二进制格式的均值,然后,再转换成python格式的均值。

我们可以编写一个python脚本来实现:

#!/usr/bin/env python
import numpy as np
import sys,caffe
if len(sys.argv)!=3:
    print "Usage: python convert_mean.py mean.binaryproto mean.npy"
    sys.exit()
blob = caffe.proto.caffe_pb2.BlobProto()
bin_mean = open( sys.argv[1] , 'rb' ).read()
blob.ParseFromString(bin_mean)
arr = np.array( caffe.io.blobproto_to_array(blob) )
npy_mean = arr[0]
np.save( sys.argv[2] , npy_mean )

 将这个脚本保存为convert_mean.py

调用格式为:

# sudo python convert_mean.py mean.binaryproto mean.npy

其中的 mean.binaryproto 就是经过前面步骤计算出来的二进制均值。

mean.npy就是我们需要的python格式的均值。

以上就是python格式的Caffe图片数据均值计算学习的详细内容,更多关于python格式Caffe均值计算的资料请关注脚本之家其它相关文章!

相关文章

  • python邮件发送smtplib使用详解

    python邮件发送smtplib使用详解

    这篇文章主要为大家详细介绍了python邮件发送smtplib的使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • 搭建 Selenium+Python开发环境详细步骤

    搭建 Selenium+Python开发环境详细步骤

    这篇文章主要介绍了搭建 Selenium+Python开发环境详细步骤的相关资料,需要的朋友可以参考下
    2022-10-10
  • Python3.5常见内置方法参数用法实例详解

    Python3.5常见内置方法参数用法实例详解

    这篇文章主要介绍了Python3.5常见内置方法参数用法,结合实例形式详细分析了Python常见的内置方法及参数使用技巧,需要的朋友可以参考下
    2019-04-04
  • matplotlib对象拾取事件处理的实现

    matplotlib对象拾取事件处理的实现

    这篇文章主要介绍了matplotlib对象拾取事件处理的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 分享15 超级好用得 Python 实用技巧

    分享15 超级好用得 Python 实用技巧

    这篇文章主要分享了15 超级好用得 Python 实用技巧,如果你对其中一个或多个感兴趣,可以参考一下,希望对你能有所帮助
    2021-12-12
  • Python实现的中国剩余定理算法示例

    Python实现的中国剩余定理算法示例

    这篇文章主要介绍了Python实现的中国剩余定理算法,结合实例形式分析了中国剩余定理的概念、原理及具体算法实现技巧,需要的朋友可以参考下
    2017-08-08
  • 分享7个 Python 实战项目练习

    分享7个 Python 实战项目练习

    这篇文章主要介绍了分享7个 Python 实战项目代码,经过Python3.6.4调试通过的代码,就具一点的参考价值,需要的小伙伴可以参考一下
    2022-03-03
  • Python NaN空值的处理示例详解

    Python NaN空值的处理示例详解

    这篇文章主要介绍了Python NaN空值的处理,通过本文的介绍,对Python去掉数组中的空值NaN有了更加深入的了解,在实际的数据分析工作中,我们可以根据具体的情况选择合,需要的朋友可以参考下
    2023-11-11
  • Python 元组(Tuple)操作详解

    Python 元组(Tuple)操作详解

    Python的元组与列表类似,不同之处在于元组的元素不能修改,元组使用小括号,列表使用方括号,元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可
    2014-03-03
  • 教你编译pjsip源码的方法

    教你编译pjsip源码的方法

    通过本文教大家如何编译pjsip源码,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-10-10

最新评论