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 строками и большим количеством столбцов.
Как я могу предоставить случайную инициализацию веса и сохранить вектор веса вместе со значением ошибки тренировочного набора, как указано выше?
Благодарю.