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

ModelCheckpoint保存路径错误:如何将模型权重存入指定子目录?

解决模型权重保存到指定子目录的问题

问题根源是保存路径的构造错误,没有让模型文件指向目标子目录内部。以下是具体修复步骤:

  • 第一步:确保目标子目录存在(Colab不会自动创建不存在的目录)

    import os
    
    # 定义model3的目标子目录路径
    model3_save_dir = '/content/gdrive/My Drive/Colab/checkpoints/model3/'
    # 递归创建目录,exist_ok=True避免目录已存在时报错
    os.makedirs(model3_save_dir, exist_ok=True)
    
  • 第二步:根据你使用的保存方式,构造正确的路径
    情况1:用ModelCheckpoint回调保存权重(训练时自动保存)

    from tensorflow.keras.callbacks import ModelCheckpoint
    
    # 构造子目录内的模型权重保存路径
    checkpoint_full_path = os.path.join(model3_save_dir, 'model3')
    # 初始化回调
    cp_callback = ModelCheckpoint(
        filepath=checkpoint_full_path,
        save_weights_only=True,
        verbose=1
    )
    
    # 训练模型时传入回调
    model3.fit(train_images, train_labels, callbacks=[cp_callback])
    

    情况2:手动保存模型权重

    # 直接指定子目录内的保存路径
    model3.save_weights(os.path.join(model3_save_dir, 'model3'))
    

    情况3:保存完整模型(而非仅权重)

    # 直接将子目录路径传入save方法,模型文件会自动存入该目录
    model3.save(model3_save_dir)
    

错误原因说明

之前的操作中,你可能直接将model3作为文件名前缀放在父目录下,而非让路径指向子目录内部。比如错误路径是/content/gdrive/My Drive/Colab/checkpoints/model3,TensorFlow会将其识别为文件名,而非目录,因此权重文件会直接生成在父目录,同时你手动创建的model3子目录就会是空的。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 03:54:29