Мне было интересно, как преобразовать строку или путь во что-то, что может быть передано в таблицу hdf5. Например, я возвращаю массив numy img, метку и путь к изображению из загрузчика данных Pytorch, где путь к изображению будет выглядеть следующим образом:
('mults/train/0/5678.ndpi/40x/40x-236247-16634-80384-8704.png',)
Я в основном хочу передать егов таблицу hdf5 вот так:
hdf5_file = h5py.File(path, mode='w')
hdf5_file.create_dataset(str(phase) + '_img_paths', (len(dataloaders_dict[phase]),))
Я не совсем уверен, возможно ли то, что я хочу сделать. Может быть, я неправильно вводить такие данные в таблицу.
Я пытался:
hdf5_file.create_dataset(str(phase) + '_img_paths', (len(dataloaders_dict[phase]),),dtype="S10")
Но получаю эту ошибку:
hdf5_file[str(phase) + '_img_paths'][i] = str(paths40x)
File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
File "/anaconda3/lib/python3.6/site-packages/h5py/_hl/dataset.py", line 708, in __setitem__
self.id.write(mspace, fspace, val, mtype, dxpl=self._dxpl)
File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
File "h5py/h5d.pyx", line 211, in h5py.h5d.DatasetID.write
File "h5py/h5t.pyx", line 1652, in h5py.h5t.py_create
File "h5py/h5t.pyx", line 1713, in h5py.h5t.py_create
TypeError: No conversion path for dtype: dtype('<U64')