Saving and loading a Numpy Matrix in python
you can pickle your matrix:
>> import numpy >> import pickle >> b=numpy.matrix('1 2; 3 4') >> f=open('test','w') >> pickle.dump(b, f) >> f.close() >> f2 = open('test', 'r') >> s = pickle.load(f2) >> f2.close() >> s matrix([[1, 2], [3, 4]])
Tamas answer is much better than this: numpy matrixes objects have a direct method to pickle them.
In any case take into account that the pickle library is a general tool for saving python objects including classes.
You can obviously try numpy.save()
and numpy.load()
being quite efficient and fast as follows:
import numpy as npdef save_matrices(A,B,C, file_name): with open(file_name, 'wb') as f: np.save(f, A) np.save(f, B) np.save(f, C)def load_matrices(file_name): with open(file_name, 'rb') as f: A = np.load(f) B = np.load(f) C = np.load(f) return (A,B,C)if __name__ == "__main__": # generate random matrices in [0,1): a, b = 0, 1 A = (b - a) * np.random.random_sample((3, 3)) + a B = (b - a) * np.random.random_sample((3, 3)) + a C = (b - a) * np.random.random_sample((3, 3)) + a my_file = 'test.npy' save_matrices(A,B,C, my_file) loaded_A, loaded_B, loaded_C = load_matrices(my_file)