2017-05-03 6 views
0

Also versuche ich einfach die MNIST-Datenbank (die ich heruntergeladen habe) zu laden und trainiere einen Klassifikator und speichere dann die Trainingseinheit für zukünftige Verwendung in einer Datei. Ich habe versucht, es direkt herunterzuladen (durch fetch_mldata), aber mein Internet scheint zu langsam zu sein, um so zu gehen, also versuche ich, die Datenbank zu lesen, indem ich es exteranllly herunterlädt, aber einen Fehler erhält, wie unten der Code angegeben wird. Jede Hilfe würde sehr geschätzt werden!Probleme beim Laden der MNIST-Datenbank

from sklearn.externals import joblib 
from sklearn import datasets 
from skimage.feature import hog 
from sklearn.datasets import fetch_mldata 
from sklearn.svm import LinearSVC 
import numpy as np 
import mlab 
import scipy.io 

print 'fetching' 
dataset = scipy.io.loadmat('mnist-original.mat') 

print 'fetched' 
features = np.array(dataset.data, 'int16') 
labels = np.array(dataset.target, 'int') 
ist_hog_fd = [] 
for feature in features: 
    fd = hog(feature.reshape((28, 28)), orientations=9, pixels_per_cell=(14, 14), cells_per_block=(1, 1), visualise=False) 
    list_hog_fd.append(fd) 
hog_features = np.array(list_hog_fd, 'float64') 
clf=LinearSVC() 
clf.fit(hog_features,labels) 
joblib.dump(clf, "digits_cls.pkl", compress=3) 

Wenn ich es laufen lasse, erhalte ich eine Fehlermeldung wie:

Traceback (most recent call last): 
    File "/home/samad/Red_Queen/v2(ud&ay)/scratch2.py", line 14, in <module> 
    features = np.array(dataset.data, 'int16') 
AttributeError: 'dict' object has no attribute 'data' 

Um ehrlich zu sein, ich bin nicht sehr bekannt Arrays numpy sowie Umgang mit .mat Dateien.

Antwort

0

Also, es hat einige Zeit gedauert, aber ich habe trotzdem eine Lösung gefunden. Statt scipy der Verwendung der ‚.mat‘ Erweiterungsdatei il laden verwendet, um das Auto downloder oder diesen Code direkt auf die Datenbank zum Download:

dataset = datasets.fetch_mldata("MNIST Original") 

und der Trick ist, lege ich die extern heruntergeladene Datei in dem Cache-Ordner von scikit, damit es nicht heruntergeladen werden muss. Der Weg zum Cache-Verzeichnis ist:

~/scikit_learn_data/mldata/ 

Und Sie können von überall über eine Google-Suche die Original-mat-Datei herunterladen.

Aber ich habe den Link: Link to Download , die möglicherweise nicht atm funktionieren.

Verwandte Themen