Python HDF5-DIAG:在HDF5中检测到错误(1.8.11)

Python HDF5-DIAG:在HDF5中检测到错误(1.8.11),python,numpy,hdf5,caffe,Python,Numpy,Hdf5,Caffe,我正在尝试在caffe中加载hdf5,它不工作。我检查了路径,甚至可以使用查看器查看hdf文件。一切正常,但咖啡馆似乎无法装货 我使用类似这样的python脚本编写hdf5,其中X和标签是numpy数组 f = h5py.File("facialkp.hd5", "w") f.create_dataset("data", data=X, compression="gzip", compression_opts=4) f.create_dataset("label", data=labels,

我正在尝试在caffe中加载hdf5,它不工作。我检查了路径,甚至可以使用查看器查看hdf文件。一切正常,但咖啡馆似乎无法装货

我使用类似这样的python脚本编写hdf5,其中X和标签是numpy数组

f = h5py.File("facialkp.hd5", "w")
f.create_dataset("data", data=X,  compression="gzip", compression_opts=4)
f.create_dataset("label", data=labels,  compression="gzip", compression_opts=4)
这就是整个问题所在

root@pbu-OptiPlex-740-Enhanced:/home/pbu/Desktop# ./facialkp_train.sh
I0119 19:55:50.779419  9905 caffe.cpp:103] Use CPU.
I0119 19:55:51.152626  9905 caffe.cpp:107] Starting Optimization
I0119 19:55:51.152817  9905 solver.cpp:32] Initializing solver from parameters: 
test_iter: 1000
test_interval: 1000
base_lr: 0.01
display: 1000
max_iter: 10000
lr_policy: "step"
gamma: 0.1
momentum: 0.9
weight_decay: 0.0005
stepsize: 5000
snapshot: 10000
snapshot_prefix: "/home/pbu/Desktop/tmp"
solver_mode: CPU
net: "/home/pbu/Desktop/facialkp.prototxt"
I0119 19:55:51.152936  9905 solver.cpp:67] Creating training net from net file: /home/pbu/Desktop/facialkp.prototxt
I0119 19:55:51.153211  9905 net.cpp:39] Initializing net from parameters: 
name: "LogReg"
layers {
  top: "data"
  top: "label"
  name: "data"
  type: HDF5_DATA
  hdf5_data_param {
    source: "facialkp.hd5"
    batch_size: 10
  }
  include {
    phase: TRAIN
  }
}
layers {
  bottom: "data"
  top: "ip"
  name: "ip"
  type: INNER_PRODUCT
  inner_product_param {
    num_output: 30
  }
}
layers {
  bottom: "ip"
  bottom: "label"
  top: "loss"
  name: "loss"
  type: EUCLIDEAN_LOSS
}
state {
  phase: TRAIN
}
I0119 19:55:51.153457  9905 net.cpp:67] Creating Layer data
I0119 19:55:51.153486  9905 net.cpp:356] data -> data
I0119 19:55:51.153524  9905 net.cpp:356] data -> label
I0119 19:55:51.153560  9905 net.cpp:96] Setting up data
I0119 19:55:51.153580  9905 hdf5_data_layer.cpp:57] Loading filename from facialkp.hd5
I0119 19:55:51.171277  9905 hdf5_data_layer.cpp:69] Number of files: 19511
I0119 19:55:51.171358  9905 hdf5_data_layer.cpp:29] Loading HDF5 file�HDF
HDF5-DIAG: Error detected in HDF5 (1.8.11) thread 139901797366336:
  #000: ../../../src/H5F.c line 1586 in H5Fopen(): unable to open file
    major: File accessibilty
    minor: Unable to open file
  #001: ../../../src/H5F.c line 1275 in H5F_open(): unable to open file: time = Mon Jan 19 19:55:51 2015
, name = '�HDF', tent_flags = 0
    major: File accessibilty
    minor: Unable to open file
  #002: ../../../src/H5FD.c line 987 in H5FD_open(): open failed
    major: Virtual File Layer
    minor: Unable to initialize object
  #003: ../../../src/H5FDsec2.c line 343 in H5FD_sec2_open(): unable to open file: name = '�HDF', errno = 2, error message = 'No such file or directory', flags = 0, o_flags = 0
    major: File accessibilty
    minor: Unable to open file
E0119 19:55:51.172713  9905 hdf5_data_layer.cpp:32] Failed opening HDF5 file�HDF
I0119 19:55:51.173208  9905 hdf5_data_layer.cpp:81] output data size: 10,0,0,0
I0119 19:55:51.173262  9905 net.cpp:103] Top shape: 10 0 0 0 (0)
I0119 19:55:51.173285  9905 net.cpp:103] Top shape: 10 0 0 0 (0)
I0119 19:55:51.173342  9905 net.cpp:67] Creating Layer ip
I0119 19:55:51.173368  9905 net.cpp:394] ip <- data
I0119 19:55:51.173400  9905 net.cpp:356] ip -> ip
I0119 19:55:51.173432  9905 net.cpp:96] Setting up ip
F0119 19:55:51.173466  9905 blob.cpp:72] Check failed: data_ 
*** Check failure stack trace: ***
    @     0x7f3d674c8daa  (unknown)
    @     0x7f3d674c8ce4  (unknown)
    @     0x7f3d674c86e6  (unknown)
    @     0x7f3d674cb687  (unknown)
    @           0x45ee6e  caffe::Blob<>::mutable_cpu_data()
    @           0x4b4d74  caffe::ConstantFiller<>::Fill()
    @           0x4bb6c9  caffe::InnerProductLayer<>::LayerSetUp()
    @           0x491431  caffe::Net<>::Init()
    @           0x492d3e  caffe::Net<>::Net()
    @           0x458b00  caffe::Solver<>::InitTrainNet()
    @           0x459db6  caffe::Solver<>::Init()
    @           0x459f16  caffe::Solver<>::Solver()
    @           0x419c40  caffe::GetSolver<>()
    @           0x416064  train()
    @           0x410a51  main
    @     0x7f3d630c8ec5  (unknown)
    @           0x414bb7  (unknown)
    @              (nil)  (unknown)
Aborted (core dumped)
root@pbu-OptiPlex-740-En
root@pbu-OptiPlex-740-Enhanced:/home/pbu/Desktop#/facialkp_train.sh
I0119 19:55:50.779419 9905 caffe.cpp:103]使用CPU。
I0119 19:55:51.152626 9905 caffe.cpp:107]启动优化
I0119 19:55:51.152817 9905解算器。cpp:32]从参数初始化解算器:
试验堆:1000
测试间隔:1000
基准线:0.01
显示器:1000
最高温度:10000
lr_政策:“步骤”
伽马:0.1
动量:0.9
重量衰减:0.0005
步长:5000
快照:10000
快照前缀:“/home/pbu/Desktop/tmp”
解算器模式:CPU
net:“/home/pbu/Desktop/facialkp.prototxt”
I0119 19:55:51.152936 9905 solver.cpp:67]从网络文件创建培训网络:/home/pbu/Desktop/facialkp.prototxt
I0119 19:55:51.153211 9905 net.cpp:39]根据参数初始化网络:
名称:“LogReg”
层{
顶部:“数据”
顶部:“标签”
名称:“数据”
类型:HDF5\U数据
hdf5_数据_参数{
资料来源:“facialkp.hd5”
批量:10
}
包括{
阶段:列车
}
}
层{
底部:“数据”
顶部:“ip”
名称:“ip”
类型:内螺纹产品
内积参数{
输出数量:30
}
}
层{
底部:“ip”
底部:“标签”
顶部:“损失”
名称:“损失”
类型:欧几里得损失
}
陈述{
阶段:列车
}
I0119 19:55:51.153457 9905 net.cpp:67]创建图层数据
I0119 19:55:51.153486 9905 net.cpp:356]数据->数据
I0119 19:55:51.153524 9905 net.cpp:356]数据->标签
I0119 19:55:51.153560 9905 net.cpp:96]设置数据
I0119 19:55:51.153580 9905 hdf5_data_layer.cpp:57]从facialkp.hd5加载文件名
I0119 19:55:51.171277 9905 hdf5_数据_层。cpp:69]文件数:19511
I0119 19:55:51.171358 9905 hdf5_data_layer.cpp:29]加载hdf5文件�HDF
HDF5-DIAG:在HDF5(1.8.11)线程139901797366336中检测到错误:
#000:../../src/H5F.c H5Fopen()中的第1586行:无法打开文件
专业:文件可访问性
次要:无法打开文件
#001:../../../src/H5F.c H5F_open()中的第1275行:无法打开文件:time=Mon Jan 19:55:51 2015
,name='1�HDF',帐篷标志=0
专业:文件可访问性
次要:无法打开文件
#002:../../../src/H5FD.c H5FD_open()中的第987行:打开失败
专业:虚拟文件层
次要:无法初始化对象
#003:../../../src/H5FDsec2.c H5FD_sec2_open()中的第343行:无法打开文件:name=�HDF',errno=2,错误消息='没有这样的文件或目录',flags=0,o_flags=0
专业:文件可访问性
次要:无法打开文件
E0119 19:55:51.172713 9905 hdf5_数据_层。cpp:32]打开hdf5文件失败�HDF
I0119 19:55:51.173208 9905 hdf5_数据_层。cpp:81]输出数据大小:10,0,0,0
I0119 19:55:51.173262 9905净。cpp:103]顶部形状:10 0(0)
I0119 19:55:51.173285 9905净。cpp:103]顶部形状:10 0(0)
I0119 19:55:51.173342 9905 net.cpp:67]正在创建层ip
I0119 19:55:51.173368 9905净。cpp:394]ip
I0119 19:55:51.173432 9905 net.cpp:96]设置ip
F0119 19:55:51.173466 9905 blob.cpp:72]检查失败:数据\u
***检查故障堆栈跟踪:***
@0x7f3d674c8daa(未知)
@0x7f3d674c8ce4(未知)
@0x7f3d674c86e6(未知)
@0x7f3d674cb687(未知)
@0x45ee6e caffe::Blob::可变cpu_数据()
@0x4b4d74 caffe::ConstantFiller::Fill()
@0x4bb6c9 caffe::InnerProductLayer::LayerSetUp()
@0x491431 caffe::Net::Init()
@0x492d3e caffe::Net::Net()
@0x458b00 caffe::解算器::InitTrainNet()
@0x459db6 caffe::解算器::初始化()
@0x459f16 caffe::解算器::解算器()
@0x419c40 caffe::GetSolver()
@0x416064列车()
@0x410a51主
@0x7f3d630c8ec5(未知)
@0x414bb7(未知)
@(无)(未知)
中止(堆芯转储)
root@pbu-OptiPlex-740-En
已解决:)

我创建了一个文本文件,将real.hd5文件的路径放在其中。caffe prototxt文件指向文本文件,它可以工作:)

train.txt包含行

facialkp.hd5

X
标签的形状是什么?
facialkp.hd5