{"action":"created","issue":{"url":"https://api.github.com/repos/BVLC/caffe/issues/2434","labels_url":"https://api.github.com/repos/BVLC/caffe/issues/2434/labels{/name}","comments_url":"https://api.github.com/repos/BVLC/caffe/issues/2434/comments","events_url":"https://api.github.com/repos/BVLC/caffe/issues/2434/events","html_url":"https://github.com/BVLC/caffe/issues/2434","id":74735965,"number":2434,"title":"Does Caffe support HDF5 sub-groups?","user":{"login":"NerdPollution","id":3131540,"avatar_url":"https://avatars.githubusercontent.com/u/3131540?v=3","gravatar_id":"","url":"https://api.github.com/users/NerdPollution","html_url":"https://github.com/NerdPollution","followers_url":"https://api.github.com/users/NerdPollution/followers","following_url":"https://api.github.com/users/NerdPollution/following{/other_user}","gists_url":"https://api.github.com/users/NerdPollution/gists{/gist_id}","starred_url":"https://api.github.com/users/NerdPollution/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NerdPollution/subscriptions","organizations_url":"https://api.github.com/users/NerdPollution/orgs","repos_url":"https://api.github.com/users/NerdPollution/repos","events_url":"https://api.github.com/users/NerdPollution/events{/privacy}","received_events_url":"https://api.github.com/users/NerdPollution/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-05-09T19:06:26Z","updated_at":"2015-09-01T01:18:12Z","closed_at":null,"body":"I am new to using caffe and I am having trouble loading in a HDF5. My old HDF5 did not have sub-groups in it, so it it just consisted of a data section and a label section. My current HDF5 that I have has the following structure:\r\n\r\nh5ls examples/eeg/test.hdf5 \r\nrec_00                   Group\r\nrec_01                   Group\r\n\r\nh5ls examples/eeg/chb01.hdf5/rec_00\r\ndata                     Dataset {921600, 23}\r\nlabels                   Dataset {921600}\r\n\r\nSo, its consist of two sub-groups. When I attempt to run my code, I receive the following error below. Is there a way in caffe to deal with sub-groups?\r\n\r\nF0509 15:02:00.213076 1933718272 io.cpp:237] Check failed: H5LTfind_dataset(file_id, dataset_name_) Failed to find HDF5 dataset data\r\n*** Check failure stack trace: ***\r\n    @        0x10a3c276a  google::LogMessage::Fail()\r\n    @        0x10a3c1f14  google::LogMessage::SendToLog()\r\n    @        0x10a3c23c7  google::LogMessage::Flush()\r\n    @        0x10a3c5679  google::LogMessageFatal::~LogMessageFatal()\r\n    @        0x10a3c2a4f  google::LogMessageFatal::~LogMessageFatal()\r\n    @        0x10570581c  caffe::hdf5_load_nd_dataset_helper<>()\r\n    @        0x105704e2b  caffe::hdf5_load_nd_dataset<>()\r\n    @        0x10569bde0  caffe::HDF5DataLayer<>::LoadHDF5FileData()\r\n    @        0x10569b1ac  caffe::HDF5DataLayer<>::LayerSetUp()\r\n    @        0x1056da774  caffe::Net<>::Init()\r\n    @        0x1056d9717  caffe::Net<>::Net()\r\n    @        0x1056ec9ce  caffe::Solver<>::InitTrainNet()\r\n    @        0x1056ec3ec  caffe::Solver<>::Init()\r\n    @        0x1056ec23d  caffe::Solver<>::Solver()\r\n    @        0x1055f8c62  caffe::SGDSolver<>::SGDSolver()\r\n    @        0x1055f6b85  caffe::GetSolver<>()\r\n    @        0x1055f4438  train()\r\n    @        0x1055f671f  main\r\n    @     0x7fff89a655c9  start\r\n    @                0x3  (unknown)"},"comment":{"url":"https://api.github.com/repos/BVLC/caffe/issues/comments/136543170","html_url":"https://github.com/BVLC/caffe/issues/2434#issuecomment-136543170","issue_url":"https://api.github.com/repos/BVLC/caffe/issues/2434","id":136543170,"user":{"login":"lukeyeager","id":687269,"avatar_url":"https://avatars.githubusercontent.com/u/687269?v=3","gravatar_id":"","url":"https://api.github.com/users/lukeyeager","html_url":"https://github.com/lukeyeager","followers_url":"https://api.github.com/users/lukeyeager/followers","following_url":"https://api.github.com/users/lukeyeager/following{/other_user}","gists_url":"https://api.github.com/users/lukeyeager/gists{/gist_id}","starred_url":"https://api.github.com/users/lukeyeager/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lukeyeager/subscriptions","organizations_url":"https://api.github.com/users/lukeyeager/orgs","repos_url":"https://api.github.com/users/lukeyeager/repos","events_url":"https://api.github.com/users/lukeyeager/events{/privacy}","received_events_url":"https://api.github.com/users/lukeyeager/received_events","type":"User","site_admin":false},"created_at":"2015-09-01T01:18:12Z","updated_at":"2015-09-01T01:18:12Z","body":"I think you're SOL. h5py lets you do this:\r\n```python\r\nh5py.File('train.h5')['group/data'].shape\r\n```\r\nSo I thought you might be able to simply change the `tops` in the HDF5Data layer like this:\r\n```\r\nlayer {\r\n  name: \"data\"\r\n  type: \"HDF5Data\"\r\n  top: \"group/data\"\r\n  top: \"group/label\"\r\n  include {\r\n    phase: TRAIN\r\n  }\r\n}\r\n```\r\nBut that didn't work. Apparently [H5LTfind_dataset](https://www.hdfgroup.org/HDF5/doc/HL/RM_H5LT.html#H5LTfind_dataset) doesn't allow that kind of implicit grouping."}}