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