在 caffe prototxt 中没有从 hdf5 读取数据
No data read from hdf5 in caffe prototxt
我正在尝试通过喂入一个 blob 来测试我的 caffe 模型。所以我通过以下方式形成了一个 hdf5 文件:
import h5py, os
import numpy as np
SIZE = 227 # fixed size to all images
X = np.ones((1, 3, SIZE, SIZE), dtype='f8')
with h5py.File('test_idty.h5','w') as H:
H.create_dataset('img', data=X )
with open('test_h5_idty_list.txt','w') as L:
L.write( '/home/wei/deep_metric/test_idty.h5' )
然后,我将我的 caffe prototxt 更改为:
layer{
name:"data"
type:"HDF5Data"
top:"img"
include:{
phase:TEST
}
hdf5_data_param{
source:"/home/wei/deep_metric/test_h5_idty_list.txt"
batch_size:1
}
}
然后,我尝试通过以下方式确保我的数据正确输入:
net = caffe.Net(Model,Pretrained,caffe.TEST)
data = net.blobs['img'].data.copy()
但是,这让我在矩阵中全为零。
知道如何解决吗?
赞赏!
为了让 "HDF5Data"
层读取它的第一批,您需要先调用 net.forward()
。前向传递完成后,层的 top
s 会从文件中读取数据。
我正在尝试通过喂入一个 blob 来测试我的 caffe 模型。所以我通过以下方式形成了一个 hdf5 文件:
import h5py, os
import numpy as np
SIZE = 227 # fixed size to all images
X = np.ones((1, 3, SIZE, SIZE), dtype='f8')
with h5py.File('test_idty.h5','w') as H:
H.create_dataset('img', data=X )
with open('test_h5_idty_list.txt','w') as L:
L.write( '/home/wei/deep_metric/test_idty.h5' )
然后,我将我的 caffe prototxt 更改为:
layer{
name:"data"
type:"HDF5Data"
top:"img"
include:{
phase:TEST
}
hdf5_data_param{
source:"/home/wei/deep_metric/test_h5_idty_list.txt"
batch_size:1
}
}
然后,我尝试通过以下方式确保我的数据正确输入:
net = caffe.Net(Model,Pretrained,caffe.TEST)
data = net.blobs['img'].data.copy()
但是,这让我在矩阵中全为零。 知道如何解决吗?
赞赏!
为了让 "HDF5Data"
层读取它的第一批,您需要先调用 net.forward()
。前向传递完成后,层的 top
s 会从文件中读取数据。