exponenta event banner

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 чтобы получить сеть, которая осуществляет непрерывную выборку.

Примеры

Создание блока симулятора для сети прямой связи

[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