pytorch框架快速测试你的模型结构是否存在问题并得到输出形状
ps:这两天很郁闷把模型改了之后,代码一跑起来就把电脑卡死了。我就尝试看看我写的模型有没有错。就在模型后面加了如下代码:
#测试模型的代码
def FPN():return Net()
def test():from torch.autograd import Variablenet = FPN()fms = net(Variable(torch.randn(4, 1, 128, 128, 128)))for fm in fms:print(fm.size())
test()
Net()是我整个模型,可已得到结果如下:
(4L, 8L, 8L, 8L, 3L, 5L)
(4L, 16L, 16L, 16L, 3L, 5L)
(4L, 32L, 32L, 32L, 3L, 5L)
但是卡了将近20分钟左右,有点崩溃,
后来是不管加入指定GPU:
import os os.environ['CUDA_VISIBLE_DEVICES']='0'
还是自动获取GPU:
def getFreeId():import pynvmlpynvml.nvmlInit()def getFreeRatio(id):handle = pynvml.nvmlDeviceGetHandleByIndex(id)use = pynvml.nvmlDeviceGetUtilizationRates(handle)ratio = 0.5*(float(use.gpu+float(use.memory)))return ratiodeviceCount = pynvml.nvmlDeviceGetCount()available = []for i in range(deviceCount):if getFreeRatio(i)<70:available.append(i)gpus = ''for g in available:gpus = gpus+str(g)+','gpus = gpus[:-1]return gpus
def setgpu(gpuinput):freeids = getFreeId()if gpuinput=='all':gpus = freeidselse:gpus = gpuinputif any([g not in freeids for g in gpus.split(',')]):raise ValueError('gpu'+g+'is being used')print('using gpu '+gpus)os.environ['CUDA_VISIBLE_DEVICES']=gpusreturn len(gpus.split(','))
n_gpu = setgpu('all')
都不行。后来一琢磨是不是还要指定变量放入GPU和模型也放入GPU,然后上网一查果然是这样的。然后把测试代码改成如下:
#测试模型的代码
def FPN():return Net()
def test():from torch.autograd import Variablenet = FPN()net.cuda()fms = net(Variable(torch.randn(4, 1, 128, 128, 128).cuda(async=True)))for fm in fms:print(fm.size())
import os
os.environ['CUDA_VISIBLE_DEVICES']='0'
test()
(4L, 8L, 8L, 8L, 3L, 5L)
(4L, 16L, 16L, 16L, 3L, 5L)
(4L, 32L, 32L, 32L, 3L, 5L)
瞬间完成有了结果。
这问题是解决了,但是代码运行我的模型还是会卡死。
pytorch框架快速测试你的模型结构是否存在问题并得到输出形状相关推荐
- 使用Pytorch框架自己制作做数据集进行图像分类(一)
第一章:Pytorch制作自己的数据集实现图像分类 第一章: Pytorch框架制作自己的数据集实现图像分类 第二章: Pytorch框架构建残差神经网络(ResNet) 第三章: Pytorch框架 ...
- 【视频课】快速掌握6大模型部署框架(Pytorch+NCNN+MNN+Tengine+TensorRT+微信小程序)!...
前言 欢迎大家关注有三AI的视频课程系列,我们的视频课程系列共分为5层境界,内容和学习路线图如下: 第1层:掌握学习算法必要的预备知识,包括Python编程,深度学习基础,数据使用,框架使用. 第2层 ...
- Facebook 万字长文:AI 模型全部迁移至 PyTorch 框架
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 转自 | 新智元 来源 | Facebook AI Blog 编辑 ...
- Facebook万字长文:AI模型全部迁移至PyTorch框架
来源:新智元本文约3800字,建议阅读8分钟PyTorch 占领 Facebook. [ 导读 ] 2017年,PyTorch诞生,成为当下最流行的深度学习框架.近日,Facebook宣布让PyTor ...
- PyTorch框架学习二十——模型微调(Finetune)
PyTorch框架学习二十--模型微调(Finetune) 一.Transfer Learning:迁移学习 二.Model Finetune:模型的迁移学习 三.看个例子:用ResNet18预训练模 ...
- 升级! Facebook 模型全部迁移至 PyTorch 框架
点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:新智元 AI博士笔记系列推荐 周志华<机器学习>手推笔记正式开源!可打印版本附pdf下载链接 Py ...
- caffe安装_【开源框架】caffe图像分类从模型自定义到测试
这一次我们讲讲 Caffe 这个主流的开源框架,从训练到测试出结果的全流程. 到此,我必须假设大家已经有了深度学习的基础知识并了解卷积网络的工作原理. 相关的代码.数据都在我们 Git 上,希望大家 ...
- Facebook万字长文:AI模型将全部迁移至PyTorch框架
来源:新智元 PyTorch自2017年推出以来,就迅速占领GitHub热度榜榜首,一度有赶超Tensorflow的趋势. 这是一个开源的Python机器学习库,基于Torch,底层由C++实现. 近 ...
- AI模型工业部署:综述【常用的部署框架:TensorRT、Libtorch】【常见提速方法:模型结构、剪枝、蒸馏、量化训练、稀疏化】【常见部署流程:onnx2trt】【常见服务部署搭配】
作为深度学习算法工程师,训练模型和部署模型是最基本的要求,每天都在重复着这个工作,但偶尔静下心来想一想,还是有很多事情需要做的: 模型的结构,因为上线业务需要,更趋向于稳定有经验的,而不是探索一些新的 ...
最新文章
- 用Genymotion来调试android应用
- 一文读懂深度学习框架下的目标检测(附数据集)
- thinkcmf安装模板需要点击右键打开新页面的解决办法
- python操作redis--------------数据库增删改查
- OpenCV使用CNN进行目标检测
- eclipse中无法移除jar包_IDEA中已配置阿里镜像,但maven无法下载jar包的问题
- 伸缩杆怎么缩回去图解_没有阳台怎么晾衣服?这10个神器,让家里衣物晾晒更轻松方便...
- 比特币一种点对点的电子现金系统是哪一年诞生的_阎王解读比特币白皮书:点对点电子现金系统...
- 构建房屋预测回归模型
- 面试pythone_Python面试考题
- Python爬虫自动下载音乐(网易)
- Kafka如何做到全局有序
- 部署LNMP高可用负载群集
- STM32零碎问题记录
- 服务器端动态序列化与Unable to generate a temporary class报错
- svn之删除文件并释放空间
- ubuntu更新pip
- 电脑重启只剩下c盘怎么办_电脑突然只剩下c盘了怎么办?
- 流程工业MES管理系统有什么特点
- 狐吧吧刊——遇见最好的浏览器(1-6期)
热门文章
- CMS设计和CMS选型(内容管理系统)
- 实例3 输出由“*”组成的三角形
- Mysql for Linux安装配置之——二进制安装
- 冒泡排序、递归、二分查找
- PHP获取IP所在地地址
- (转)Java初始化顺序
- Jmeter基础使用
- html 页面怎么自动定位到某个标签,JS如何实现在页面上快速定位(锚点跳转问题)...
- 文件夹去掉git版本控制_git 从版本控制中删除文件及.gitignore的用法
- 不懂函数能学c语言吗,不会函数能学C语言吗