项目简介
本项目是基于TensorFlow和AIfES框架构建的嵌入式AI逻辑门预测系统,借助STM32L4xx微控制器实现AND、OR、NOR、XOR、XNOR等逻辑门的预测功能。该项目结合了TensorFlow的神经网络训练能力与AIfES在嵌入式设备上的推理能力,可在资源受限的微控制器上高效运行神经网络模型。同时,项目提供了完整的开发环境配置、神经网络训练与转换工具,以及微控制器上的应用代码。
项目的主要特性和功能
- 逻辑门预测:利用训练好的神经网络模型,预测多种逻辑门的输出。
- TensorFlow训练:使用TensorFlow 2.10训练神经网络模型,并能将其转换为适合AIfES的格式。
- AIfES推理:在STM32L4xx微控制器上运行AIfES框架进行神经网络推理。
- 多平台支持:可在STM32L4xx微控制器上运行,也能通过Qt Creator项目在PC上模拟运行。
- 硬件接口:支持使用ES - PCB for Nucleo L476RG扩展板,提供GPIO、UART、I2C等硬件接口控制功能。
- 模型评估:通过命令行接口输出模型预测结果,方便调试和验证。
安装使用步骤
1. 获取源代码
复制项目仓库并初始化子模块(此处原文档未给出具体命令)。
2. 配置AIfES
将AIfES的配置文件复制到指定目录:
bash
cp aifes-gates-cube-project/AIfES-models/AIfES_for_Arduino/etc/aifes_configurations/pc/aifes_config.c aifes-gates-cube-project/AIfES-models/AIfES_for_Arduino/src/
cp aifes-gates-cube-project/AIfES-models/AIfES_for_Arduino/etc/aifes_configurations/pc/aifes_config.h aifes-gates-cube-project/AIfES-models/AIfES_for_Arduino/src/
删除原有的配置文件:
bash
rm aifes-gates-cube-project/AIfES-models/AIfES_for_Arduino/src/aifes_config.cpp
3. 在STM32CubeIDE中打开项目
将项目文件夹作为工作区导入STM32CubeIDE,并打开aifes-gates-cube-project
。
4. 在Qt Creator中打开项目
打开aifes-gates-cube-project/AIfES-models/AIfES-models.pro
文件,配置并运行项目以在PC上模拟逻辑门预测功能。
5. 运行程序
在STM32L4xx微控制器上运行程序后,命令行输出将显示逻辑门的预测结果,例如:
test_and_gate_f32
|[0.0, 0.0]|[0]| -> 0.000019 -> Pass
|[0.0, 1.0]|[0]| -> 0.017244 -> Pass
|[1.0, 0.0]|[0]| -> 0.018041 -> Pass
|[1.0, 1.0]|[1]| -> 0.965991 -> Pass
通过以上步骤,即可在STM32L4xx微控制器上成功运行AI逻辑门预测系统并验证其功能。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】