gensim

Сгенерируйте блок Simulink для мелкой симуляции нейронной сети

Синтаксис

Описание

пример

gensim(net,st) создает Simulink® система, содержащая блок, который симулирует нейронную сеть net со временем выборки st.

Если net не имеет никакого входа или задержек слоя (net.numInputDelays и net.numLayerDelays оба 0), можно использовать –1 для st чтобы получить сеть, это производит постоянно.

gensim не поддерживает нейронные сети для глубокого обучения такой как сверточные или сети LSTM. Для получения дополнительной информации о генерации кода для глубокого обучения смотрите Генерацию кода Глубокого обучения.

Для получения дополнительной информации о gensim, в командной строке MATLAB введите help network/gensim.

Примеры

свернуть все

В этом примере показано, как сгенерировать блок Simulink для сети прямого распространения.

Создайте сеть прямого распространения с помощью данных из простого подходящего набора данных и сгенерируйте блок Simulink.

[x,t] = simplefit_dataset;
net = feedforwardnet(10);
net = train(net,x,t)
gensim(net)

В этом примере показано, как сгенерировать блок Simulink для сети NARX.

Создайте сеть NARX.

[x,t] = simplenarx_dataset;
net = narxnet(1:2,1:2,20);
view(net)
[xs,xi,ai,ts] = preparets(net,x,{},t);
net = train(net,xs,ts,xi,ai);
y = net(xs,xi,ai);

Преобразуйте сеть в замкнутый цикл.

net = closeloop(net);
view(net)

Подготовьте данные и симулируйте ответ замкнутого цикла сети.

[xs,xi,ai,ts] = preparets(net,x,{},t);
y = net(xs,xi,ai);

Преобразуйте сеть в систему Simulink с портами ввода и вывода рабочей области.

[sysName,netName] = gensim(net,'InputMode','Workspace',...
	'OutputMode','WorkSpace','SolverMode','Discrete');

Инициализируйте состояния задержки. Обратите внимание на то, что это - важный шаг, чтобы получить тот же выход как в MATLAB®.

setsiminit(sysName,netName,net,xi,ai,1);

Задайте вход X1 модели в рабочей области симулируйте систему программно.

x1 = nndata2sim(xs,1,1);
out = sim(sysName,'ReturnWorkspaceOutputs','on','StopTime',num2str(x1.time(end)));
ysim = sim2nndata(out.y1);

Входные параметры

свернуть все

Введите сеть в виде сетевого объекта. Чтобы создать сетевой объект, используйте, например, feedforwardnet или narxnet.

Задайте шаг расчета как значение кроме-1. Для получения дополнительной информации см. Настройку времени выборки (Simulink).

Смотрите также

Представлено до R2006a