Python - обучение MLP в наборе данных MNIST с использованием Sklearn

Я хочу обучить MLP для набора данных 6000x784, используя Sklearn в python. Моя сеть имеет следующее:

  • 784 входа (плюс смещение)
  • два скрытых слоя по 100 каждый
  • 10 выходных единиц
  • Функции активации ReLU на скрытых устройствах, функции softmax на выходах

Ниже мой код

import scipy.io
from sklearn.neural_network import MLPClassifier

# Extracting the training data
x = scipy.io.loadmat('mnist_train.mat')
data = x['train_X']
label = x['train_labels']

# Extracting the test data
x = scipy.io.loadmat('mnist_test.mat')
testData = x['test_X']
testLabel = x['test_labels']

# Training and fitting the model
clf = MLPClassifier(solver='lbfgs', alpha=1e-5, hidden_layer_sizes=(100, 2), activation="relu")
clf.fit(data, label)

Я хотел бы выполнить следующее:

  • Тренируйте мою сеть 50 раз от инициализации случайного веса.
  • В конце каждого тренировочного прогона извлеките и сохраните вектор весов и значение ошибки набора тренировок в текстовом файле (CSV с разделителем пробелов), включив значения ошибок в качестве последнего столбца. Ожидается, что это должно привести к созданию файла с 50 строками и большим количеством столбцов.

Как я могу предоставить случайную инициализацию веса и сохранить вектор веса вместе со значением ошибки тренировочного набора, как указано выше?

Благодарю.

0 ответов

Другие вопросы по тегам