2016-08-30 10 views
3

私はTorch-hdf5を使用していくつかのテンソルをhdf5に保存しようとしています!Torch-hdf5を使用してTensorをHdf5に保存する

は、私は非常に慎重にこの文書をフォローしたい: https://github.com/deepmind/torch-hdf5/blob/master/doc/usage.md

しかし、書き込みに一部をHDF5し、そのexmapleは次のとおりです。I /書き込みに/「/パスを理解

require 'hdf5' 
local myFile = hdf5.open('/path/to/write.h5', 'w') 
myFile:write('/path/to/data', torch.rand(5, 5)) 
myFile:close() 

。 h5 "は最終ファイルを指しますが、"/path/to/data "とは何ですか?それはちょうどランダムな別のパスですか?だから私はちょうど "データ/"を置く。

HDF5-DIAG: Error detected in HDF5 (1.8.13) thread 0: 
    #000: H5G.c line 287 in H5Gcreate2(): no name 
    major: Invalid arguments to routine 
    minor: Bad value 
HDF5-DIAG: Error detected in HDF5 (1.8.13) thread 0: 
    #000: H5I.c line 2245 in H5Iget_name(): can't retrieve object location 
    major: Object atom 
    minor: Can't get value 
    #001: H5Gloc.c line 253 in H5G_loc(): invalid object ID 
    major: Invalid arguments to routine 
    minor: Bad value 

hdf5はデータと命令ファイルを別々に保存しますか?それで、私たちは2つの道を通過するのですか?

答えて

0

最初のパスは、ディスク上の実際のファイルへのパスです。これがすべてのものです。

local myFile = hdf5.open('/path/to/write.h5', 'w') 

第2のパス、すなわちデータパスは、テンソルにつながるファイル内のキー名のパスです。 Hdf5は辞書の辞書としてデータを格納するので、/ path/to/dataは "path"という名前のグローバル辞書キーを表し、 "to"という辞書キーにつながり、最終キー "data"につながります。テンソルにつながる。これは、hdf5ファイルがロードされると、hdf5Data ["path"] ["to"] ["data"]としてアクセスできます。

myFile:write('/path/to/data', torch.rand(5, 5)) 

これが役立ちます。

0

私はトーチの開発者ではなく、HDC5の開発者ですから、トーチの仕組みを正確にはわかりませんが、HDF5ではHDF5ファイル内に階層的な「グループ」を作成できますHDF5)。これらは、POSIXシステム上のファイルパスと同じ方法で表されます。/path/to/dataの場合、 'path'と 'to'はHDF5グループになり、 'data'はHDF5データセットまたはHDF5グループのいずれかになります.Tensorは標準名を持つ1つ以上のデータセットトーチのそれは前者のように見える)。

関連する問題