gensim

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

Синтаксис

gensim(net,st)

Получить справку

Введите help network/gensim.

Описание

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

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

gensim(net,st) берет эти входные параметры:

net

Нейронная сеть

st

Шаг расчета (значение по умолчанию = 1)

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

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

Примеры

Сгенерируйте блок 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);
Представлено до R2006a