gensim

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

Синтаксис

gensim(net,st)

Как получить помощь

Тип help network/gensim.

Описание

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

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