import sys
sys.path.append('/projects/caffe-ssd/python')
import caffe
4 net = caffe.NetSpec()

一、ImageData Layer

net.data ,net.label = caffe.layers.ImageData(
name="InputData"
source="train.txt",
batch_size=32,
new_width=48,
new_height=48,
ntop=2,
is_color=True,
shuffle=True,
root_folder='/',
transform_param=dict(crop_size=40,mirror=True))
print str(net.to_proto()) 输出:
layer {
name: "InputData"
type: "ImageData"
top: "data"
top: "label"
transform_param {
mirror: true
crop_size: 40
}
image_data_param {
source: "train.txt"
batch_size: 32
shuffle: true
new_height: 48
new_width: 48
is_color: true
root_folder: "/"
}
}

二、Data Layer (lmdb/leveldb)

net.data, net.label = caffe.layers.Data(
name="InputData",
source="train_lmdb",
backend = caffe.params.Data.LMDB,
batch_size=32,
ntop=2,
include=dict(phase=caffe.TRAIN)
transform_param=dict(
crop_size=227,
mean_value=[104, 117, 123],
mirror=True
)
) 输出:
layer {
name: "InputData"
type: "Data"
top: "data"
top: "label"
transform_param {
mirror: true
crop_size: 227
mean_value: 104
mean_value: 117
mean_value: 123
}
data_param {
source: "train_lmdb"
batch_size: 32
backend: LMDB
}
}

三、HDF5Data Layer

net.data, net.label = caffe.layers.HDF5Data(
name="InputData",
source='./training_data_paths.txt',
batch_size=64,
include=dict(phase=caffe.TRAIN),
ntop=2
) 输出:
layer {
name: "InputData"
type: "HDF5Data"
top: "data"
top: "label"
include {
phase: TRAIN
}
hdf5_data_param {
source: "./training_data_paths.txt"
batch_size: 64
}
} 另有:
image = L.HDF5Data(
hdf5_data_param={ 'source': './training_data_paths.txt', 'batch_size': 64 },
include={'phase': caffe.TRAIN }
)

caffe Python API 之 数据输入层(Data,ImageData,HDF5Data)的更多相关文章

  1. caffe添加自己的数据输入层

    整体思路: 阅读caffe数据输入层各个类之间的继承关系,确定当前类需要继承的父类以及所需参数的设置. 编写zzq_data.cpp 在layer_factory.cpp中完成注册: 在caffe.p ...

  2. 【caffe I/O】数据读取层 代码中文注释

    caffe.proto中DataParameter部分 message DataParameter { //输入数据使用的DB类型 enum DB { LEVELDB = ;//使用LEVELDB L ...

  3. caffe Python API 之卷积层(Convolution)

    1.Convolution层: 就是卷积层,是卷积神经网络(CNN)的核心层. 层类型:Convolution lr_mult: 学习率的系数,最终的学习率是这个数乘以solver.prototxt配 ...

  4. caffe Python API 之上卷积层(Deconvolution)

    对于convolution: output = (input + 2 * p  - k)  / s + 1; 对于deconvolution: output = (input - 1) * s + k ...

  5. caffe Python API 之可视化

    一.显示各层 # params显示:layer名,w,b for layer_name, param in net.params.items(): print layer_name + '\t' + ...

  6. caffe Python API 之图片预处理

    # 设定图片的shape格式为网络data层格式 transformer = caffe.io.Transformer({'data': net.blobs['data'].data.shape}) ...

  7. caffe Python API 之激活函数ReLU

    import sys import os sys.path.append("/projects/caffe-ssd/python") import caffe net = caff ...

  8. caffe Python API 之Inference

    #以SSD的检测测试为例 def detetion(image_dir,weight,deploy,resolution=300): caffe.set_mode_gpu() net = caffe. ...

  9. caffe Python API 之中值转换

    # 编写一个函数,将二进制的均值转换为python的均值 def convert_mean(binMean,npyMean): blob = caffe.proto.caffe_pb2.BlobPro ...

随机推荐

  1. BZOJ1823:[JSOI2010]满汉全席——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=1823 https://www.luogu.org/problemnew/show/P4171 题面 ...

  2. linux下,手动切换jdk

    1.首先将自定义的jdk目录安装到alternatives中 seven@ThinkPad:~/srcAndroid/src4..4_r1$ sudo update-alternatives --in ...

  3. Ubuntu16.04 U盘安装Ubuntu16.04制作 光盘刻录 安装与简介

    从今天开始,我会把我遇到过的技术问题一一记录下来,从而分享给有需要的朋友,尽量希望你们少走弯路! 一.首先从官网上下载Ubuntu16.04镜像,下载最好从官网上下载(http://www.ubunt ...

  4. bzoj 4414 数量积 结论题

    数量积 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 389  Solved: 147[Submit][Status][Discuss] Descri ...

  5. log4j输出到数据库(输出自定义参数、分级保存)

    转载自:http://wallimn.iteye.com/blog/1525819 Log4J日志输出到数据库中,且保存些用户自定义的参数,如用户ID,且配置仅输出指定级别的日志.  配置文件如下:  ...

  6. Axis2 WebService(配置、发布、调用)

    准备工作 1.下载:axis2-1.5.4-bin.zip,axis2-1.5.4-war.zip 下载地址:http://axis.apache.org/axis2/java/core/ 2.环境变 ...

  7. 【C++ STL】容器的选择

    c++提供了各具特长的容器,那么我们该如何选择最佳的容器? 缺省状态下应该选择vector,因为vector内部结构最简单,并允许随机存取,所以数据的存取十分方便,数据的处理也快. 如果经常要在头部和 ...

  8. Codeforces Round #483 (Div. 2) [Thanks, Botan Investments and Victor Shaburov!]

    题目链接:http://codeforces.com/contest/984 A. Game time limit per test:2 seconds memory limit per test:5 ...

  9. patch需要数据格式前端算法,patch算法基础,两个对象对比取差异属性

    在我们的前端开发过程中,表单是最常见不过的了,一般我们创建表单的时候习惯使用post方法来提交数据,编辑表单时候喜欢put,但是当表单的数据非常多的时候,编辑起来很麻烦,首先需要获取初始化数据,然后把 ...

  10. canvas利用formdata上传到服务器

    1.首先绘制canvas图片 <canvas id="myCanvas" width="100" height="100" style ...