Рис.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.
// The number of hidden layers is required here to leave space for them.
Это пример дискуссии с компьютером о способе создания базового компьютера с использованием mbl-файла
// Create net based on lesson or manual input?
if (MessageBox («Do you want to create the net based on a MemBrain lesson file?», MB_YESNO) == IDYES)
{
gUseLesson = true;
CreateIOFromMbl ();
}
else
{
CreateIOFromUserInput ();
}
Здесь выводится сообщение с запросом ответа Да или Нет.
При проверке очередного условия может проявиться превышение ожидаемого параметра:
{
if (count> gMaxHidLayerCount)
{
MessageBox («Too many hidden layers!»);
AbortScript ();
}
Тогда выводится сообщение о чрезмерном количестве скрытых файлов.
Читать дальше