家居设计案例,青岛建站seo公司,宝塔建站网址,免费的素材库视频无水印1. 模型尺寸与参数量
根据神经网络模型中的参数数量估计模型体积的大小涉及多个考虑因素#xff0c;包括参数的数据类型、每种数据类型的存储要求以及存储模型结构或元数据的任何额外开销。下面是估计模型大小的一般方法#xff1a;
1.1.数据类型
神经网络参数通常存储为浮…1. 模型尺寸与参数量
根据神经网络模型中的参数数量估计模型体积的大小涉及多个考虑因素包括参数的数据类型、每种数据类型的存储要求以及存储模型结构或元数据的任何额外开销。下面是估计模型大小的一般方法
1.1.数据类型
神经网络参数通常存储为浮点数例如32 位浮点数。但是某些模型可能会使用较低精度的格式例如 16 位浮点数甚至是 8 位整数来量化模型。
存储要求确定所选数据类型的存储要求。例如
32-bit floats:.32 位浮点数每个参数需要 4 个字节的存储空间。 16-bit floats:16 位浮点数每个参数需要 2 个字节的存储空间。 8-bit integers: .8 位整数每个参数需要 1 个字节的存储空间。
参数量计算神经网络模型中的参数总数。这包括所有层的权重和偏差。
1.2 计算模型大小
.计算大小将参数数量乘以所选数据类型的存储要求得到模型的总大小以字节为单位。
Model size (bytes)Number of parameters×Storage per parameter (bytes)记住这是一个基本估计值实际大小可能会因模型压缩技术、稀疏表示以及存储模型结构或元数据所需的任何额外开销等因素而有所不同。
例如如果您有一个包含 100 万个参数的神经网络并且您使用的是 32 位浮点数则估计大小
Model size1,000,000×4 bytes4,000,000 bytes1.3 转换成以M 为单位
当然如果您的模型以 32 位浮点格式存储并且您希望以兆字节 MB 为单位表示大小则可以使用以下步骤 确定神经网络模型中的参数数。 将参数数乘以每个参数的存储32 位浮点数为 4 个字节。 将结果除以 2 20 2^{20} 220将字节转换为兆字节;
例如如果您有一个包含 100 万个参数的神经网络并且您使用的是 32 位浮点数则估计大小 M o d e l s i z e ( M B ) N u m b e r o f p a r a m e t e r s × 4 2 20 Model size (MB) \frac{Number of parameters×4}{2^{20}} Modelsize(MB)220Numberofparameters×4 , M o d e l s i z e ( M B ) 1000000 × 4 1048576 Model size (MB) \frac{100 0000 ×4}{1048576} Modelsize(MB)10485761000000×4, M o d e l s i z e ( M B ) 3.814 M B Model size (MB) 3.814MB Modelsize(MB)3.814MB 1.4 常用基础模型权重参数
一些基础网络模型可在pytorch 官方查询
如分类 分割 检测任务则去这里查询
·https://pytorch.org/vision/main/models.html#classification· 点击模型可以查看具体参数 而对于自然语言处理rnn, Lstm, bert, Transformer 等模型 则可以到Hugging Face 中查询
https://huggingface.co/models?sorttrending
在其 Model Card, 或者Files and versions 中 可以查询到 Model size计算其中的参数 2. 测试模型
使用该仓库 计算各个模型的参数量 https://github.com/Lyken17/pytorch-OpCounter
pip install thop