Python で多くのオフライン モデル/行列/配列を保存し、これらの関数に出くわしました。numpy.save() と joblib.dump() の長所と短所を挙げて、誰か助けてくれませんか?
1619 次
1 に答える
3
joblib
これは、いくつかの光を当てるはずのコードの重要なセクションです。
def _write_array(self, array, filename):
if not self.compress:
self.np.save(filename, array)
container = NDArrayWrapper(os.path.basename(filename),
type(array))
else:
filename += '.z'
# Efficient compressed storage:
# The meta data is stored in the container, and the core
# numerics in a z-file
_, init_args, state = array.__reduce__()
# the last entry of 'state' is the data itself
zfile = open(filename, 'wb')
write_zfile(zfile, state[-1],
compress=self.compress)
zfile.close()
state = state[:-1]
container = ZNDArrayWrapper(os.path.basename(filename),
init_args, state)
return container, filename
基本的に、joblib.dump
オプションで配列を圧縮できます。これは、 でディスクに保存するかnumpy.save
、(圧縮の場合は) zip ファイルを保存します。また、(または圧縮用に) をjoblib.dump
格納します。これは、配列の内容を含む保存/zip ファイルの名前と、配列のサブクラスを格納する軽量オブジェクトです。NDArrayWrapper
ZNDArrayWrapper
于 2014-11-08T18:45:43.170 に答える