【问题标题】:caffe net get next batch from hdf5 layercaffe net 从 hdf5 层获取下一批
【发布时间】:2019-11-07 12:35:42
【问题描述】:

我正在使用 Caffe 的 Python 接口来测试我训练有素的网络:

model_def = "./test.prototxt"
model_weights = "./seg_10000.caffemodel" # contains trained weights

net = caffe.Net(model_def, model_weights, caffe.TEST)    
output = net.forward()

这仅适用于第一张图片。我的“test.prototxt”文件从 hdf5 格式加载数据并包含 20 张图片:

layer { top: "data" top: "label" name: "loaddata" type: "HDF5Data" hdf5_data_param { source: "/home/mmc/data.txt" batch_size: 1 } include { phase: TEST } }

data.txt 文件指向一个包含 20 个图像的 .h5 文件,即20x3x100x100

但是,当我打印“数据”blob 的形状时,我只看到一张图像。

net.blobs["data"].data.shape 变成1x3x100x100

batch_size 参数会不会弄乱它?还是有其他方法来初始化网络?

谢谢

【问题讨论】:

    标签: machine-learning computer-vision caffe hdf5 pycaffe


    【解决方案1】:

    您定义的数据层使用batch_size: 1,这意味着您的网络一次处理一张图像无论测试集中有多少图像。如果你想让它一次读取所有20张图片,你需要将数据层的batch_size定义为20。

    【讨论】:

    • 我的train.prototxt 也有batch_size: 1。这是否意味着它只训练一张图像?那么batch_size 参数有什么意义呢?我认为这只是出于性能原因。
    猜你喜欢
    • 2016-04-21
    • 2018-08-18
    • 2018-04-08
    • 2016-12-09
    • 2016-02-19
    • 2016-02-14
    • 1970-01-01
    • 2016-04-05
    • 2015-03-26
    相关资源
    最近更新 更多