caffe的python接口下,数据层的定义,均值文件的转化
来源:互联网 发布:ocr识别软件 编辑:程序博客网 时间:2024/05/21 06:43
#一.caffe的python接口下,数据层的定义,均值文件的转化
- 数据格式的设置(以测试caffeNet为例)
import caffeimport syssys.path.append('.')sys.path.append('/home/***/caffe') #根据自己的caffe路径修改,下面两行也一样sys.path.append('/home/***/caffe/python')sys.path.append('/home/***/caffe/python/caffe')import numpy as npmodel_file = './models/caffenet_train_iter_40000.caffemodel' #权重文件mean_file = './models/caffeNet_mean.npy' #均值文件位.npy格式 deploy_file = './models/deploy.prototxt' #网络文件caffe.set_mode_gpu() #设置为gpu模式,如果需要cpu运行,改为caffe.set_mode_cpu()net = caffe.Net(deploy_file, model_file, caffe.TEST) #初始化网络# 对输入数据进行变换# caffe.io.transformer是一个类,实体化的时候构造函数__init__(self, inputs)给一个初值transformer = caffe.io.Transformer({'data': net.blobs['data'].data.shape})transformer.set_mean('data', np.load(mean_file).mean(1).mean(1)) #加载均值文件transformer.set_transpose('data', (2, 0, 1)) #由于python存储图片的格式位H*W*Channels,需要转化位 Channel*W,Htransformer.set_raw_scale('data', 255) #由于python保存图像数据是0-1,所以要转化位0-255transformer.set_channel_swap('data', (2, 1, 0)) #将BGR转化位RGBnet.blobs['data'].reshape(1, 3, 227, 227) #设置输入数据的格式img = caffe.io.load_image(imgPath) #读取图片,imgPath是图片路径net.blobs['data'].data[...] = transformer.preprocess('data', img) #加载数据net.forward() #前向传播predicts = net.blos['prob'][0] #读取caffeNet最后一层的数据
- 转化均值文件
- 由于C++模式下均值文件为binaryproto格式,Python要求npy格式,转化代码
import caffeimport syssys.path.append('.')sys.path.append('/home/***/caffe') #根据自己的caffe路径修改,下面两行也一样sys.path.append('/home/***/caffe/python')sys.path.append('/home/***/caffe/python/caffe')import numpy asMEAN_PROTO_PATH = './../mean.binaryproto' #已存在均值文件路径MEAN_NPY_PATH = './../caffeNet_mean.npy' #生成均值文件路径blob = caffe.proto.caffe_pb2.BlobProto() # 创建protobuf blobdata = open(MEAN_PROTO_PATH, 'rb' ).read() #读取均值文件blob.ParseFromString(data) #解析文件内容到blobarray = np.array(caffe.io.blobproto_to_array(blob)) #将blob中的均值转换成numpy格式,array的shape (mean_number,channel, hight, width)mean_npy = array[0] #一个array中可以有多组均值存在,需要通过下标选择其中一组均值np.save(MEAN_NPY_PATH ,mean_npy) #保存
阅读全文
0 0
- caffe的python接口下,数据层的定义,均值文件的转化
- caffe 定义自己的python层
- caffe计算图片数据的均值详解
- Caffe中均值文件的问题
- Mac下配置Caffe的Python接口
- Ubuntu下安装caffe的Python接口
- Caffe的Python接口
- Caffe的Python接口
- 【caffe】caffe的python接口学习:生成solver文件
- 【深度学习】笔记14 windows下caffe的python接口的配置(数据的可视化环境)
- caffe中将jpg数据转化为lmdb格式的文件
- Caffe的各种层定义方法
- Caffe:imagenet的均值图像
- Caffe 计算图像的均值
- caffe的matlab和python接口数据的处理
- caffe均值文件的生成以及npy格式的转换
- caffe的python接口示例
- caffe 的Python接口配置
- map的insert和[]重载下标
- Cleaning Shifts(POJ 2376, 贪心)
- OpenStack-M版(Mitaka)搭建基于(Centos7.2)+++九、Openstack配置仪表板(Dashboard)
- Ubuntu 14.04.1 for ROS(indigo) by ExBot iso 发行版
- 附加属性的使用-调用虚拟键盘
- caffe的python接口下,数据层的定义,均值文件的转化
- APP启动时白屏时间过长问题的优化
- asp.net用户注册的与密码强度相关的问题。
- HDOJ 2504 又见GCD
- AE 2015 轨道遮罩在哪?
- 主成分分析PCA之协方差矩阵的理解
- 思科认证入门级课程介绍(二)
- 最长公共子序列(dp动态规划)
- python与Mysql的交互