模型的保存与下载

我们需要在模型训练完成后将模型保存到文件系统上,以便于我们后续的测试与部署。在训练大规模的网络时,为了减少在训练过程中被中断/宕机意外的损失,间歇性保存模型状态是个好习惯。

1.张量方式

model.save_weights('weights.ckpt')

这种保存与加载网络的方式最为轻量级,文件中仅保存参数张量的数值,并没有额外的结构参数。但它需要使用相同的网络结构才能够恢复网络状态,因此一般在拥有网络源文件的情况下使用

2.网络方式

通过Model.save(path)函数可以将模型的结构以及模型的参数保存到一个path文件上,在不需要网络源文件的条件下,通过keras.models.load_model(path)即可恢复网络结构和网络参数

model.save('model.h5')

此时通过model.h5文件即可恢复出网络的结构和状态:

net = tf.keras.models.load_model('model.h5')
net.summary()

model.h5同时保存了模型参数和网络结构信息,不需要提前创建模型即可直接从文件恢复出网络net对象


在学习别人的代码时,看到了如下代码

model_name = 'xxx'
backbone_name = 'xxx'
CKPT_PATH = "xxx"
t= time.strftime("%Y%m%d-%H%M%S", time.localtime())

model.save_weights(CKPT_PATH+'{}_{}_{}_model.h5'.format(t,model_name,backbone_name))

感觉这样很方便参加竞赛时看各个版本的模型


参考资料:天池学习

### 学习如何下载保存Hugging Face模型 #### 使用Transformers库加载预训练模型 为了能够顺利地从Hugging Face平台下载保存模型,首先需要安装`transformers`库以及`torch`或`tensorflow`作为后端支持。可以通过pip命令轻松完成这些依赖项的安装。 ```bash pip install transformers torch ``` 一旦环境准备就绪,就可以通过Python脚本利用简单的几行代码来获取所需的模型[^1]: ```python from transformers import AutoModel, AutoTokenizer model_name = "bert-base-uncased" # 加载预训练模型及其对应的分词器 model = AutoModel.from_pretrained(model_name) tokenizer = AutoTokenizer.from_pretrained(model_name) print(f"成功加载 {model_name} 模型") ``` 这段代码展示了怎样指定想要使用的特定版本的大规模语言模型(在这个例子中是BERT),并通过官方API接口自动拉取相应的权重文件至本地缓存目录内[^2]。 #### 将模型保存到磁盘 当已经获得了感兴趣的模型实例之后,下一步便是考虑将其持久化存储下来以便后续重复使用而无需再次联网请求。这不仅提高了效率也减少了对外部资源的依赖程度。以下是实现这一目标的具体方法[^3]: ```python save_directory = "./saved_models/bert_base_uncased/" # 保存整个模型结构连同参数一起序列化成文件形式 model.save_pretrained(save_directory) tokenizer.save_pretrained(save_directory) print(f"{model_name} 已经被保存到了 '{save_directory}' 文件夹下") ``` 上述操作将会把所选中的模型架构定义及内部状态都完整记录在一个新的子文件夹里;此同时还会一并将配套的文字处理工具一同打包进去,确保将来读入时能保持一致性和兼容性[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值