% save .mat file in the matlab
train_set_x=1:50*1*51*61*23;
train_set_x=reshape(train_set_x,[50,1,51,61,23]);
save(['pythonTest.mat'],'train_set_x','-v7.3');
मैटलैब में प्राप्त डेटा (50,1,51,61,23) के आकार में है।पायथन में .mat फ़ाइल पढ़ें। लेकिन डेटा का आकार बदल गया
मैं इस link के निर्देश के साथ पायथन में .mat फ़ाइल लोड करता हूं।
import numpy as np, h5py
f = h5py.File('pythonTest.mat', 'r')
train_set_x = f.get('train_set_x')
train_set_x = np.array(train_set_x)
train_set_x.shape के उत्पादन (23L, 61L, 51L, 1L, 50L)
है:
कोड इस प्रकार है। यह (50L, 1L, 51L, 61L, 23L)
होने की उम्मीद है। इसलिए मैं
train_set_x=np.transpose(train_set_x, (4,3,2,1,0))
मैं अजगर और matlab के बीच डाटा के आकार में बदलाव के बारे में उत्सुक हूँ द्वारा आकार बदल दिया है। क्या मेरे कोड में कुछ त्रुटियां हैं?
संबंधित: http://stackoverflow.com/q/24116713/1714410 – Shai
पहले '.mat' संस्करणों के लिए,' scipy.io.loadmat' मैटल के समान आकार के साथ सरणी उत्पन्न करता है, लेकिन 'ऑर्डर =' F''। इस प्रकार यह इस अंतर को छुपाता है। – hpaulj
@ hpaulj: जल्दी से आपका क्या मतलब है? "देर से" मैट संस्करणों के लिए व्यवहार परिवर्तन क्या है? – Eric