Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Генератор программного кода





Генератор программного кода был разработан для того, чтобы обеспечить возможность автоматического написания программного кода для использования построенных с помощью NeuroShell 2 маленьких сетей и сетей среднего размера. Он может использоваться и для больших сетей, но в этом случае, вероятно, придется проделать некоторую предварительную работу по запуску кода, так как многие компиляторы не смогут скомпилировать такое количество кода, которое сможет создать Генератор. Этот вопрос дополнительно обсуждается позже.

Если Вы хотите вызывать сети из программ, написанных для работы в Microsoft Windows, то не следует применять Генератор программного кода; гораздо проще и быстрее вызвать функцию FireNet из нашей динамической библиотеки (DLL).

Если, однако, хотите иметь возможность вызывать (применять) сеть из программы ДОС, на рабочей станции, на большой ЭВМ или с помощью какого-либо специализированного процессора, Генератор программного кода подходит. Генерируемый им программный код является очень общим, полностью самодостаточным и не содержит вызовов библиотек или сложных конструкций. Он даже не содержит циклов, и потому может быть легко переложен почти на любой язык (хотя отсутствие циклов делает его непригодным для больших сетей).

Для работы с электронными таблицами лучше всего воспользоваться вызовом функции Predict из Excel, но если захотите использовать формулы, созданные Генератором программного кода, это окажется особенно удобным, так как программный код не содержит циклов.

Генератор программного кода может генерировать код на Си, Microsoft Visual Basic или на языке очень общего вида, который мы называем "формулы для калькулятора". Код генерируется в форме подпрограммы с названием Fire_имя, которая, как и ее аналог в DLL, FireNet, имеет два аргумента: адрес (указатель) на массив с плавающей запятой, содержащий входные значения, и адрес массива с плавающей запятой для выходных значений. При вызове процедуры Fire_имя Вы передаете ей оба адреса, но только входной массив должен содержать данные - значения входов. После возврата из Fire_имя в выходной массив оказываются записаны значения выходов.

Fire_имя автоматически изменяет масштаб входных и выходных переменных, поэтому они передаются в том же виде, в каком предъявили бы их NeuroShell 2. Кроме того, Вы должны предъявлять их в том же порядке, в каком они находились в столбцах тренировочного файла. Однако если в этом файле между входными столбцами попадались неиспользуемые или выходные столбцы, то последние необходимо игнорировать. Если у сети 14 входов, то массив, передаваемый в Fire_имя, должен иметь 14 ячеек.

Ответы, возвращаемые подпрограммой Fire_имя, должны быть очень близки к ответам, получаемым от NeuroShell 2, хотя они могут слегка различаться после 4-й или 5-й значащей цифры. Это происходит из-за отличий в точности, компиляторах и т.д.

Как пользоваться Генератором программного кода

1. На главном экране NeuroShell 2 выберите Средства автономного использования.

2. Выберите Генератор программного кода. На экране появятся каталог и имя файла конфигурации (.FIG) для текущей задачи, а также имя файла, в который будет записан код программы после его создания. Для изменения имен файлов воспользуйтесь меню Файл, пунктами Выбор файла конфигурации или Выбор файла кода.

3. Щелкните мышью по кнопке переключателя, расположенной возле желаемого типа кода:

Программный код на языке Си (генерируется файл с расширением.C)

Программный код на языке Visual Basic (генерируется файл с расширением.VB)

Формулы для калькулятора (генерируется файл с расширением.FLA)

4. Для создания программного кода воспользуйтесь пунктом Начать генерацию программного кода в меню Работа.

 

Разбиение программного кода для больших сетей

Если в Вашей сети большое количество скрытых нейронов, Ваш компилятор может отказаться компилировать большой файл, созданный Генератором программного кода. Вы можете попробовать разбить код на несколько частей, каждая из которых будет содержать свою процедуру, скомпилировать их независимо и скомпоновать их вместе в единую программу. Затем скомпилируйте первичную процедуру, которая будет поочередно вызывать каждую из полученных после разбиения процедур.







Дата добавления: 2015-10-19; просмотров: 782. Нарушение авторских прав; Мы поможем в написании вашей работы!




Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Примеры задач для самостоятельного решения. 1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P   1.Спрос и предложение на обеды в студенческой столовой описываются уравнениями: QD = 2400 – 100P; QS = 1000 + 250P...

Дизартрии у детей Выделение клинических форм дизартрии у детей является в большой степени условным, так как у них крайне редко бывают локальные поражения мозга, с которыми связаны четко определенные синдромы двигательных нарушений...

Педагогическая структура процесса социализации Характеризуя социализацию как педагогический процессе, следует рассмотреть ее основные компоненты: цель, содержание, средства, функции субъекта и объекта...

Гидравлический расчёт трубопроводов Пример 3.4. Вентиляционная труба d=0,1м (100 мм) имеет длину l=100 м. Определить давление, которое должен развивать вентилятор, если расход воздуха, подаваемый по трубе, . Давление на выходе . Местных сопротивлений по пути не имеется. Температура...

Огоньки» в основной период В основной период смены могут проводиться три вида «огоньков»: «огонек-анализ», тематический «огонек» и «конфликтный» огонек...

Упражнение Джеффа. Это список вопросов или утверждений, отвечая на которые участник может раскрыть свой внутренний мир перед другими участниками и узнать о других участниках больше...

Studopedia.info - Студопедия - 2014-2025 год . (0.011 сек.) русская версия | украинская версия