pytorch:参数pin_memory=True和non_blocking=True的作用

这篇具有很好参考价值的文章主要介绍了pytorch:参数pin_memory=True和non_blocking=True的作用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、pin_memory

pin_memory是dataloader()的参数,默认值为False,其作用是是否把把数据存放在锁页内存中。主机的内存根据物理内存(内存条)与虚拟内存(硬盘)进行数据交换分为锁页内存和不锁页内存:

锁页内存:数据存放在物理内存上(内存条)上;
不锁页内存:当物理内存(内存条)满载时,把部分数据转换到虚拟内存上(硬盘)上。
锁页内存(pin_memory)能够保持与GPU进行高速传输,在训练时加快数据的读取,从而加快训练速度。因此,如果主机/服务器的内存足够大,建议把pin_memory设为True,如:

trainloader = torch.utils.data.DataLoader(dataset=traindata, batch_size=BATCH_SIZE, shuffle=True, num_workers=1, pin_memory=True)

二、non_blocking

non_blocking时cuda()的参数,默认值为False,其作用和pin_memory一样,pin_memory是针对物理内存(内存条),而non_blocking是针对GPU上的内存(显存),表士把数据锁页在显存上,在后台进程过程中不释放。一般地,如果pin_momery为True,把non_blocking也设为True,有助于加速数据传输,加快训练过程,如:文章来源地址https://www.toymoban.com/news/detail-539600.html

model = Model().cuda(non_blocking=True)

到了这里,关于pytorch:参数pin_memory=True和non_blocking=True的作用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • cadence后仿真/寄生参数提取/解决pin口提取不全的问题

    会出现错误1,后有解决方案 第一步 :Netlist 第二步:LVS 先RUN,后按照图中1 2 3步骤操作 点击 OK 之后,显示 Calibre 信息,本次实例为 0 个警告, 0 个错误 点击 Close 之后,跳出寄生的管子和电容。 会出现常见错误2,见后文解决方案。 前/后仿真结果比较,操作步骤,如1和2

    2024年02月09日
    浏览(76)
  • 【业务功能篇52】Springboot+mybatis mysql开启批量执行sql参数 allowMultiQueries=true

    可以在sql语句后携带分号,实现多语句执行。 可以执行批处理,同时发出多个SQL语句。 在application-xxx.xml配置文件中,配置数据库的信息  实例 dao层xml: 逐条更新,但一次提交给MySQL服务器而已。 利用foreach 遍历循环,传入的list集合数据,批量的进行update   MySQL的JDBC连接的

    2024年02月15日
    浏览(45)
  • 【CUDA OUT OF MEMORY】【Pytorch】计算图与CUDA OOM

    在实践过程中多次碰到了CUDA OOM的问题,有时候这个问题是很好解决的,有时候DEBUG一整天还是头皮发麻。 最近实践对由于计算图积累导致CUDA OOM有一点新的看法,写下来记录一下。 包括对计算图的一些看法和一个由于计算图引发错误的简化实例记录。 本人能力有限,认识片

    2024年02月09日
    浏览(38)
  • RuntimeError: CUDA out of memory See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

    报错: If reserved memory is allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF 当reserved memory is allocated memory,进行如下设置,可解决此bug: 代码如下:

    2024年02月11日
    浏览(52)
  • PyTorch的CUDA错误:Error 804: forward compatibility was attempted on non supported HW

    宿主机为Ubuntu20.04 + gtx1060,Nvidia driver版本为510.85.02。 安装环境为:tensorrt8.4 安装完成后,一当调用cuda环境就会报错:Error 804: forward compatibility was attempted on non supported HW。 检查问题原因 在Linux宿主机上使用docker(版本= 19.3)之前,请确保安装了nvidia-container-runtime和nvidia-cont

    2023年04月08日
    浏览(55)
  • 注意力机制(SE, ECA, CBAM, SKNet, scSE, Non-Local, GCNet, ASFF) Pytorch代码

    2023.3.2新增SKNet代码 2023.3.10 新增 scSE代码 2023.3.11 新增 Non-Local Net 非局部神经网络 2023.3.13新增GCNet 2023.6.7新增ASFF SE注意力机制(Squeeze-and-Excitation Networks) :是一种 通道类型 的注意力机制,就是在通道维度上增加注意力机制,主要内容是是 squeeze 和 excitation . 就是使用另外一个

    2024年02月08日
    浏览(47)
  • Spark内存资源分配——spark.executor.memory等参数的设置方法

    基于论坛上一些关于spark内存设置的文章,我对一个项目中实际运行的任务进行了内存参数分析和优化。如果要了解更多详细设置原理,可见文末的参考文章链接。 已知内存分配存在通过用户提交的参数设置进行静态分配,和yarn进行动态分配两种,所以本文对两种状况都根据

    2023年04月13日
    浏览(113)
  • 关于subprocess.CalledProcessError: Commandxxx returned non-zero exit status 1. 的问题--pytorch分布式训练问题

    我想跑一个模型的训练源代码时,就出现了这个问题,之前上网一顿查,发现并没有解决的办法。所说的也跟这个对不上。这个问题的本身是有关于pytorch分布使训练的问题。  实际情况如下。 出现这个问题时,解决问题的关键不在于这个问题本身,而是在于这个问题前面所

    2024年02月15日
    浏览(36)
  • 深度学习论文: Rethinking Mobile Block for Efficient Attention-based Models及其PyTorch实现

    深度学习论文: Rethinking Mobile Block for Efficient Attention-based Models及其PyTorch实现 Rethinking Mobile Block for Efficient Attention-based Models PDF: https://arxiv.org/pdf/2301.01146.pdf PyTorch代码: https://github.com/shanglianlm0525/CvPytorch PyTorch代码: https://github.com/shanglianlm0525/PyTorch-Networks EMO是高效、轻量级的模型

    2024年02月09日
    浏览(42)
  • 【Debug记录】CUDA out of memory.|显存不足|xx GiB reserved in total by PyTorch

    报错原因: “运行时错误:CUDA内存不足。尝试分配2.00 GiB(GPU 0;总容量10.76 GiB;已分配7.67 GiB;1.73 GiB可用;PyTorch总共保留8.20 GiB)“ 报错原因: 显存不足。(只是导入一个三维图像,使用unet模型,batchsize为1,numworks为0,在训练每个epoch后释放缓存torch.cuda.empty_cache(),验证

    2024年02月16日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包