Во время обучения нейронной сети промежуточные результаты могут быть периодически сохранены в файл MAT для восстановления, если компьютер перестал работать, или вы уничтожаете учебный процесс. Это помогает защитить значение долгих учебных запусков, которые, если прервано должны были бы быть полностью перезапущены в противном случае. Эта функция особенно полезна для долгих параллельных сеансов обучения, которые, более вероятно, будут прерваны отказами вычислительного ресурса.
Контрольная точка сохраняет, включены с дополнительным 'CheckpointFile' учебный аргумент сопровождается именем файла контрольной точки или путем. Если вы задаете только имя файла, файл помещается в рабочую директорию по умолчанию. Файл должен иметь .mat расширение файла, но если это не задано, это автоматически добавлено. В этом примере контрольная точка сохраняет, сделаны к файлу под названием MyCheckpoint.mat в текущей рабочей директории.
[x,t] = bodyfat_dataset; net = feedforwardnet(10); net2 = train(net,x,t,'CheckpointFile','MyCheckpoint.mat');
22-Mar-2013 04:49:05 First Checkpoint #1: /WorkingDir/MyCheckpoint.mat 22-Mar-2013 04:49:06 Final Checkpoint #2: /WorkingDir/MyCheckpoint.mat
По умолчанию контрольная точка сохраняет, происходят самое большее один раз в 60 секунд. Для предыдущего короткого учебного примера это приводит к только двум, отмечают контрольной точкой, сохраняет: один вначале и один в конце обучения.
Дополнительный учебный аргумент 'CheckpointDelay' может измениться частота сохраняет. Например, здесь минимальная задержка контрольной точки установлена в 10 секунд для проблемы timeseries, где нейронная сеть обучена, чтобы смоделировать поднимаемый магнит.
[x,t] = maglev_dataset;
net = narxnet(1:2,1:2,10);
[X,Xi,Ai,T] = preparets(net,x,{},t);
net2 = train(net,X,T,Xi,Ai,'CheckpointFile','MyCheckpoint.mat','CheckpointDelay',10);22-Mar-2013 04:59:28 First Checkpoint #1: /WorkingDir/MyCheckpoint.mat 22-Mar-2013 04:59:38 Write Checkpoint #2: /WorkingDir/MyCheckpoint.mat 22-Mar-2013 04:59:48 Write Checkpoint #3: /WorkingDir/MyCheckpoint.mat 22-Mar-2013 04:59:58 Write Checkpoint #4: /WorkingDir/MyCheckpoint.mat 22-Mar-2013 05:00:08 Write Checkpoint #5: /WorkingDir/MyCheckpoint.mat 22-Mar-2013 05:00:09 Final Checkpoint #6: /WorkingDir/MyCheckpoint.mat
После компьютерного отказа или учебного прерывания, можно перезагрузить структуру контрольной точки, содержащую лучшую нейронную сеть, полученную перед прерыванием и учебной записью. В этом случае, stage значением поля является 'Final', указание на последнее сохранение было в итоговую эпоху потому что обучение, завершенное успешно. Первая контрольная точка эпохи обозначается 'First', и промежуточное звено отмечает контрольной точкой 'Write'.
load('MyCheckpoint.mat')checkpoint =
file: '/WorkdingDir/MyCheckpoint.mat'
time: [2013 3 22 5 0 9.0712]
number: 6
stage: 'Final'
net: [1x1 network]
tr: [1x1 struct]Можно возобновить обучение с последней контрольной точки путем перезагрузки набора данных (при необходимости), затем вызов обучаются с восстановленной сетью.
net = checkpoint.net; [x,t] = maglev_dataset; load('MyCheckpoint.mat'); [X,Xi,Ai,T] = preparets(net,x,{},t); net2 = train(net,X,T,Xi,Ai,'CheckpointFile','MyCheckpoint.mat','CheckpointDelay',10);