Соглашаемся на 2

Следующим задаётся вопрос: хотите использовать для создания нейросети файл, содержащий готовые уроки MemBrain? (Да, или Нет)


Рис.43 Будет ли использоваться mbl-файл


Да

Если есть готовый файл с уроками (файл в формате mbl), надо указать координаты этого файла. По содержимому файла определяется количество входных и выходных нейронов и начинается создание сети: появляется окно скрипта:


Рис.44 Окно скрипта с извещением о создании нейросети


На экране появляются фрагменты создаваемой нейросети:


Рис.45 Выводимые на экран сообщения о создании нейросети


И задаётся вопрос, какое количество нейронов должен содержать скрытый слой №1?


Рис.46 Количество нейронов в скрытом слое 1


Подсказывается вариант ответа (5). При ответе Да задаётся

вопрос о количестве нейронов в скрытом слое 2.


Рис.47 Количество нейронов в скрытом слое 2


При ответе Да завершается построение нейросети, о чём сообщается в трассе скрипта:


Рис.48 Часть трассы о завершении скрипта


Трасса в один кадр не умещается:


Рис.49 Часть трассы о завершении скрипта


На экран выводится готовая нейросеть.


Рис.50 Нейросеть создана


В том случае, если не используем mbl-файл, запрашивается количество входных нейронов:


Рис.51 Количество входных нейронов


Да. Затем запрашивается количество выходных нейронов:


Рис.52 Количество выходных нейронов


Допустим, определяем это количество цифрой 3, затем запрашивается количество нейронов в каждом скрытом слое


Рис.53 Запрос количества слоёв в скрытом слое 1


На этот вопрос ответ – 4. Появляется следующий вопрос о количестве нейронов в скрытом слое №2:


Рис.54 Запрос количества слоёв в скрытом слое 2


Ответ на этот вопрос – 7

Выводится трасса скрипта


Рис.55 Трасса скрипта


Трасса в один кадр не умещается:


Рис.56 Второе сообщение о трассе скрипта


На экране остаётся схема созданной нейросети:


Рис.57 Схема созданной нейросети


Естественно, по умолчанию устанавливаются типовые свойства всех нейронов.


Начинается работа этой скриптовой группы с «Using Net Editor Example… as». Затем по мере необходимости к нему подключаются ещё два скрипта.

В начале скрипта «Using Net Editor Example… as» содержится раздел «Константы», определяющий значения наиболее важных параметров создаваемой нейросети с помощью команды const. Затем создаётся список глобальных переменных, уточняются параметры создаваемой нейросети, после чего начинается сборка нейросети..

При необходимости выяснить количество скрытых слоёв в создаваемой нейросети проводится следующий диалог:

// Determine how many normal hidden layers there shall be in the net
void DetermineHidLayerCount ()
{
int count;
if (UserInput («Please enter the number of hidden layers for the net.»,
DEFAULT_HID_LAYER_COUNT, count) == IDOK)
{
if (count> gMaxHidLayerCount)
{
MessageBox («Too many hidden layers!»);
AbortScript ();
}

// Success. Adjust the size of the hidden layer array now.

gHidLayers.resize (count);

}
else
{
AbortScript ();
}
}

Создание входных нейронов по данным, содержащимся в mbl-файле

// Create the I/O neurons of the net using a MemBrain lesson file
void CreateIOFromMbl ()
{
string lessonFileName;
if (FileOpenDlg («Select Lesson File», «mbl», «», lessonFileName) == IDOK)
{
// Load the lesson into #1 (delete all other lessons)
SetLessonCount (1);
LoadLesson (lessonFileName);
gInputCount = GetLessonInputCount ();
gOutputCount = GetLessonOutputCount ();
if (gInputCount> gMaxCountPerLayer)
{
MessageBox («Too many input columns in lesson!»);
AbortScript ();
}
else if (gOutputCount> gMaxCountPerLayer)
{
MessageBox («Too many output columns in lesson!»);
AbortScript ();
}
// Now we tell the editor to actually create the input and output neurons.