私はあなたの{...}
が何を示しているかは全くわかりません。 Pythonでは、それらは辞書やセットに使われます。リストには[]
、タプルには()
が使用されます。配列の形状はタプルとして表現されます。
とにかく、あなたのコードは
In [68]: X
Out[68]:
array([ list([0.6503719194043309, 0.8703218883225239, -1.4139639093161405, 2.3288987644271835, -1.7957516518177206]),
list([-0.1781710442823114, 0.9591992379396287, -0.6319292685053243]),
list([0.7104492662861611, -0.8951817329357393, -0.8925882332063567, 1.5587934871464815]),
list([-1.2384976614455354, 0.9044140291496179, 1.1277220227448401]),
list([1.1386910680393805, -0.1775792543137636, 1.0567836199711476]),
list([2.7535019220459707, 0.29518918092088386, -0.32166742909305196, 1.5269788560083497, 0.29633276686886767]),
list([1.6397535315116918, -0.8839570613086122, -0.4491121599234047, -2.4461439611764333, -0.6884616200199412, -1.1920165045444608]),
list([1.3240629024597295, 1.170019287452736, 0.5999977019629572, -0.38338543090263366, 0.6030856099472732]),
list([-0.013529997305716175, -0.7093551284624415, -1.8611980839518099, 0.9165791506693297]),
list([2.384081118320432, -0.6158201308053464, 0.8802896893269192, -0.7636283160361232])], dtype=object)
In [69]: y
Out[69]: array([1, 1, 0, 0, 0, 1, 1, 0, 1, 0])
y
生産する単純な配列です。 h5py
はそれを保存しても問題ありません。
X
は、様々なサイズのリスト
In [72]: [len(l) for l in X]
Out[72]: [5, 3, 4, 3, 3, 5, 6, 5, 4, 4]
h5py
は、配列のようなものを保存することはできません含むオブジェクトDTYPE配列、です。最高でも、各要素を異なるdataset
に書き込むことができます。それぞれを配列として保存します。
....
for i, item in enumerate(X):
ofile.create_dataset('name%s'%i, data=item)
「hdf5」の異なるデータセットにデータを保存すると、このファイルをニューラルネットワークの入力として使用すると問題が発生します – partida