アレイサブクラスをnpyファイルに保存し、後で結果を回復できるようにしたいと考えています。以下のようなnd.sysをndarrayサブクラスで使用するにはどうすればよいですか?
何か:
>>> class MyArray(np.ndarray): pass
>>> data = MyArray(np.arange(10))
>>> np.save('fname', data)
>>> data2 = np.load('fname')
>>> assert isinstance(data2, MyArray) # raises AssertionError
the docsは(強調鉱山)言う:
形式は明示的には必要ありません:完全
[...]
- numpy.ndarrayの任意のサブクラスを処理します。書き込み用にサブクラスが になりますが、配列データのみが書き出されます。 通常のnumpy.ndarrayオブジェクトは、ファイルの読み取り時に作成されます。 APIを使用して、特定のサブクラスのフォーマットを構築することができますが、一般的なNPYフォーマットの範囲外の です。
だから、上記のコードはAssertionErrorがを上げないとすることができますか?
データを(numpy.load経由で)読み込むときにnumpyがあなたのサブクラスを知っているように、データを 'npy'ファイルに格納する方法を尋ねていますか? [ビューキャスト](http://docs.scipy.org/doc/numpy/user/basics.subclassing.html#view-casting)を使用して解決策を探す_その後、バニラの配列としてデータを読み取ることができますか? – mgilson
@mgilson:ビューのキャストはあまりありません。私はファイルをプログラマではなく、どのようなクラスにするべきかをエンコードしたい。また、理想的には私のクラスのプロパティに対応する自分のメタデータをいくつか保存することができます。 – Eric