首頁 > 後端開發 > Python教學 > 詳解python中無法正確讀取.mat檔的解決方法

詳解python中無法正確讀取.mat檔的解決方法

高洛峰
發布: 2017-03-09 09:20:08
原創
2962 人瀏覽過

在python中導入本機.mat資料檔時,總是無法得到正確的資料。

問題代碼如下:

from numpy import *import scipy.io

mnist_train = 'D:\Machine Learning\TensorFlow\Softmax Regression\mnist_dataset\mnist_train.mat'mnist_train_labels = 'D:\Machine Learning\TensorFlow\Softmax Regression\mnist_dataset\mnist_train_labels.mat'x = scipy.io.loadmat(mnist_train)
label = scipy.io.loadmat(mnist_train_labels)

print(x.shape)
登入後複製

上段程式碼輸出的結果是(1,1),而對應的資料應為(60000,784)。此時,如果直接輸出x,會看到以下結果:

'''
[[ {'__version__': '1.0', '__header__': b'MATLAB 5.0 MAT-file, Platform: PCWIN, Created on: Tue Nov 29 12:43:31 2011', 
'mnist_train': array([[ 0.,  0.,  0., ...,  0.,  0.,  0.],
       [ 0.,  0.,  0., ...,  0.,  0.,  0.],
       [ 0.,  0.,  0., ...,  0.,  0.,  0.],
       ...,
       [ 0.,  0.,  0., ...,  0.,  0.,  0.],
       [ 0.,  0.,  0., ...,  0.,  0.,  0.],
       [ 0.,  0.,  0., ...,  0.,  0.,  0.]], dtype=float32), '__globals__': []}]]
'''
登入後複製

可見,如果本地mat檔包含了額外的信息,則單純使用scipy.io.loadmat()無法直接讀取到所需數據,也應該補充一行對應的程式碼。

x = scipy.io.loadmat(mnist_train)
train_x = x['mnist_train']
label = scipy.io.loadmat(mnist_train_labels)
train_label = label['mnist_train_labels']
登入後複製


#

以上是詳解python中無法正確讀取.mat檔的解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板