【发布时间】:2017-02-15 14:58:33
【问题描述】:
我使用以下 python 脚本创建了 HDF5 数据并放置了 HDF5 数据层。但是,当我尝试使用这些数据训练 caffe 时,它一直在抱怨
Check failed: num_spatial_axes_ == 2 (0 vs. 2) kernel_h & kernel_w can only be used for 2D convolution
我的数据如下所示:
-
数据(1x3253),标签(1x128)二进制。我将 128 切成 16 个字节并将其转换为 dec 以将其用作多标签。所以一个典型的键看起来像 (20, 38, 123, 345,...) 1x16。我有 1,000,000 个像 (1) 这样的数据。现在我只使用第一个字节,所以我将使用一个整数作为标签。
DIR ="/x/" h5_fn= os.path.join('/x/h5Data_train.h5') from numpy import genfromtxt dim=64000 InputData=np.arange(3253) data=np.arange(dim*3253) data.shape=(dim,3253) fileList=[os.path.join(i) for folder, subdir,files in os.walk(DIR) for i in files] for i in range(0,len(fileList)): InputData=np.genfromtxt(DIR+fileList[i], delimiter=',',skip_header=24) data[i]=InputData label=np.arange(dim) labelData=np.genfromtxt(DIR+'label_file',comments='\t',dtype=None) for i in range(0,dim): label[i]=int(labelData[i][0:2],16) print "Creating HDF5..." with h5py.File(h5_fn,'w') as f: f['InputData']=data f['label']=label text_fn=os.path.join('/x/hdf5.txt') with open(text_fn,'w') as f: f.write('h5_fn')
此脚本创建 HDF5,但我怀疑来自 caffe 的错误与我创建 HDF5 文件的方式有关。有人可以告诉我我创建 HDF5 的方式是否有任何问题。另外,有没有人可以检查创建的 HDF5 文件是否符合您的要求?谢谢!
【问题讨论】:
-
你的缩进太错误了,很难猜出嵌套在哪里。请解决这个问题。缩进对于 Python 来说真的很重要。
-
顺便说一句,你可以用HDFView阅读你的HDF的内容
-
@zvone 现在应该更好了。我的实际代码是正确缩进的,这里的代码块不是那么灵活。
标签: python machine-learning deep-learning caffe hdf5