From da18184960450655bb761f8cb0ff1a77eef59343 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=AD=E5=AE=87=E6=B6=B5?= <2509165016@student.example.com> Date: Tue, 19 May 2026 11:29:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=20/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 2509165016.png | Bin 0 -> 92666 bytes 修改后main.py | 215 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 215 insertions(+) create mode 100644 2509165016.png create mode 100644 修改后main.py diff --git a/2509165016.png b/2509165016.png new file mode 100644 index 0000000000000000000000000000000000000000..09ea9327b258586901c18de74dd15679121cc38d GIT binary patch literal 92666 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 Lw+e3FfAW6-flbK0 literal 0 HcmV?d00001 diff --git a/修改后main.py b/修改后main.py new file mode 100644 index 0000000..6ef47f0 --- /dev/null +++ b/修改后main.py @@ -0,0 +1,215 @@ +# -*- coding: utf-8 -*- +""" +主程序 - 手写数字识别 MLP 纯NumPy实现 + +使用方法: + python main.py # 运行默认配置 + python main.py --compare # 运行对比实验 + +依赖: + pip install numpy requests +""" + +import numpy as np +import time +from datetime import datetime +from model_numpy import MLP +from dataset import load_data +from config import * +import cv2 +from PIL import Image + + +def train_and_evaluate(): + """ + 训练并评估模型 + """ + print("=" * 60) + print("手写数字识别 - 纯NumPy MLP实现") + print("=" * 60) + + # ===== 加载数据 ===== + try: + X_train, y_train, X_test, y_test = load_data() + except Exception as e: + print(f"\n错误: {e}") + print("\n请手动下载数据文件:") + print(" 1. 创建 data/ 目录") + print(" 2. 下载以下文件到 data/:") + print(" - train-images-idx3-ubyte.gz (9.9 MB)") + print(" - train-labels-idx1-ubyte.gz (28 KB)") + print(" - t10k-images-idx3-ubyte.gz (1.6 MB)") + print(" - t10k-labels-idx1-ubyte.gz (5 KB)") + print(" 下载地址: https://storage.googleapis.com/tensorflow/tf-keras-datasets/") + return None, None, None + + # ===== 创建模型 ===== + print("\n[2] 创建MLP模型...") + model = MLP( + input_size=INPUT_SIZE, + hidden_size=HIDDEN_SIZE, + num_classes=NUM_CLASSES, + learning_rate=LEARNING_RATE, + seed=SEED + ) + + # ===== 训练模型 ===== + print("\n[3] 开始训练...") + start_time = time.time() + + model.fit( + X_train, y_train, + X_val=X_test, y_val=y_test, + epochs=NUM_EPOCHS, + batch_size=BATCH_SIZE, + verbose=True + ) + + train_time = time.time() - start_time + + # ===== 最终评估 ===== + print("\n" + "=" * 60) + print("训练完成!") + print("=" * 60) + + train_acc = model.accuracy(X_train, y_train) + test_acc = model.accuracy(X_test, y_test) + + print(f"\n最终结果:") + print(f" 训练准确率: {train_acc:.4f} ({train_acc*100:.2f}%)") + print(f" 测试准确率: {test_acc:.4f} ({test_acc*100:.2f}%)") + print(f" 训练时间: {train_time:.2f} 秒") + + # ===== 保存模型 ===== + timestamp = datetime.now().strftime("%m%d_%H%M%S") + model_path = f"mnist_mlp_{timestamp}" + model.save(model_path) + + # ===== 预测示例 ===== + print("\n[4] 预测示例:") + indices = np.random.choice(len(X_test), 5, replace=False) + + for i, idx in enumerate(indices): + img = X_test[idx] + true_label = np.argmax(y_test[idx]) + pred_label = model.predict(img.reshape(1, -1))[0] + prob = model.predict_proba(img.reshape(1, -1))[0] + + status = '✓' if true_label == pred_label else '✗' + print(f" 样本{i+1}: 真实={true_label}, 预测={pred_label}, " + f"置信度={prob[pred_label]:.2f} {status}") + + return model, train_acc, test_acc + def predict_custom_image(model, img_path): + """ + 预测自己的手写数字图片 + :param model: 训练好的MLP模型 + :param img_path: 图片路径(如test.png) + """ + # 1. 读取图片,转为灰度图 + img = Image.open(img_path).convert('L') + # 2. 缩放到28×28,和MNIST一致 + img = img.resize((28, 28), Image.Resampling.LANCZOS) + # 3. 转为numpy数组,归一化0~1 + img_array = np.array(img) / 255.0 + # 4. 反转颜色:白底黑字 → 黑底白字(和MNIST数据集一致) + img_array = 1 - img_array + # 5. 展平为784维 + x = img_array.reshape(1, -1) + # 6. 预测 + pred = model.predict(x)[0] + prob = model.predict_proba(x)[0] + print(f"\n===== 自定义图片预测结果 =====") + print(f"预测数字:{pred}") + print(f"置信度:{prob[pred]:.4f}") + return pred + +def run_comparison(): + """ + 运行对比实验 + """ + print("\n" + "=" * 60) + print("超参数对比实验") + print("=" * 60) + + # 加载数据 + try: + X_train, y_train, X_test, y_test = load_data() + except Exception as e: + print(f"加载数据失败: {e}") + return + + # 实验配置 + experiments = [ + {"hidden_size": 32, "lr": 0.1, "name": "小模型(32神经元)"}, + {"hidden_size": 128, "lr": 0.1, "name": "标准(128神经元)"}, + {"hidden_size": 256, "lr": 0.1, "name": "大模型(256神经元)"}, + {"hidden_size": 128, "lr": 0.01, "name": "小学习率(0.01)"}, + {"hidden_size": 128, "lr": 0.5, "name": "大学习率(0.5)"}, + ] + + results = [] + + for exp in experiments: + print(f"\n实验: {exp['name']}") + print("-" * 40) + + model = MLP( + input_size=INPUT_SIZE, + hidden_size=exp['hidden_size'], + num_classes=NUM_CLASSES, + learning_rate=exp['lr'], + seed=SEED + ) + + start_time = time.time() + model.fit(X_train, y_train, epochs=30, batch_size=BATCH_SIZE, verbose=False) + train_time = time.time() - start_time + + train_acc = model.accuracy(X_train, y_train) + test_acc = model.accuracy(X_test, y_test) + + results.append({ + 'name': exp['name'], + 'hidden_size': exp['hidden_size'], + 'lr': exp['lr'], + 'train_acc': train_acc, + 'test_acc': test_acc, + 'train_time': train_time + }) + + print(f" 训练准确率: {train_acc:.4f} | 测试准确率: {test_acc:.4f} | 时间: {train_time:.1f}s") + + # 汇总 + print("\n" + "=" * 60) + print("实验结果汇总") + print("=" * 60) + print(f"\n{'配置':<25} {'训练准确率':<12} {'测试准确率':<12} {'时间':<8}") + print("-" * 60) + + for r in results: + print(f"{r['name']:<25} {r['train_acc']:<12.4f} {r['test_acc']:<12.4f} {r['train_time']:<8.1f}s") + + best = max(results, key=lambda x: x['test_acc']) + print(f"\n最佳配置: {best['name']}, 测试准确率: {best['test_acc']:.4f}") + + +def main(): + """主函数""" + if RUN_COMPARISON: + run_comparison() + else: + model, train_acc, test_acc = train_and_evaluate() + # ========== 新增:训练完成后,输入图片路径识别 ========== + while True: + img_path = input("\n请输入手写数字图片路径(输入q退出):") + if img_path.lower() == 'q': + break + try: + predict_custom_image(model, img_path) + except Exception as e: + print(f"图片读取失败:{e}") + + print("\n" + "=" * 60) + print("程序结束!") + print("=" * 60) \ No newline at end of file