【transformer模型】三行查看huggingface加载的transformer模型的大小

比如下载了一个新模型

from transformers import pipeline
classifier = pipeline(task="sentiment-analysis")
preds = classifier("我喜欢找工作!")
preds = [{"score": round(pred["score"], 4), "label": pred["label"]} for pred in preds]

想知道这个模型有多大,怎么办呢?

# 估算模型的大小
def estimate_model_size(classifier):
    num_params = classifier.model.num_parameters()
    print(f"加载的模型参数数量为:{num_params}")
    model_size = num_params * 4 / 1024 / 1024
    print(f"加载的模型大小约为:{model_size:.2f}M")
estimate_model_size(classifier)

输出:
加载的模型参数数量为:66955010
加载的模型大小约为:255.41M

这是通过参数量估算的大小。

实际把模型下载之后,看看多大:
请添加图片描述

少了哪些部分呢?
可能是参数精度:模型中每个参数的精度(例如,32位浮点数、16位浮点数等)会影响模型的大小。一般来说,参数精度越高,模型的大小越大。

也可能是嵌入层大小:如果模型包含嵌入层(如词嵌入层),那么嵌入层的大小也会影响模型的大小。

因此通过参数算出来的基本都比实际大小小一些。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值