首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏JNing的专栏

    监视显存

    监视显存使用情况 watch [options] command 每10秒更新一次显存使用情况 watch -n 10 nvidia-smi ---- ----

    1.3K30发布于 2018-09-28
  • Torch 中显存回收节省显存的方法

    在进行模型推理时,需要考虑如何有效地利用和管理GPU显存。以下总结了常用的节省显存的方法。 将变量从显存释放 1. output = model(input).detach() 2. 这样可以更有效地利用显存,因为一些显存是用来存储模型的参数和中间结果的,而这些显存的使用量通常不会随着批量大小的增加而增加。 将模型和数据移动到CPU内存:如果你的模型和数据都在GPU显存中,那么你可以考虑在完成推理后将它们移动到CPU内存,以释放显存。 这是因为PyTorch使用了一种称为"缓存分配器"的机制来管理显存,这种机制可以减少显存的分配和释放操作,从而提高效率。

    1.9K10编辑于 2024-07-01
  • 来自专栏ETU-LINK

    40G光模块方案:10G至40G网络的布线方法

    今天给大家分享如何通过40G光模块将10G网络升级至40G网络,首先要根据应用场景选择合适的40G光模块以及采用有效的40G升级方案,接下来易天光通信(ETU-LINK)给你详细介绍10G至40G网络的光模块解决方案 选择40G光模块的几个因素 在10G到40G升级之前,首先会面临网络产品选型的问题。怎么选择40G光模块产品和相应网络产品呢? 10G至40G网络升级方案 如今大多数40G光纤网络都符合IEEE802.3ba的标准,采用平行光纤传输的方式,利用预端接12芯或24芯MPO光缆是下一代数据中心的主要光纤连接方案,也是10G至40G的升级方案的核心 2、10G升级40G网络的连接方案 在10G网络连接方案的基础上,两根12芯MPO主干光缆和配线箱不变,模块盒换成MPO适配器,两端各接2转3 MPO转换跳线把12芯的光纤通道转成8芯光纤通道,最后在两端分别连接 3个40G光模块,从而完成40G信号的传输。

    1.6K60发布于 2019-02-20
  • 来自专栏Java项目实战

    LTX-2有意思了 Comfyui爆显存 这个整合包CPU跑只要5G显存

    单张RTX 5090秒出高清视频,清华+生数科技TurboDiffusion加速200倍,AI视频彻底白菜化,目前Comfyui的LTX2工作流还是挺占显存的,如果不用量化版本,竟然也会偶尔爆显存? 4K+50FPS+音频同步,提示词技巧全攻略 附工作流,那现在这个LTX2的19B版本,跑上CPU +内存只需要5G显存的话,速度也相当不错,如果你安装加速没问题还会更快,1024*1024 图生视频, 如果你的显卡可能显存比较小,但是CPU是的非常不错的,那可以尝试这个整合包,在不久的将来,我猜会有大厂把视频加速 + 音频同步 + 物理规律 + 2K-4K高清视频同时满足的产品打造出来。 生成过程的显存占用以及速度 由于兼容了不支持加速则使用CPU,但是避免了爆显存,总共花费了11分钟,相对来说文生视频显然效果更佳,如果你觉得时间太长,那么问问自己的显卡有没有努力工作,是慢点好,还是爆显存生成不了好 2.

    3K20编辑于 2026-01-14
  • 来自专栏深度学习那些事儿

    再次浅谈Pytorch中的显存利用问题(附完善显存跟踪代码)

    前言 之前在浅谈深度学习:如何计算模型以及中间变量的显存占用大小和如何在Pytorch中精细化利用显存中我们已经谈论过了平时使用中显存的占用来自于哪里,以及如何在Pytorch中更好地使用显存。 在这篇文章中,我们借用Pytorch-Memory-Utils这个工具来检测我们在训练过程中关于显存的变化情况,分析出我们如何正确释放多余的显存。 如何去释放不需要的显存。 首先,我们在下段代码中导入我们需要的库,随后开始我们的显存检测程序。 Tensor占用大,我们暂时将次归结为Pytorch在开始运行程序时需要额外的显存开销,这种额外的显存开销与我们实际使用的模型权重显存大小无关。 = dummy_tensor_2.cpu() # 这里虽然将上面的显存释放了,但是我们通过Nvidia-smi命令看到显存依然在占用 torch.cuda.empty_cache() # 只有执行完上面这句

    2.4K50编辑于 2023-10-19
  • 来自专栏AIUAI

    GPU 显存 - Caffe 内存优化

    Caffe - 显存优化 1. 测试了一下, ResNet101 相对于官方 caffe, 能够明显节省显存占用, batchsize 可以增加很多. 在训练深度网络时, GPU显存资源是有限的. memory multiloading 功能实现的文件在: https://github.com/yjxiong/caffe/blob/action_recog/src/caffe/net.cpp#L1088 2. " mem_param { optimize_train: true optimize_test: true exclude_blob: "fc1" exclude_blob: "fc2"

    2.8K60发布于 2018-05-17
  • 来自专栏JNing的专栏

    【tensorflow】设置显存开销

    问题 一般大家在跑tf时,单个程序往往会占满整块GPU的所有显存。 但是实际上,程序很可能并不需要那么大的显存空间。 改进方案 通过 tf.ConfigProto().gpu_options.allow_growth=True来告诉程序,只需占用实际所需的显存即可: # ---------------- session True sess = tf.Session(config=config) 如果这里把 config.gpu_options.allow_growth设置为False,那么程序就会默认把整块卡的所有显存占满

    1.2K10发布于 2020-03-17
  • 来自专栏CSDNToQQCode

    win11怎么看显存——win11如何看显存

    显存查看方法1、 1、快捷键【Ctrl+Shift+ESC】打开【任务管理器】 2、点击左侧的性能 显存查看方法2、 在Windows 11在Windows 11中查看显存的方法如下: 1 2、在系统设置窗口右侧,点击“显示”(显示器、亮度、夜间模式、显示描述)。 3、在显示设置下,点击“相关设置”中的“高级显示”(显示器信息、刷新率)。 在显卡属性窗口中,适配器下,就可以查看显存信息。 显存查看方法3、 此外,还可以使用DirectX诊断工具来查看显存。 在“显示”选项卡中,找到“显存”一项,即可查看显存信息。 以上两种方法都可以帮助您在Windows 11中查看显存信息。如果还有其他问题,欢迎随时提问。 显存对AI的重要意义 显存是显卡中存储图像数据的关键组成部分,对AI具有重要意义,主要体现在: 显存决定了计算机在处理图像时能够存储和操作的数据量大小。

    17.7K11编辑于 2023-11-29
  • 来自专栏容器计算

    tf_cnn_benchmark 显存问题

    1 Overview 在测试 vGPU 的功能的时候,给容器分配了半张 GPU 卡,然后想用 Tensorflow Benchmark 测试一下,却发现半张 V100 32GB 显存从一开始就被占满了, 2 Reason 因为 Tensorflow 默认会跑完整个显卡,为了可以测试顺利,所以想限制测试脚本 tf_cnn_benmark.py。 关于如何限制 GPU 显存的使用量,可以参考官方的记录。为了能正常使用办张卡,也就是 16 GB 的显存,我希望可以注入一个 Config 类似如下。 per_process_gpu_memory_fraction=0.5) sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options)) 这样我的程序就只会用到半张卡的显存 xla=True --gpu_memory_frac_for_testing=0.5 3 Summary per_process_gpu_memory_fraction 参数可以设置 GPU 内进程使用显存最大的比例

    1.4K20发布于 2020-08-05
  • 来自专栏IT杂症

    v470修改显存大小

    准备工作备份 /System/Library/Extensions/AppleIntelSNBGraphicsFB.kext/

    81110发布于 2021-11-08
  • 来自专栏ETU-LINK

    数据中心40G QSFP+ SR4与40G QSFP+ LR4光模块的选择

    40G QSFP+光模块具有四个独立的全双工收发通道,是四通道小型可插拔光模块,这种四通道的接口传输速率可高达40Gbps。 40G QSFP+光模块是为高密度的应用程序专用,与传统SFP+光模块相比,端口密度更高,且整个系统成本更低。 40G QSFP+光模块符合SCSI、40G以太网、20G/40G Infiniband等多种标准,它有四个数据传输通道,每个通道的传输速率约为10Gbps,四个通道同时传输可以实现40Gbps的传输速率 40GBASE-SR4光模块除了可以利用MPO光纤跳线实现两个40G网络设备间的连接,还可以和MPO-LC光纤分支跳线使用实现40G网络设备和10G网络设备间的连接。

    1K20发布于 2019-03-25
  • 来自专栏深度学习和计算机视觉

    深度学习中GPU和显存分析

    举例来说:有一个1000x1000的 矩阵,float32,那么占用的显存差不多就是 2x3x256x256的四维数组(BxCxHxW)占用显存为:24M 1.2 神经网络显存占用 神经网络模型占用的显存包括 更具体的来说,模型的参数数目(这里均不考虑偏置项b)为: Linear(M->N): 参数数目:M×N Conv2d(Cin, Cout, K): 参数数目:Cin × Cout × K × K BatchNorm (N): 参数数目:2N Embedding(N,W): 参数数目:N × W 参数占用显存 = 参数数目×n n = 4 :float32 n = 2 : float16 n = 8 : double64 1.2.2 梯度与动量的显存占用 举例来说, 优化器如果是SGD: 这时候还需要保存动量, 因此显存x3 如果是Adam优化器,动量占用的显存更多,显存x4 总结一下,模型中与输入无关的显存占用包括: 节省显存一般有如下方法: 降低batch-size 下采样(NCHW -> (1/4)*NCHW) 减少全连接层(一般只留最后一层分类用的全连接层) 2 计算量分析 计算量的定义,之前已经讲过了,计算量越大

    85210编辑于 2025-03-24
  • 40G光模块介绍及常见问题探讨

    40G光模块概述40G QSFP+光模块符合QSFP+MSA SFF-8436和IEEE 802.3ba标准性。 40G单模光模块最大传输距离可达40KM,40G QSFP+光模块在数据中心、云计算、高性能计算和电信运营商等场景有着广泛应用40G光模块接口类型40G光模块采用QSFP+(Quad Small Formfactor MTP/MPO接口常见于短距离传输的40G光模块,LC用于长距离传输光模块。40G光模块接口决定了搭配使用的跳线接头类型。40G光模块应用1. 数据中心:40G光模块应用于数据中心内部网络、存储设备之间的互连。2. 云计算:40G光模块用于构建高速网络基础设施,支持大规模的云计算应用。3. 40G光模块按模式可分为40G多模光模块和40G单模光模块。40G单模光模块用在在长距离传输中需要搭配单模光纤使用。40G多模光模块用于短距离传输,需要搭配多模光纤。

    63310编辑于 2024-11-25
  • 来自专栏DeepHub IMBA

    如何估算transformer模型的显存大小

    D = dim = 注意力头的维度 B = batch_size = 批大小 S = sequence_length =输入序列的长度 memory modal = 4 * R * N^2 * D^2 memory activations = RBNS(S + 2D) 所以在训练模型时总的内存占用为: M = (4 * R * N^2 * D^2) + RBNS(S + 2D) 因为内存的占用和序列长度又很大的关系 ,如果有一个很长的序列长度S >> D S + 2D <——> S,这时可以将计算变为: M = (4 * R * N^2 * D^2) + RBNS(S) = 4*R*N^2*D^2 + RBNS^ 2 可以看到对于较大的序列,M与输入序列长度的平方成正比,与批大小成线性比例,这也就证明了序列长度和内存占用有很大的关系。 所以最终的内存占用的评估为: 总内存 = ((4 * R * N^2 * D^2) + RBNS(S + 2D)) * float64(以字节为单位) 作者:Schartz Rehan ---- MORE

    2.3K30编辑于 2022-11-11
  • 来自专栏TencentOS-tiny

    STM32CubeMX |42-使用DMA2D加速显存数据传输

    一、使用CPU搬运数据到显存 在上一篇文章中讲述了如何配置 LTDC 驱动 RGB 屏幕: STM32CubeMX | 41-使用LTDC驱动TFT-LCD屏幕(RGB屏)。 i = 0; while (i++ < LCD_WIDTH*LCD_HEIGHT) { *(ptr+i) = color; } } 最后实现lcd初始化函数,先刷显存 */ 编译、运行,在串口助手可以看到使用CPU搬运数据到显存中,在-Og优化等级下单次清屏需要 155 ms左右,在-O0优化等级下单次清屏需要321ms左右: ? 二、使用DMA2D加速显存数据搬运 1. DMA2D 在STM32中,DMA2D外设专门用来给LCD显示加速,有LTDC外设的型号中,通常也会配套有DMA2D。 打点函数 打点函数的核心是计算当前用户给出的坐标位置在显存中的位置,两种实现如下: void lcd_draw_point(uint16_t x, uint16_t y, uint16_t color

    4.1K31发布于 2021-07-23
  • 来自专栏贾志刚-OpenCV学堂

    节省显存新思路,在 PyTorch 里使用 2 bit 激活压缩训练神经网络

    ActNN:2 bit 激活压缩训练 在训练一个多层神经网络时,在前向传播中,每一层的中间结果都要被存下来用于计算反向传播的梯度。 把 fp32 浮点数量化为 2-bit 整数是一个有损压缩,会引入一些误差。论文从理论上分析了量化引入的误差是如何影响训练的收敛性的。 平均每个浮点数分配到 2 bit。 在具体实现压缩算法时,还有很多可以调节的参数。这里产生了一个内存节省和训练速度的取舍。 用户只需将模型里的所有 PyTorch nn.Module 替换成 ActNN 对应的 Module (如把 nn.Conv2d 替换成 actnn.Conv2d),即可节省内存,不需要更改其他代码。 为什么激活值压缩倍率是 12 而不是 32 bit / 2 bit = 16?

    1.4K20发布于 2021-07-14
  • 来自专栏彭旭锐

    至少要几个砝码,可以称出 1g ~ 40g 重量

    ---- 系列文章: 我知道你不知道,我到底知不知道[2] 至少要几个砝码,可以称出 1g ~ 40g 重量[3] 舞会上有多少顶黑帽?[4] 25 匹马 5 条赛道,最快需要几轮求出前 3 名? 问题描述 给定一台天平,至少要几个砝码,可以称出 1g ~ 40g 这 40 个重量? 这个问题等同于 “德·梅齐利亚克砝码”问题:一位商人有一个 40 磅的砝码,由于跌落在地而碎成4 块。 ---- 2.解题关键 砝码的和与差: 假设有 m 和 n 两个砝码(m > n),除了可以称出 m + n 的重量外,还可以称出 m - n 的重量。 ---- 3. 参考资料 [1] GitHub · AndroidFamily: https://github.com/pengxurui/AndroidFamily [2] 我知道你不知道,我到底知不知道: https ://juejin.cn/post/6902829580013436942 [3] 至少要几个砝码,可以称出 1g ~ 40g 重量: https://juejin.cn/post/6903460612886495245

    66910编辑于 2022-12-22
  • 来自专栏机器学习AI算法工程

    深度学习中GPU和显存分析

    2x3x256x256的四维数组(BxCxHxW)占用显存为:24M 1.2 神经网络显存占用 神经网络模型占用的显存包括: 模型自身的参数 模型的输出 举例来说,对于如下图所示的一个全连接网络(不考虑偏置项 更具体的来说,模型的参数数目(这里均不考虑偏置项b)为: Linear(M->N): 参数数目:M×N Conv2d(Cin, Cout, K): 参数数目:Cin × Cout × K × K BatchNorm (N): 参数数目:2N Embedding(N,W): 参数数目:N × W 参数占用显存 = 参数数目×n n = 4 :float32 n = 2 : float16 n = 8 : double64 (因为不需要执行优化) 深度学习中神经网络的显存占用,我们可以得到如下公式: 显存占用 = 模型显存占用 + batch_size × 每个样本的显存占用 可以看出显存不是和batch-size简单的成正比 节省显存一般有如下方法: 降低batch-size 下采样(NCHW -> (1/4)*NCHW) 减少全连接层(一般只留最后一层分类用的全连接层) 2 计算量分析 计算量的定义,之前已经讲过了,计算量越大

    4.2K11发布于 2020-12-15
  • 来自专栏AI研习社

    深度学习中 GPU 和显存分析

    衡量计算能力的单位是 flops: 每秒能执行的 flop 数量 1*2+3 1 flop 1*2 + 3*4 + 4*5 3 flop 1. 更具体的来说,模型的参数数目 (这里均不考虑偏置项 b) 为: Linear(M->N): 参数数目:M×N Conv2d(Cin, Cout, K): 参数数目:Cin × Cout × K × K BatchNorm(N): 参数数目: 2N Embedding(N,W): 参数数目: N × W 参数占用显存 = 参数数目 ×n n = 4 :float32 n = 2 : float16 n 1.2.2 梯度与动量的显存占用 举例来说, 优化器如果是 SGD: 可以看出来,除了保存 W 之外还要保存对应的梯度 ,因此显存占用等于参数占用的显存 x2,如果是带 Momentum-SGD 节省显存一般有如下方法: 降低 batch-size 下采样 (NCHW -> (1/4)*NCHW) 减少全连接层(一般只留最后一层分类用的全连接层) 2 计算量分析 计算量的定义,之前已经讲过了

    7.9K100发布于 2018-03-16
  • 来自专栏Dechin的专栏

    关于python中显存回收的问题

    而且此时已经按照Jax的官方说明配置了XLA_PYTHON_CLIENT_PREALLOCATE这个参数为false,也就是不进行显存的预分配(默认会分配90%的显存空间以供使用)。 然后在网上找到了一些类似的问题,比如参考链接中的1、2、3、4,都是在一些操作后发现未释放显存,这里提供一个实例问题和处理的思路,如果有更好的方案欢迎大家在评论区留言。 -----------------------------------+ 此时启动一个ipython的终端窗口,执行如下的Jax任务: In [1]: import numpy as np In [2] np from jax import numpy as jnp a = np.ones(1000000) def f(a): b = jnp.array(a) time.sleep(2) [True] 在程序执行的过程中我们也可以看到,在nvidia-smi中的显存占用,仅仅持续了2秒,也就是我们在函数内部设置的进程sleep参数。

    3.3K10编辑于 2021-12-14
领券