![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Legolas |
![]()
Сообщение
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 38 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вот пытаюсь реализовать обучение нейронной сети сложению чисел на Паскале. Т.е. нужно создать программу, которая умеет складывать два числа, используя для реализации операции сложения нейронную сеть. Предварительно нужно обучить нейронную сеть.
Всем кто знает, как это сделать буду благодарен. ![]() |
![]() ![]() |
Legolas |
![]()
Сообщение
#2
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 38 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вот пример: Пример моделирования
Я делаю вот такую задачу: А теперь рассмотрим простой пример, показывающий использование нейросети в прикладной программе. Предположим, что мы создаем программу, которая умеет складывать два числа, используя для реализации операции сложения нейронную сеть. Используем среду Delphi 4, для которой и разрабатывался данный модуль. Предварительно обучим нейросеть с использованием Neural Network Wizard, используя для обучения следующий файл: s1 s2 res 0 0 0 1 1 2 2 2 4 3 3 6 4 4 8 5 5 10 6 6 12 7 7 14 8 8 16 9 9 18 10 10 20 файл sum.txt Результаты обучения сохраним в файле sum.nnw В результате в этом файле хранятся коэффициенты передач обученной нейросети, которая может использоваться для сложения чисел с интервале [0,10] Затем приступим к разработке приложения: На форме надо разместить два компонента TEdit, компонент TButton и TLabel (см ниже) Установим обработчики сообщений на создание формы (Form1.OnCreate) и на нажатие кнопки (Button1.OnClick). Исходный текст модуля примет вид: Код unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, WizardNN, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Button1: TButton; Label1: TLabel; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } NeuralNetwork : TWizardNeuralNetwork; end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.FormCreate(Sender: TObject); begin NeuralNetwork := TWizardNeuralNetwork.Create; // создаем нейросеть NeuralNetwork.LoadFromWizardFile(ExtractFilePath(paramstr(0))+'sum.nnw'); // читаем параметры НС из файла end; procedure TForm1.Button1Click(Sender: TObject); begin with NeuralNetwork do begin InputValues['s1'] := StrToFloat(Edit1.Text); // устанавливаем входы НС InputValues['s2'] := StrToFloat(Edit2.Text); // Compute; // рассчитываем с использование НС Label1.Caption := FloatToStr(OutputValues['res']); // выводим результат расчета end; end; end. Только вместо Дельфи задачу надо решить на Паскале ![]() Вот ссылка, откуда взят пример: Proga Надеясь, может уже кто-нибудь решал подобное ![]() |
![]() ![]() |
![]() |
Текстовая версия | 22.06.2025 1:34 |