介绍
这篇文章主要介绍”怎么用pytorch计算参数和失败”,在日常操作中,相信很多人在怎么用pytorch计算参数和失败问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答“怎么用pytorch计算参数和失败”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
在pytorch中有现成的包thop用于计算参数数量和失败,首先安装thop:
pip install thop
注意安装thop时可能出现如下错误:
解决方法:
pip install ——upgrade git + https://github.com/Lyken17/pytorch-OpCounter.git #,下载源码安装
使用方法如下:
得到torchvision.models import resnet50 #,引入ResNet50模型 得到thop import 概要文件 时间=model resnet50 () 失败,,params =,概要文件(模型,input_size=(1,, 3,, 224224)), #,概要文件(模型,输入数据)
对于自己构建的函数也一样,例如shuffleNetV2
,得到thop import 概要文件 得到才能utils.ShuffleNetV2 import  shufflenetv2 #,导入shufflenet2 模块 import 才能;torch ,, 时间=model_shuffle 才能;shufflenetv2 (width_mult=0.5) 时间=model 才能;torch.nn.DataParallel (model_shuffle),, #,调用shufflenet2 模型,该模型为自己定义的 失败,才能,para =,概要文件(模型,input_size=(1,, 3,, 224,, 224),), 打印才能(“% .2fM", %,(失败/1 e6),“% .2fM", %, (para/1 e6))
更多细节,可参考thop GitHub链接:https://github.com/Lyken17/pytorch-OpCounter
2计算参数
pytorch本身带有计算参数的方法
,得到thop import 概要文件 得到才能utils.ShuffleNetV2 import  shufflenetv2 #,导入shufflenet2 模块 import 才能;torch ,, 时间=model_shuffle 才能;shufflenetv2 (width_mult=0.5) 时间=model 才能;torch.nn.DataParallel (model_shuffle) 时间=total 才能;和([param.nelement (), for param 拷贝model.parameters ())) 打印才能(“Number  of 参数:,% .2fM", %,(时间/total 1 e6)
<强>补充:pytorch:计算网络模型的计算量(失败)和参数量(Params) 强>
<强>计算量:强>
失败,失败时指浮点运算次数,年代是指秒,即每秒浮点运算次数的意思,考量一个网络模型的计算量的标准。
<强>参数量:强>
参数,是指网络模型中需要训练的参数总数。
第一步:安装模块(thop)
pip install thop
第二步:计算
import 火炬 得到thop import 概要文件 时间=net 模型(),#,定义好的网络模型 时间=input torch.randn (1,, 3,, 112,, 112) 时间=失败,,params 概要(净,,(输入) 印刷(& # 39;失败:& # 39;,,失败,,& # 39;参数:,& # 39;,,params)
注意:
输入输入的第一维度是批量(批大小),批量的大小不回影响参数量,计算量是batch_size=1的倍数
概要(网,(输入)的(输入)中必须加上逗号,否者会报错
到此,关于“怎么用pytorch计算参数和失败”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!