問題タブ [hdf5]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - HDF5ファイルとPyTablesファイルの違い
HDF5
ファイルとによって作成されたファイルに違いはありますPyTables
か?
PyTables
には2つの機能があり、2つの形式に違いがあることを示唆しています.isHDFfile()
。.isPyTablesFile()
Googleで調べてみたところ、PyTablesはHDFの上に構築されていることがわかりましたが、それ以上のものを見つけることはできませんでした。
私は特に相互運用性、速度、オーバーヘッドに興味があります。
ありがとう。
python - Python用HDF5:高レベルと低レベルのインターフェース。h5py
私はとを使用してHDF5ファイルを操作してきましたがC
、Matlab
どちらもデータセットの読み取りと書き込みに同じ方法を使用しています。
- でファイルを開く
h5f
- でデータセットを開く
h5d
- スペースを選択
h5s
等々...
しかし、現在私はを使用してPython
おり、そのh5py
ライブラリを使用すると、HDF5を管理する方法が2つあることがわかります。高レベルと低レベルのインターフェイスです。前者を使用すると、ファイルの単一の変数から情報を取得するために必要なコード行が少なくなります。
高レベルのインターフェイスを使用すると、パフォーマンスが著しく低下しますか?
たとえば、内部に多くの変数があるファイルを処理する場合、そのうちの1つだけを読み取る必要があります。
c++ - データセット (C++ クラスのインスタンス) を hdf に格納する
データを hdf ファイルに保存する必要があるアプリケーションがあります。
実際にC++オブジェクトであるhdfにデータセットを保存することは可能ですか? たとえば、a
以下のオブジェクトに含まれるデータを hdf ファイル (hdf4 または hdf5) に保存したいとします。私はこれを行うことができますか?はいの場合、誰かがこれを行うことを示していただければ幸いです。ありがとうございました。
python - mac os lionでpytablesを構築する
Mac lionでpytables 2.3.1をビルドしようとしていますが、次のエラーに直面しました:
tsf-wpa-3-6133:tables-2.3.1 Hesam$ python setup.py build * numpy 1.5.1 パッケージがインストールされていることがわかりました。* numexpr 1.4.2 パッケージがインストールされていることがわかりました。* Cython 0.15.1 パッケージがインストールされていることがわかりました。.. エラー:: ローカルの HDF5 インストールが見つかりませんでした。
HDF5_DIR
環境変数を設定するか、--hdf5
コマンドライン オプションを使用して、ローカルの HDF5 ヘッダーとライブラリが見つかる場所を明示的に指定する必要がある場合があり ます。
何が解決策か知っていますか?
ありがとう。
python - -v7.3 (HDF5) で保存された Matlab 疎行列を Python に読み込んで操作する
私はmatlabから来て、pythonが初めてです。matlab v7.3 (HDF5) 形式で保存された大きな疎行列があります。これまでに、ファイルをロードする 2 つの方法を見つけましh5py
たtables
。ただし、マトリックスでの操作はいずれにしても非常に遅いようです。たとえば、matlab では次のようになります。
テーブルの使用:
h5py の使用:
(待つの諦めた…)
[編集]
@bpgergo からのコメントに基づいて、次の 2 つの方法でh5py
( f
)によってロードされた結果をnumpy
配列またはscipy
スパース配列に変換しようとしたことを追加する必要があります。
また
ただし、これらの操作は両方とも非常に遅くなります。
私がここに欠けているものはありますか?
python - HDF5 内の XML ファイル、h5py
グループでデータ(浮動小数点数)を保存するためにh5pyを使用しています。データ自体に加えて、追加のファイル (必要な情報を含む .xml ファイル) を hdf5 内に含める必要があります。どうすればいいですか?私のアプローチは間違っていますか?
私のh5ツリーは次のようになります。
linker - fortran の HDF5 とリンクするときのシンボル名の @ の問題
Intel Fortran 11.1 を使用して、HDF5 ライブラリを Visual Studio 2010 のソリューションにリンクする際に問題が発生しています。
具体的なエラー メッセージは次のとおりです。
このシンボルは hdf5_fortran.lib ライブラリにある必要があり、hdf5_fortran.lib ファイルのシンボルを調べると、実際にシンボルが含まれていることがわかります
追加の関連情報: コマンド ライン ステートメントを調べて、リンカが hdf5_fortran.lib ファイルを正しくインクルードしていることを確認しました。さらに、ライブラリ ファイル名のスペルを間違えると、ファイルが見つからないというエラーが報告されます。
コード ベースは、いくつかの歴史的な理由により、/names:as-is および /assume:nounderscore でコンパイルされています。
ここで、シンボルのリンクに関する専門家でなくても、_H5F_mp_H5FOPEN_F@ の末尾にある「装飾」@4 が、定義されたシンボル _H5F_mp_H5FOPEN_F と競合しているように見えるので、明らかな問題は次のとおりです。私のコードで参照するか、またはこれについて他の方法がありますか?
viewer - HDF5ビューア/エディタLinux
HDFVIEWはかなり良いですが、代替手段はありますか?
チャンク化/圧縮設定のようなものを変更できるのは素晴らしいことです-hdfviewにはその機能がありません-Java/python/whateverを使用してファイルをロードすることに頼る必要はありません。
java - Java、Python、PyTables、HDF5を組み合わせるためのシンプルで効果的なソリューション
私はPython、PyTables、HDF5の初心者です。私は自分の問題に対するシンプルで最良の解決策を探しています。
次は問題です。一方では、データを含む多くのXMLファイルがあります。これらのファイルを解析して、反対側のhdf5ファイルにデータを入れたいだけです。後で、このデータをいくつかの検索条件で使用します。なぜHDF5なのですか?大きなデータセットを配置する必要があるため、そして速度のため。RDBMSを使用すると、JOIN操作中のパフォーマンスに問題が発生します。ソリューションは、速度と優れたメモリパフォーマンスを提供する必要があります。
いくつかのグーグルの後、私はPythonとPyTablesを可能な解決策として見つけました。私の考えは、JavaでXMLからデータを解析し(このコードはJavaで作成する必要があります)、その後、PyTables APIを使用してhdf5にデータを挿入し、JavaからPythonスクリプトを実行するPythonスクリプトを作成します。だから、私はJavaプログラムからPythonスクリプトを書いて実行しています。JavaでPythonスクリプトを作成するために、java.io。*パッケージを使用し、JavaでProcessクラスを実行します。例えば:
p.exec( "cmd / c C:\ MyScripts \ myscript.py")
この解決策が良いかどうかはわかりません。私にとって、java.io。*を使用してJavaからスクリプトを書くのはクールではありません。おそらく、後でスクリプトから結果を読み取る際に問題が発生します(PythonスクリプトとPyTables APIを使用して検索条件を作成する場合)。
ですから、私の問題についていくつか質問があります。一方の側でXMLデータを解析し、もう一方の側でデータをhdf5に保存するための最良の解決策は何ですか?私はこのソリューション(JavaコードからPythonスクリプトを記述して実行する)で正しい方向に進んでいますか?PythonとPyTablesはどうですか?これらのテクノロジーは私の問題の良い解決策ですか?また、Jythonに関するいくつかのことを読みましたが、PyTablesと組み合わせることが可能かどうかわかりません。
専門家からの意見やアドバイスは大歓迎です。助けてくれてありがとう。
python - PyTablesセルに任意の形状の多次元配列を格納することは可能ですか?
PyTables は、IsDescription クラスから継承するユーザー定義クラスからのテーブルの作成をサポートしています。これには、ドキュメントの次の例のように、多次元セルのサポートが含まれます。
しかし、任意の形状の多次元配列を単一のセルに格納することは可能ですか? 上記の例に従うと、各行の挿入時にpressure = Float32Col(shape=(x, y))
wherex
およびare が決定されるようなものです。y
そうでない場合、好ましいアプローチは何ですか?各 (任意の形状の) 多次元配列をCArray
一意の名前で格納し、それらの名前をマスター インデックス テーブルに格納しますか? 私が想像しているアプリケーションは、画像と関連するメタデータを保存していて、クエリと使用の両方ができるようにしたいと考えていますnumexpr
。
PyTables のベスト プラクティスへのポインタは大歓迎です。