请更新您的浏览器。 为了获得最佳的 Liquid Instruments 使用体验,请将 Chrome、Edge、Firefox 或 Safari 更新到最新版本。 更新 Microsoft Edge.
液体仪器标志
产品
硬件平台
Moku:Delta
Moku:Delta
全新发布
用于高级设计和验证
Moku:Pro
Moku:Pro用于多种测试和测量
Moku:Lab
Moku:Lab用于实验研究实验室
Moku:Go
Moku:Go用于快速测试和调试
比较硬件
比较硬件横向比较所有 Moku 硬件
技术
GenInst Studio
全新发布
生成个性化工具
仪器功能高度集成触手可及的专业仪器设备
神经网络集成了 基于 FPGA 的神经网络仪器
多仪器并行模式组合仪器功能以创建自定义测试系统
Moku Compile编码、编译和部署到 Moku 的 FPGA 上
软件
MokuOS下载适用于 Windows、macOS、iPadOS 和 VisionOS 的 Moku 应用
APIsPython、MATLAB、LabVIEW
实用工具用于文件转换的命令行和图形工具
仪器功能
信号分析
示波器
频谱分析仪
频率响应分析仪
锁相放大器
相位表
逻辑分析仪/码型发生器
时间间隔与频率分析仪
数据记录器
信号生成
波形发生器
任意波形发生器
信号控制与调理
PID 控制器
数字滤波器
FIR 滤波器生成器
激光锁频/稳频器
自定义与其他功能
GenInst Studio
全新发布
高速信号采集记录回放仪(Gigabit Streamer)
自定义仪器
神经网络
多仪器并行模式
应用
光学与光子学
显微镜和光谱学
光子计数
量子光学
航空航天和国防
A&D仪器
器件测试
自动化测试
半导体测试
控制系统和伯德图分析
MEMS 系统测试
AI 和机器学习
生成式仪器
全新发布
神经网络
教育服务提供商
教育与研究
相关资源
应用笔记
博客
客户案例
相关课程
指南
产品文档
资讯观点
网络研讨会
白皮书
支持
关于我们
联系我们
关于我们
领导团队
合作伙伴
公司动态
媒体中心
活动日程表
加入我们
商店
Moku:Delta
Moku:Pro
Moku:Go
升级您的 Moku:Pro
升级您的 Moku:Lab
升级您的 Moku:Go
0
获取报价 立即购买
博客

创建神经网络

了解如何使用 Moku 神经网络创建一个简单的网络,从下载必备软件到在 Moku:Pro 上进行测试

2024 年 10 月 21 日

    为了创建神经网络,此分步示例使用 总和.ipynb,其中预期输出只是输入的总和,并且仅使用一个隐藏层。虽然这个简单的操作可以通过多种方式完成,但训练 Moku 神经网络 实现几乎任何函数,从简单的代数到复杂的推理。查找其他示例 开始 并下载神经网络指南 开始.

    一般先决条件

    要开始使用 Moku 神经网络,您需要满足以下条件:

    • A Moku:Pro 设备(目前不支持 Moku:Lab 和 Moku:Go)
    • Moku 3.3版本,可在 Windows 或 macOS 上下载
    • Python 安装 (v3.11);请参阅我们的 Moku Python 安装指南 了解详情。您还可以安装导航器,例如 蟒蛇。您的 Python 安装必须是 v3.11 或更高版本。如果您不确定您使用的是哪个版本,请在命令提示符或终端中使用 Python –version 或 python3 –version 检查您的 Python 版本。

    Python 先决条件

    在您的计算机上安装 Python 后,请在计算机的命令行或终端窗口中运行以下命令来安装 Moku 神经网络 API。这将安装 API 并引入所有必需的依赖项:

    pip install 'moku[neuralnetwork]'

    这将安装以下组件: 

    • Moku神经网络API
    • 麻木 1.26.4
    • Ipykernel 6.29.5
    • Matplotlib 3.9.2
    • 特勤局 4.66.5
    • TensorFlow 2.16.2
    • SciPy(本例需要,但一般不需要) 

     

    如果你经常使用 Python,那么这些软件包中的大多数可能都已安装。要验证,请打开命令提示符或终端并输入 pip 安装 X,在 Moku:Pro 上 X 是要安装的包的名称。如果包已安装,该命令将返回如下消息: 

    (base) jessicapatterson@Jessicas-MacBook-Pro ~ % pip install numpy
    Requirement already satisfied: numpy in /opt/anaconda3/lib/python3.12/site-packages (1.26.4)


    安装 tensorflow 的步骤可能因您是否要使用 GPU 进行计算而异。有关如何安装的详细说明,请参阅 Tensorflow 的 文档,特别是如果您预计要使用 GPU。现在,只需使用 pip install tensorflow 即可确认已安装。

    (base) jessicapatterson@Jessicas-MacBook-Pro ~ % pip install tensorflow

    安装后,尝试调用 Tensorflow 并创建张量,使用以下命令:

    (base) jessicapatterson@Jessicas-MacBook-Pro ~ % python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"

    如果此命令执行时没有错误,则安装已完成,您可以继续下一步。如果它返回错误“TensorFlow 库已编译为使用 AVX 指令,但这些指令在您的计算机上不可用”,则您的计算机很遗憾无法运行 Tensorflow。请参阅其文档以了解此问题的解决方案。

    (base) jessicapatterson@Jessicas-MacBook-Pro ~ % python -c "import tensorflow as tf; print(tf.reduce_sum(tf.random.normal([1000, 1000])))"
    tf.Tensor(258.68292, shape=(), dtype=float32)

    训练一个简单的神经网络

    对于我们的第一个神经网络,我们将训练一个模型来生成输入通道的加权和,并带有可选的偏差/偏移项。权重和偏差将通过用 Python 创建的人工训练数据来确定。然后,我们可以将参数加载到 Moku 神经网络工具上,并使用 摩库示波器 及其内置的波形生成器。此示例将使用 Jupyter 笔记本轻松、交互式地执行 Python 代码。但是,从您最喜欢的 IDE 编写和执行的简单 Python 脚本也足够了。

    首先从 Anaconda 窗口启动 Jupyter,然后上传并打开 sum.ipynb Python 笔记本。

    步骤 1:导入和函数定义

    首先运行第一个代码块(图 1),它将导入所有必要的依赖项,并调用神经网络 API。如果第一个代码块执行时没有错误,则所有部分都已到位,我们可以继续下一步。如果返回错误,请检查上面的部分以确保已安装所有先决条件。

    图 1:sum.ipynb 所需的导入

    接下来,如图 2 所示,生成训练信号。我们需要三个输入通道和一个模拟数据输出通道。您还可以使用 Moku:Pro 生成或捕获真实世界的训练数据。通过将我们生成的输入信号与所需的总和输出一起绘制来验证您的训练数据(图 3)。

    图 2:生成模拟训练数据。

    图 3:用于训练模型的模拟训练输入和期望输出。

    接下来,我们必须准备用于训练模型的数据。我们首先将输入重塑为形式为 ( 的矩阵) 的矩阵。N,3)并形成输出(N,1) 然后将它们发送到模型。此代码如图 4 所示。

    图 4:转置数据以进行训练。

    在此示例中,我们现有的数据足以进行训练,但您可以选择生成其他训练数据或缩放输入和输出。如果您选择应用缩放,则需要在运行时在 Moku 神经网络中应用相同的缩放。

    第 2 步:定义模型

    现在我们可以构建神经网络模型了。我们首先创建一个名为“linn_model”的对象,它代表 Moku 神经网络仪器的配置和约束。一旦我们在图 5 中实例化了模型对象,我们就可以将之前生成的训练数据传递到模型中。

    图5:实例化模型。

    然后,我们通过创建一个数组来定义模型,数组中的每个元素对应于神经网络的一层。这些元素是元组,它们给出了该层的神经元数量和激活函数。例如,(16, 'relu') 表示具有 ReLU 激活函数的 16 个神经元层。除了输入层和输出层之外,每层的神经元数量和激活函数由用户决定。虽然 sum.ipynb 模型使用单个神经元(图 7),但您可以随意注释掉该模型定义并尝试一些其他选项。每层可以有不同的激活函数和神经元数量。

     

    图6:构建模型定义。

    执行此单元格将填充模型定义,如图 7 所示。

    图 7:sum.ipynb 模型定义。

    创建自己的模型时,最多可以包含 100 个密集层(也称为隐藏层),每个层最多包含 XNUMX 个神经元。为每层选择 ReLU、tanh、softsign、线性和 S 型激活函数。层输出在移动到下一层之前会通过此激活函数。如果没有这些,神经网络操作将完全是线性的,并会缩减为单个操作。

    步骤 3:训练模型并查看反馈

    现在我们已经定义了模型,我们需要训练它,以便它能够代表我们想要的映射。这就像使用几个基本参数调用 fit_model() 函数一样简单。我们将允许我们的模型训练 500 个时期(训练步骤),并将上面的 10% 的训练数据留作验证。我们还设置了一个早期停止配置,以便在损失函数稳定时停止训练。这种方法有助于避免“过度拟合”,即模型变得非常擅长预测训练数据,但代价是通用性。它还有加快完成时间的好处。

    训练周期

    图8:训练模型。

    训练完成后,绘制训练损失和验证损失以评估训练的成功性。请注意,图 9 中的损失随着训练的进行而减少,这是预期的。

     

    图 9:绘制训练损失和验证损失。

    您可以选择通过绘制已经训练好的预测输出来验证您的模型,如图 10 所示。请注意第二张图的比例,显示预测输出和期望输出之间的差异非常小。

    图 10:绘制模型的期望输出和预测输出。

    步骤4:保存参数

    现在我们已经拥有一个经过全面训练的模型,可以在 Moku 上运行了。将模型保存为 .linn 文件,以便在 Moku 神经网络中使用(图 11)。

    图11:将网络模型保存为与Moku神经网络兼容的.linn的函数。

    使用 Moku 部署并验证模型

    In 多仪器并行模式 在 Moku:Pro(图 12)上,将 Moku 神经网络放置在插槽 1 中,将示波器放置在插槽 2 中。接下来,将示波器的输出连接到神经网络的输入。然后单击“应用更改”并等待 FPGA 配置。

    图 12:Moku:Pro 上的多仪器模式配置。

    现在,打开神经网络菜单并使用位于图表下方的“加载网络配置”按钮上传由 Python 脚本生成的 sum.linn 文件,如图 13 所示。您应该看到一个具有三个输入、一个输出和一个线性激活函数的层,正如预期的那样。

    神经网络、单个神经元和层

    图 13:加载了 sum.linn 的 Moku 神经网络。

    进入示波器,点击右下角的正弦波图标打开内置的波形发生器。生成两个信号来测试模型的功能,如图 14 所示。在本例中,我们将使用两个正弦波:一个幅度为 1 Vpp,频率为 1 kHz;另一个幅度为 500 mVpp,频率为 100 Hz。

    图 13:嵌入式波形发生器示例设置。

    您应该看到示波器的 A 通道上出现了相加的信号。使用鼠标缩放示波器视图以查看信号。两个正弦波相加后应该类似于图 15 中的信号。

    图 15:Moku 神经网络的输出。

    使用光标和内置测量功能验证网络的运行情况(如图 16 所示),测试预期的幅度和频率分量,或者使用 Moku 频谱分析仪. 可以使用附加信号类型、频率或其他参数随意测试网络。

    图16:验证Moku神经网络输出。

    结语

    在这里,您可以修改提供的示例脚本或编写自己的脚本,以创建独特、强大的机器学习模型,并与任何其他 Moku 仪器集成。实时运行控制系统、预测实验输出等,所有这些都通过唯一基于 FPGA 的神经网络与一套可重构的高性能测试和测量仪器集成在一起。

    需要视频教程? 点播观看我们的网络研讨会.您将学习如何实现基于 FPGA 的神经网络,以实现快速、灵活的信号分析、闭环反馈等。

    了解有关 Moku 神经网络的更多信息

    查看其余提供的示例,查看规范,并继续了解 Moku 神经网络。有问题?联系我们 开始.

    加入我们的用户论坛来与我们保持联系

    想获取全新的功能?有技术关键点可以分享?从客户案例到新功能公告等等,用户论坛是您一站式的门户网站,作为产品更新通知以及与 Liquid Instruments 和我们的全球用户建立联系。

    在演示模式下试用 Moku 下载 Moku 应用 → 获取常见问题的答案 访问知识库 → 与全球的 Moku 用户建立联系 加入用户论坛 →

    其他推荐博客文章

    博客
    什么是生成式乐器演奏?

    这项人工智能技术可用于创建定制化测试解决方案,包括专业测量、实时信号处理和控制功能。

    日期: 2026 年 7 月 14 日

    博客
    基于FPGA的测试与测量定制的5大优势

    具有用户可编程 FPGA 的仪器如何取代成排的测试设备,这对您的实验室意味着什么。

    特点: 自定义仪器

    日期: 2026 年 5 月 22 日

    博客
    MokuOS 4.2 带来更快、更强大的实时自定义功能

    MokuOS 4.2 通过便捷的软件更新,即可在 Moku:Delta 上解锁更高的带宽、更快的实时处理速度和更多的仪器功能。

    日期: 2026 年 3 月 19 日

    返回所有博客

    站内导航

    • 产品
    • 仪器功能
    • 相关资源
    • 支持
    • 关于我们
    • 联系我们
    • 隐私政策
    • 使用条款

    办公室

    美国
    (619) 332-6230
    12526 High Bluff Dr.
    Suite 150
    San Diego, CA 92130

    澳大利亚
    +61 2 6171 9730
    243 Northbourne Avenue
    Suite 1, Level 1
    Lyneham, ACT 2602

    澳大利亚
    +61 3 7073 3594
    5C套房,5楼
    斯旺斯顿街700号
    维多利亚州卡尔顿 – 3058

     

     

    关注我们

    LinkedIn YouTube X Facebook Instagram

    官方微信

    © 2026 Liquid Instruments. 版权所有