总爱惹祸 2023-04-04 21:55 采纳率: 0%
浏览 62
已结题

gensim生成的simulink模块怎么使用啊!输入怎么定义?实际仿真可以用吗

img


需要用BP神经网络训练完的模型放到完整模型中,怎么解决输入问题,需要怎么定义输入的类型,是否需要归一化?

  • 写回答

5条回答 默认 最新

  • 小逸2023 2023-04-04 22:10
    关注
    该回答引用ChatGPT
    根据您的问题描述,我了解到您将gensim生成的BP神经网络模型集成到Simulink模型中,并需要解决输入问题,包括输入类型定义、归一化等。

    首先,关于输入类型定义,根据您提供的问题截图,您需要定义一个大小为1x43的向量作为神经网络模型的输入。在Simulink模型中,您可以使用“From Workspace”模块来定义输入向量。具体操作为:在模型中添加“From Workspace”模块,设置如下参数:

    Variable name: 定义输入向量名称(例如:input)

    Data type: double

    Sample time: 0

    Dimensions: [1 43]

    一旦您完成了输入向量的定义并将其传递给神经网络模块,您可以使用Simulink中的不同方法来生成输入信号。例如使用“Sine Wave”(正弦波)或“Random Number”(随机数)等信号生成器。

    其次,关于归一化问题,根据您的描述,您需要归一化输入向量。 在gensim中,归一化可以通过使用“normalize”函数来实现。建议在训练BP神经网络模型时进行归一化,如果您在生成模型时已经归一化,那么您可以使用同样的方法在Simulink模型中对输入向量进行归一化。具体操作为:在模型中添加“Normalize”模块,将其输入连接到“From Workspace”模块的输出,并设置相应的参数。

    接下来,您需要将BP神经网络模型集成到完整的Simulink模型中。请按如下步骤在模型中添加BP神经网络模块:

    1. 将“Neural Network”模块从Simulink库中拖到适当的位置(例如:输入信号后)

    2. 双击“Neural Network”模块以打开其参数设置

    3. 将“Network type”设置为“Custom”并导入gensim生成的BP神经网络模型权重(例如:xxx.h5文件)

    4. 将“Inputs”设置为1,将“Outputs”设置为1,并设置相应的大小

    5. 在“Ports & Signal”选项卡中,将输入端口连接到“From Workspace”模块的输出,将输出端口连接到适当的分析/可视化模块

    最后,您可以执行Simulink模型,对BP神经网络进行仿真,并对其效果进行分析。以下是一个示例模型,您可以参考其中的设置方法:



    % 读入BP神经网络模型权重
    load('model_weights.mat');

    % 创建向量输入信号
    input_signal = rand(1, 43) * 2 - 1;

    % 归一化输入信号
    input_signal = normalize(input_signal);

    % 定义输入向量
    in = Simulink.Parameter;
    in.Value = input_signal;
    in.DataType = 'double';
    in.SampleTime = 0;

    % 在模型中定义输入信号
    in_port = find_system(mdl, 'BlockType', 'Inport');
    set_param(in_port{1}, 'PortDimensions', '[1 43]');
    set_param(in_port{1}, 'CompiledPortDimensions', '[1 43]');

    % 在模型中定义BP神经网络模块
    nn = find_system(mdl, 'Name', 'Neural Network');
    set_param(nn{1}, 'net', net);
    set_param(nn{1}, 'NetType', 'c', 'OutputSizes', '1');
    评论

报告相同问题?

问题事件

  • 系统已结题 4月12日
  • 创建了问题 4月4日

悬赏问题

  • ¥20 Keil uVision5创建project没反应
  • ¥15 mmseqs内存报错
  • ¥15 vika文档如何与obsidian同步
  • ¥15 华为手机相册里面的照片能够替换成自己想要的照片吗?
  • ¥15 陆空双模式无人机飞控设置
  • ¥15 sentaurus lithography
  • ¥100 求抖音ck号 或者提ck教程
  • ¥15 关于#linux#的问题:子进程1等待子进程A、B退出后退出(语言-c语言)
  • ¥20 web页面如何打开Outlook 365的全球离线通讯簿功能
  • ¥15 io.jsonwebtoken.security.Keys