CIFAR-10データセットを使用してニューラルネットワークを訓練しています。0.10
というスコアを得ています。これはまるでニューラルネットワークがちょうど推測しているようです正解)、CIFAR-10には10種類のもの(自動車、飛行機、猫、犬など)の32×32画像があります。私は何かが私のコードに間違っていると思う。ところで多層パーセプトロンニューラルネットワークは10%の精度を持っています
は、それが私を助けてください
をunpickle化ファイルの問題ではありません!
from sklearn import datasets
from sklearn.neural_network import MLPClassifier
import numpy as np
import time
labels = ["airplane", "automobile", "bird", "cat", "deer", "dog", "frog", "horse", "ship", "truck"]
def unpickle(f):
import cPickle
fo = open(f, "rb")
dict = cPickle.load(fo)
fo.close()
return dict
def setup_mlp(unpickled_data):
new_mlp = MLPClassifier(hidden_layer_sizes=3072, solver='sgd', batch_size=1000, max_iter=500, random_state=1, learning_rate_init=0.01)
return new_mlp
#hidden_layer_sizes is the number of neurons in a layer. In this case I have one hidden layer & 3072 neurons in that layer
if __name__ == "__main__":
unpickled_batch = unpickle("./data_batch_1")
print int(unpickled_batch["data"].shape[0])
#time.sleep(1000)
X_train = unpickled_batch["data"][:1000]
Y_train = unpickled_batch["labels"][:1000]
print "Decoded batch, now training\n"
mlp = setup_mlp(unpickled_batch)
mlp.fit(X_train, Y_train)
print "Score=" + str(mlp.score(X_train, Y_train))