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

如何将Google Colab中训练的TensorFlow图像字幕模型本地保存

保存与加载图像字幕Encoder-Decoder模型方案

一、需保存的核心组件

根据你的代码逻辑,需要保存以下内容以完整恢复模型功能:

  • 训练好的encoder和decoder模型权重
  • 文本分词器tokenizer(生成字幕依赖它完成词与ID的双向映射)
  • 模型初始化参数:embedding_dim、units、vocab_size(重新创建模型实例时必须用到)

二、模型保存步骤

1. 保存模型权重

由于你使用自定义tf.keras.Model子类,直接保存权重是最稳妥的方式:

# 保存encoder和decoder的权重文件
encoder.save_weights('./encoder_weights.h5')
decoder.save_weights('./decoder_weights.h5')

2. 保存分词器与配置参数

用pickle序列化保存tokenizer和必要参数:

import pickle

# 保存分词器
with open('./tokenizer.pkl', 'wb') as f:
    pickle.dump(tokenizer, f)

# 保存模型初始化配置
model_config = {
    'embedding_dim': embedding_dim,
    'units': units,
    'vocab_size': vocab_size
}
with open('./model_config.pkl', 'wb') as f:
    pickle.dump(model_config, f)

三、模型恢复步骤

当需要重新使用模型时,按以下流程恢复:

1. 加载配置与分词器

import pickle

# 加载模型配置参数
with open('./model_config.pkl', 'rb') as f:
    config = pickle.load(f)
embedding_dim = config['embedding_dim']
units = config['units']
vocab_size = config['vocab_size']

# 加载分词器
with open('./tokenizer.pkl', 'rb') as f:
    tokenizer = pickle.load(f)

2. 重建模型并加载权重

# 重新创建encoder和decoder实例
encoder = VGG19_Encoder(embedding_dim)
decoder = Rnn_Local_Decoder(embedding_dim, units, vocab_size)

# 自定义子类模型需先通过一次前向传播触发权重构建
# 用符合维度的虚拟输入即可
dummy_img_features = tf.random.normal((1, 49, 512))  # 维度匹配你的图像特征输出
_ = encoder(dummy_img_features)

dummy_dec_input = tf.expand_dims([0], 0)
dummy_hidden = decoder.reset_state(batch_size=1)
_ = decoder(dummy_dec_input, dummy_img_features, dummy_hidden)

# 加载预训练权重
encoder.load_weights('./encoder_weights.h5')
decoder.load_weights('./decoder_weights.h5')

3. 验证功能

加载完成后,直接调用generate_prediction函数即可正常生成字幕,逻辑与训练时完全一致。

四、Google Colab 专属提示

如果在Colab中操作,建议将文件保存到Google Drive避免会话结束丢失:

# 先挂载Google Drive
from google.colab import drive
drive.mount('/content/drive')

# 修改保存路径为Drive内路径
encoder.save_weights('/content/drive/MyDrive/encoder_weights.h5')
# 其他文件保存同理

加载时同样从Drive路径读取即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 16:23:11