深度学习常用代码(Pytorch)
1.获取模型的flops和parameters
- 方法1:get_model_complexity_info
安装基本库:
pip install ptflops
pip install --upgrade git+https://github.com/sovrasov/flops-counter.pytorch.git
import torchvision.models as models
import torch
from ptflops import get_model_complexity_infowith torch.cuda.device(0):net = models.vgg16()macs, params = get_model_complexity_info(net, (3, 224, 224), as_strings=True,print_per_layer_stat=True, verbose=True)print('{:<30} {:<8}'.format('Computational complexity: ', macs))print('{:<30} {:<8}'.format('Number of parameters: ', params))
- 方法2:profile
import torchfrom thop import profilefrom torchvision.models import resnet50
model = resnet50()input = torch.randn(1, 3, 224, 224)flops, params = profile(model, inputs=(input, ))
print('flops:', flops / (1000 ** 3))
print('params:', params / (1000 ** 2))
- 方法3:FlopCountAnalysis, parameter_count_table
import torch
from torchvision.models import resnet50
from fvcore.nn import FlopCountAnalysis, parameter_count_table# 创建resnet50网络
model = resnet50(num_classes=1000)# 创建输入网络的tensor
tensor = (torch.rand(1, 3, 224, 224),)# 分析FLOPs
flops = FlopCountAnalysis(model, tensor)
print("FLOPs: ", flops.total() / (1000 ** 3))
import torch
from torchvision.models import resnet50
from fvcore.nn import FlopCountAnalysis, parameter_count_table# 创建resnet50网络
model = resnet50(num_classes=1000)# 分析parameters
print(parameter_count_table(model))
- 说明:
- get_model_complexity_info不能自定义输入,其他两个可以
深度学习常用代码(Pytorch)相关推荐
- Python深度学习常用平台
文章目录 深度学习常用平台 PyTorch PyCharm TensorFlow 百度飞桨 keras 深度学习常用平台 PyTorch PyTorch是用Python重写的Torch框架.PyTor ...
- 深度学习入门之PyTorch学习笔记:卷积神经网络
深度学习入门之PyTorch学习笔记 绪论 1 深度学习介绍 2 深度学习框架 3 多层全连接网络 4 卷积神经网络 4.1 主要任务及起源 4.2 卷积神经网络的原理和结构 4.2.1 卷积层 1. ...
- 深度学习入门之PyTorch学习笔记:多层全连接网络
深度学习入门之PyTorch学习笔记 绪论 1 深度学习介绍 2 深度学习框架 3 多层全连接网络 3.1 PyTorch基础 3.2 线性模型 3.2.1 问题介绍 3.2.2 一维线性回归 3.2 ...
- 深度学习框架之PyTorch
文章目录 1 PyTorch简介 2 PyTorch入门 2.1 Tensor 2.2 自动微分Autograd 2.3 神经网络 2.4 损失函数 2.5 优化器 2.6 数据加载与预处理 2.7 ...
- 深度学习常用软件纪录
本文章纪录笔者在深度学习的工作和学习中经常使用的一些软件工具,工欲善其事必先利其器,希望这篇文章能对各位入门的朋友有所帮助.如有谬误,请联系指出,如需转载,请注明出处,谢谢. ∇\nabla∇ 联系方 ...
- 深度学习论文 代码复现 环境配置操作
***深度学习论文代码复现 前置工作 安装Ubuntu18.04 安装Nvidia显卡驱动 安装anaconda 安装CUDA与cuDNN 通过软链接的修改实现多版本CUDA间的切换 将~/.bash ...
- 如何阅读一份深度学习项目代码?
犹豫很久要不要把读代码这个事情专门挑出来写成一篇推文.毕竟读代码嘛,大家可能都会读.而且笔者个人读的和写的代码量也并不足以到指导大家读代码的程度.但笔者还是决定大胆地写一点:就当是给自己设立今后读代码 ...
- 深度学习项目代码阅读建议
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|机器学习实验室 犹豫很久要不要把读代码这个事情专门挑出来写 ...
- 【深度学习】基于Pytorch进行深度神经网络计算(一)
[深度学习]基于Pytorch进行深度神经网络计算(一) 文章目录 1 层和块 2 自定义块 3 顺序块 4 在正向传播函数中执行代码 5 嵌套块 6 参数管理(不重要) 7 参数初始化(重要) 8 ...
最新文章
- Typesetting Engine_ Presto
- 怎么样才算是精通 Python?
- 服务端构架干货:快节奏多人游戏的技术实现
- 代码编辑器Sublime Text 3 免费使用方法与简体中文汉化包下载
- html5 lang en 乱码,CSS中的html [lang =“en”]和html:lang(en)有什么区别?
- linux下的打包和解压缩命令,浅析Linux打包压缩解压缩命令大全(收藏)
- latex 改变字体颜色
- python七月超有用的十大开源代码(2019)
- whisper客服源码_whisper客服系统兼容HTTPS方案
- QQ消息群发助手(超级简单)
- Tensorflow-saver模型参数保存及载入
- c语言 函数拟合,曲线拟合成Y=a*(X^b)+c*(X^d)函数 - 数学 - 小木虫 - 学术 科研 互动社区...
- html中删除代码怎么写,Word删除html代码怎么写
- 从OPPO Finder看手机产品的差异化体现
- ubuntu18安装详细教程
- 跳转打开多个标签导致浏览器崩溃问题
- 5G术语(一)-NR、NSA/SA
- Mediator模式(调停者模式)
- 论python在金融行业的重要性论文_金融业发展的现状、问题与策略毕业论文
- 对于给定的正整数N,需要计算 S=1!+2!+3!+...+N!
热门文章
- 树莓派3实时监控系统
- 【我的Android进阶之旅】Android的Gson解析库解析报错:class com.xxx.xxx declares multiple JSON fields named xxx
- Java JUC并发编程详解
- api connect like.php,WWW 无心宠物是一款php编写的 - 下载 - 搜珍网
- 个人用过的觉得很好的开发工具(不定时更新)
- 四边形不等式优化 --算法竞赛专题解析(10)
- 乒乓球十一分制比赛规则_乒乓球21分制与11分制
- 不用密码卸载symantec
- Very Deep Convolutional Networks for Large-Scale Image Recognition-VGGNet解读
- 曙光服务器如何重新设置u盘启动_曙光服务器安装系统.pdf