# alexnet **Repository Path**: sakura_lyh/alexnet ## Basic Information - **Project Name**: alexnet - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-15 - **Last Updated**: 2025-07-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: task ## README # AlexNet 模型 MNIST 数字识别 本项目使用 AlexNet 卷积神经网络模型对 MNIST 手写数字数据集进行分类,并提供了全面的测试和评估指标。 ## 目录 - [项目概述](#项目概述) - [模型结构](#模型结构) - [测试指标](#测试指标) - [参数说明](#参数说明) - [使用方法](#使用方法) ## 项目概述 本项目实现了 AlexNet 卷积神经网络模型,并针对 MNIST 手写数字数据集进行了训练和测试。MNIST 数据集包含 0-9 共十个类别的手写数字图像,每张图像为 28x28 像素的灰度图。项目展示了模型的预测结果、各种性能指标以及可视化分析。 ## 模型结构 AlexNet 是由 Alex Krizhevsky 等人在 2012 年提出的经典卷积神经网络,本项目中对 AlexNet 结构进行了适应性修改,使其适合处理 MNIST 数据集。 ### 主要结构 1. **特征提取部分**(卷积层、池化层、激活函数): - 第一层:卷积层 (1→64 通道, 11x11 卷积核, 步长 4),ReLU 激活,最大池化 (3x3, 步长 2) - 第二层:卷积层 (64→192 通道, 5x5 卷积核),ReLU 激活,最大池化 (3x3, 步长 2) - 第三层:卷积层 (192→384 通道, 3x3 卷积核),ReLU 激活 - 第四层:卷积层 (384→256 通道, 3x3 卷积核),ReLU 激活 - 第五层:卷积层 (256→256 通道, 3x3 卷积核),ReLU 激活,最大池化 (3x3, 步长 2) 2. **分类器部分**(全连接层): - 第一个全连接层:256 * 6 * 6 → 4096,ReLU 激活,Dropout - 第二个全连接层:4096 → 4096,ReLU 激活,Dropout - 输出层:4096 → 10(MNIST 的 10 个类别) ## 测试指标 测试脚本 `test.py` 提供了以下评估指标和可视化功能: ### 性能指标 1. **准确率 (Accuracy)**:正确预测的样本比例 2. **精确率 (Precision)**:针对每个类别,正确预测为该类的样本占所有预测为该类样本的比例 3. **召回率 (Recall)**:针对每个类别,正确预测为该类的样本占所有真实为该类样本的比例 4. **F1 分数**:精确率和召回率的调和平均值 ### 可视化分析 1. **样例预测展示**:显示数据集中的样例及其预测结果 2. **混淆矩阵**:展示各类别之间的混淆情况,帮助分析模型的误分类模式 3. **错误分类样例**:展示被模型错误分类的样本,有助于理解模型的局限性 ### 模型统计 1. **参数统计**:显示模型的总参数数量、可训练参数数量,以及各层的参数分布 ## 参数说明 ### 数据预处理参数 - **图像大小**:调整为 227x227 像素(符合 AlexNet 的输入要求) - **标准化**:均值 0.5,标准差 0.5 - **批量大小**:64 ### 模型主要参数 - **卷积核大小**:从 11x11 到 3x3 不等 - **通道数**:从最初的 1 通道(灰度图)到最多 384 通道 - **步长**:卷积层步长为 4 或 1,池化层步长为 2 - **Dropout 比例**:默认为 0.5,用于防止过拟合 ## 使用方法 1. 确保已安装所有依赖库: ``` pip install torch torchvision matplotlib numpy seaborn scikit-learn ``` 2. 下载模型文件 (https://cloud.189.cn/t/baYrya6RzENf(访问码:o4or)) 3. 运行测试脚本: ``` python test.py ``` 4. 查看测试结果: - 模型参数统计 - 样例预测展示 - 性能评估指标 - 混淆矩阵 - 错误分类样例