项目简介
本项目聚焦于训练一个浅层神经网络,借助反向传播算法和Adam优化器,实现对两个随机生成的四位整数加法结果的预测。项目不借助深度学习框架,而是运用Python的numpy和CuPy库开展底层计算,通过CuPy实现GPU加速。
项目的主要特性和功能
- 数据生成与预处理:自动生成随机四位数组合,并进行预处理以契合神经网络模型需求。
- 自定义神经网络模型:构建含单个隐藏层的浅层神经网络,支持自定义隐藏层神经元数量、学习率等参数。
- 模型训练:采用反向传播算法调整权重,利用Adam优化器优化参数,并记录训练关键信息。
- 性能评估:以均方误差为损失函数,通过验证集评估模型性能。
- 结果可视化:生成学习曲线、误差直方图以及实际值与预测值对比图,直观呈现模型性能。
- 日志记录:详细记录训练日志,涵盖每次迭代损失、最佳模型参数等信息。
安装使用步骤
步骤一:安装依赖项
- 安装Python 3.x:确保系统已安装Python 3.x。
- 安装CuPy:
- 检查CUDA版本:
bash nvcc --version
或bash nvidia-smi
- 根据CUDA版本安装CuPy:
bash pip install cupy-cuda12x # 根据实际CUDA版本选择合适的cupy版本
- 安装其他依赖库:
bash pip install numpy pandas matplotlib scikit-learn tqdm
步骤二:运行项目
- 生成和加载数据:数据生成和加载在
train.py
脚本中处理,数据集会自动从dataset.csv
加载(若存在),否则新生成并保存到文件。 - 初始化和训练模型:在
train.py
中初始化神经网络模型,使用train
方法训练。 - 评估模型:用
train.py
中的评估函数评估模型性能,生成可视化图。 - 结果可视化:生成的可视化图会保存在项目目录中。
步骤三:查看训练日志
训练详细日志保存在log.txt
文件,包含每轮训练的训练和验证损失及提前停止事件等信息。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】