BP网络实验

George

25-04-24

25-04-23

| 浏览量:👀  |  返回 <实验课>

1、任务描述

任务1:构建BP网络拟合正弦样本数据

任务2:构建BP网络预测药品销量

1月到12月的药品销量数据如下:
2056, 2395, 2600, 2298, 1634, 1600, 1873, 1478, 1900, 1500, 2046, 1556

任务3:构建BP网络预测公路客运量和货运量

1990年到2009年公路客运量数据(万人)如下:(共 20 个数据)
5126, 6217, 7730, 9145, 10460, 11387, 12353, 15750, 18304, 19836, 21024, 19490, 20433, 22598, 25107, 33442, 36836, 40548, 42927, 43462

1990年到2009年公路货运量数据(万吨)如下:(共 20 个数据)
1237, 1379, 1385, 1399, 1663, 1714, 1834, 4322, 8132, 8936, 11099, 11203, 10524, 11115, 13320, 16762, 18673, 20724, 20803, 21804

任务4:针对任务1、2、3,不同隐含层对结果影响(采用均方根误差进行分析)

任务5:针对任务1、2、3,不同个数神经元对结果影响(采用均方根误差进行分析)

2、操作参考

以下以 Python + PyTorch + 拟合正弦样本数据 为例,供实验操作参考。

2.1 AI辅助生成基本样例程序

使用 DeepSeek,或者文心一言,或者其他,获取基本样例程序。并从 DeepSeek 生成结果中下载样例程序,保存到本地 PC 机。 get-example

2.2 在开发板上运行样例程序

上传样例程序到开发板

在本地 PC 机命令行窗口(比如 powershell)执行以下命令,复制样例程序到开发板的指定目录中。
scp .\deepseek_python_20250423.py root@192.168.137.100:/root/stt/ai

scp
-- 远程复制文件的命令

deepseek_python_20250423.py
-- DeepSeek 生成的样例程序。请替换为 PC 本机保存的文件名。

root@192.168.137.100:/root/stt/ai
-- 以 root 用户身份,复制文件到 192.168.137.100(开发板的 IP 地址) 的 /root/stt/ai 目录。请替换为开发板上的期望的目标目录名。

在提示 root@192.168.137.100's password: 后面,输入 root 用户的密码 Mind@123,输入完成后按回车键。如果密码输入有误,会提示再次输入密码。输入密码时,屏幕不会有显示,这是正常的。

在开发板上运行样例程序

以 root 用户登录开发板。
cd 命令切换到样例程序所在目录,执行以下命令运行样例程序:
(base) root@davinci-mini:~/stt/ai# python3 deepseek_python_20250423.py

(base) root@davinci-mini:~/stt/ai#
-- 样例程序所在目录。目录不同,显示不同。

python3
-- Python 解释器。

deepseek_python_20250423.py
-- DeepSeek 生成的样例程序。请替换为 PC 本机保存的文件名。

执行后稍等几秒,屏幕会显示如下信息,表明正在拟合。

Matplotlib is building the font cache; this may take a moment.
Epoch [10/1000], Loss: 0.042354
Epoch [20/1000], Loss: 0.008468
Epoch [30/1000], Loss: 0.002331
Epoch [40/1000], Loss: 0.000462
Epoch [50/1000], Loss: 0.000165
Epoch [60/1000], Loss: 0.000075
Epoch [70/1000], Loss: 0.000066

查看运行结果

在本地 PC 机命令行窗口(比如 powershell)执行以下命令,从开发板的指定目录中复制运行结果(保存在图片)到本地 PC 机。
scp root@192.168.137.100:/root/stt/ai/sine_wave_fitting.png .(最后有个点,表示复制到本地 PC 机的当前目录中。如要复制到其他目录中,请替换为本地 PC 机的目录名。)
scp 从开发板上复制文件到本地 PC,和从本地 PC 机复制文件到开发板,非常类似,此处对命令不重复解释了。

用图片工具查看结果,如下所示:
run-example

2.3 其他建议

建议整个屏幕3分屏。左边:VSCode修改代码;右上: powershell命令行窗口,以 root 用户登录开发板;右下: powershell命令窗口,在本地 PC 机。 run-example

比如,将样例程序的训练 1000 次,改成 100 次。然后在右下窗口,scp 新代码到开发板。在右上窗口(开发板上),执行新代码。再到右下窗口,将执行结果(图片)scp 复制到本地 PC 机。相对比较方便、高效的。