怎么用pytorch计算参数和失败

  介绍

这篇文章主要介绍”怎么用pytorch计算参数和失败”,在日常操作中,相信很多人在怎么用pytorch计算参数和失败问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答“怎么用pytorch计算参数和失败”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

在pytorch中有现成的包thop用于计算参数数量和失败,首先安装thop:

pip  install  thop

注意安装thop时可能出现如下错误:

怎么用pytorch计算参数和失败

解决方法:

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计算参数和失败”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

怎么用pytorch计算参数和失败