3

Python で多くのオフライン モデル/行列/配列を保存し、これらの関数に出くわしました。numpy.save() と joblib.dump() の長所と短所を挙げて、誰か助けてくれませんか?

4

1 に答える 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 ファイルの名前と、配列のサブクラスを格納する軽量オブジェクトです。NDArrayWrapperZNDArrayWrapper

于 2014-11-08T18:45:43.170 に答える