You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Conv2D模型训练卡住问题求助[MNIST数据集]

MNIST手写数字数据集的Conv2D模型训练流程

最近我在做一个大型项目的子模块,目标是实现一个轻量的Conv2D模型,用来在MNIST手写数字数据集上训练神经网络。我整理出了一套标准化的工作流程,步骤如下:

  • 加载MNIST数据集,将数据转换为numpy.array格式
  • 把数据集划分成训练集和验证集,用来监控模型的泛化能力
  • 对数据进行预处理操作:
    • 维度重塑:执行X_train.reshape(X.shape[0], 28, 28, 1),将原本的一维像素数组转换成卷积层要求的(样本数, 高度, 宽度, 通道数)格式(MNIST是灰度图,通道数为1)
    • 标签独热编码:使用keras.utils.to_categorical(y_train, 10)把0-9的数字标签转换成10维的独热向量,适配分类任务的损失函数
  • 导入或定义好预先设计的Conv2D模型结构
  • 用预处理后的训练数据训练模型,训练完成后保存模型文件

目前我已经写出了train函数的初始框架,后续会补充完整的训练逻辑:

def train(model, X_train, y_train, X_val, y_val, epochs=10, batch_size=32):
    # 编译模型:指定优化器、损失函数和评估指标
    model.compile(optimizer='adam', 
                  loss='categorical_crossentropy', 
                  metrics=['accuracy'])
    
    # 启动训练,同时用验证集监控性能
    training_history = model.fit(X_train, y_train,
                                 batch_size=batch_size,
                                 epochs=epochs,
                                 validation_data=(X_val, y_val))
    
    # 保存训练好的模型
    model.save('mnist_conv2d_trained_model.h5')
    
    return training_history

内容的提问来源于stack exchange,提问作者Mornor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:46:38