- 博客(62)
- 问答 (6)
- 收藏
- 关注
原创 -lcudart一直找不到
一般libcudart.so是链接到一个其他的文件,如libcudart.so->libcudart.so.10.9.8,请确保这个link是正确的,即libcudart.so.10.9.8存在,可以通过ls -l查看link情况。首先确保你的文件存在,一般在。确保编译时指定库的路径,如果不是,请重新设置。
2024-03-16 15:45:20 325
原创 通过设置MAX_JOBS=1防止pytorch编译时内存溢出
Allowing ninja to set a default number of workers… (overridable by setting the environment variable MAX_JOBS=N)
2024-03-16 13:17:43 337 1
原创 waymo open dataset v2.0.0 (Perception dataset) 大小
【代码】waymo open dataset v2.0.0 (Perception dataset) 大小。
2024-01-30 23:23:48 369
原创 梯度裁剪中的NaN值处理 - 深入探究torch.nn.utils.clip_grad_norm_和torch.nn.utils.clip_grad_value_
在深度学习中,梯度裁剪是一种常用的技术,用于防止训练过程中梯度爆炸的问题。PyTorch提供了两个梯度裁剪函数 - torch.nn.utils.clip_grad_norm_ 和 torch.nn.utils.clip_grad_value_。本博客将深入探讨这些函数的计算方法,以及它们如何处理梯度中的NaN值。
2023-12-26 22:54:51 1090
原创 混合精度训练:显存减少还是增加?
在混合精度训练中,模型的权重参数通常以f32的形式保存,但在前向传递过程中,这些参数会被转换为f16,用于计算中间结果和损失函数。然后,在反向传播过程中,我们将f16梯度转换回f32,并使用f32梯度来更新模型的参数。综上所述,尽管混合精度训练需要同时保存f32和f16的参数,但由于f16参数占用的内存较小,并且梯度计算使用了降低精度的方法,整体的显存使用量通常会减少。但是,有一个普遍的疑问是,虽然混合精度训练可以减少显存使用量,但它同时保存了f32和f16的参数,这是否会导致显存增加?
2023-12-19 20:18:08 475
原创 torch代码是否异步执行情况分析
猜测循环会并行执行,不需要等待上一个循环的结果。,猜测循环会顺序执行,需要等待上一个循环的结果。torch按顺序执行代码,没有异步。两种情况没太大差异,说明判断错误。
2023-10-08 19:21:36 155
原创 pytorch-lightning的trainer的optimaze_step的详细分析
【代码】pytorch-lightning的trainer的optimaze_step的详细分析。
2023-09-15 10:56:51 317
原创 cudart.so vs cuda.so的区别
API的访问,而libcuart.so提供了对。libcuda.so提供对CUDA。在wsl中cuda.so位于。
2023-09-11 15:55:15 184
原创 分布式训练如何节省内存加载数据集
一个简单的防止冗余数据集副本的方法是依靠 torch.multiprocessing 通过共享内存自动在分 spawned 进程之间共享数据。为此,所有数据预加载都应在 DataModule.我们知道,分布式训练数据集加载内存占用和节点数量成正比,每个节点都会加载一份数据集到内存,多个节点就会有多个数据集复制。对于内存中的数据集,每个进程都将在内存中保存一个(冗余的)数据集副本,内存消耗将随着进程数线性增加。() 中在主进程上进行。结果,所有张量数据将在使用“ddp_spawn”策略时自动共享。
2023-08-28 19:51:46 127
原创 “LegionFanControl“ cannot write to a closed textwriter
最近的 Microsoft Defender 数据库更新将 Legion Fan Control 的组件 rwdrv.sys 标记为 HackTool,这可能会导致 Defender 将其隔离或删除,从而导致该应用程序无法正常工作。将 rwdrv.sys 文件添加到 Defender 的白名单。这意味着 Defender 将不再认为该文件是恶意软件,并允许它运行。
2023-08-17 17:24:10 701
原创 torch.profiler
PyTorch Profiler 是一个工具,它允许在训练和推理期间收集性能指标。Profiler 的上下文管理器 API 可用于更好地了解哪些模型操作最昂贵,检查它们的输入形状和调用堆栈,研究设备内核活动并可视化执行跟踪。性能指标:例如内存使用、CPU 和 GPU 使用、操作时间等。
2023-08-13 23:32:05 781
原创 Autocasting和GradScaler
为了防止下溢,梯度缩放会将网络的损失乘以一个缩放因子,并在缩放的损失上调用反向传递。然后,通过网络流回的梯度将按相同的因子进行缩放。换句话说,梯度值具有更大的幅度,因此不会刷新为零。BFloat16 (Brain Floating Point)是一种16bit的浮点数格式,动态表达范围和float32是一样的,但是精度低。如果特定操作的前向传递具有 float16 输入,则该操作的反向传递将生成 float16 梯度。在优化器更新参数之前,应先unscaled每个参数的梯度,以便缩放因子不会干扰学习率。
2023-08-13 22:15:55 247
原创 vscode copilot长时间没反应
参考:https://github.com/orgs/community/discussions/29127。首先看一下OUPUT插件信息有什么异常。可以在vscode里设置一下代理。那是请求没有相应的原因。
2023-07-04 16:28:36 2172
原创 [Docker] 错误之Error response from daemon: could not select device driver ““ with capabilities: [[gpu]]
这是由于没有配置好docker运行环境导致的,执行安装容器运行环境(Ubuntu为例)Nvidia Docker安装后,使用镜像创建容器时出错,命令如下。安装后重新启动docker。
2023-05-17 11:33:56 763
原创 如何在每次启动终端时自动启动上次的conda环境
每次我们启动bash时,默认为base环境,我们可以通过添加。写一个记忆脚本,记录上次启动的环境,并在开始时自动启动。但是这样还不够智能,我们有时想用自动化启动环境。,还要修改上面的内容。
2023-03-24 21:02:43 682
原创 【wsl2】opengl相关问题
sudo apt-get install libgl1sudo apt-get install python-openglexport LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6
2023-03-12 13:19:48 168
转载 用不同的名字把远程分支拉到本地 repo 中?
但这将把 repo2 的主分支拉到我的主分支中。我可以为我的本地分支指定一个不同的分支来拉入吗?我有两个仓库:origin和repo2。
2023-02-15 19:39:45 79
原创 AttributeError: module ‘safetensors‘ has no attribute ‘torch‘
【代码】AttributeError: module 'safetensors' has no attribute 'torch'
2023-01-11 20:33:55 1702
原创 SSH远程连接启动WSL失败“系统无法访问此文件”
由于安装的是WSL preview版本,该版本目前存在一些公开问题,其中包括上着“远程SSH连接启动WSL出错”。A主机为Windows主机,开启了SSH Server,安装了WSL,并且在A主机本机启动WSL无异常。目前的一种解决方法就是安装旧的版本。
2022-12-18 13:29:12 1324
原创 如何通过SSH隧道连接学校服务器
由于SSH有端口转发功能,可以把本地的端口转发到远程的某个端口上,也可以把远程的端口转发到本地的某个端口上。实际情况中,客户端往往没有独立公网IP,但客户端连接的上级路由有公网IP,并且我们有上级路由的管理权限。SSH连接成功后,我们可以在客户端的7004端口访问服务器4004的应用。假设路由器的IP为A,路由器提供B端口将客户端的SSHD端口映射到公网。的端口转发代理服务器IP禁了,导致无法远程访问,因此作者尝试方法2。客户端,然后进行设置将服务器的内网端口绑定到客户端上。服务器:指学校实验室服务器。
2022-12-11 18:47:00 1815
原创 WSL 2下Linux Colmap出错“Shader not supported by your hardware!“和“SiftGPU not fully supported“
猜测可能是sudo install colmap安装方式不对,采用官方的手动安装方式。
2022-11-17 20:35:04 861 3
原创 远程wsl2服务器配置
每次wsl启动时会检测windows虚拟网卡是否开启,如果没有开启,则随机创建一个,由于IP是不固定的,会影响后续使用。如果电脑的硬件RAW很小,分给wsl用的RAW也很小,我们可以适当增大wsl的swap空间,通过磁盘缓解RAW不足。Windows WSL 默认使用很老的init启动方法,我们换成新的systemd。一种方法是写一个配置脚本,每次启动wsl后运行一下,重新设置一下wsl ip。默认情况下wsl会加载windows的环境变量,会导致一些命令重突。wsl每次启动的时候会随机生成ip。
2022-11-17 20:34:19 2129
原创 WSL下编译使用大量内存导致卡死
WSL环境下用Pytorch即时编译CUDA文件,内存占用极高,导致编译失败。解决方法:可以采用单线程编译,或者适当减少线程数量。
2022-11-15 10:29:02 1020
空空如也
markdown缩进后公式、代码不生效?
2022-09-01
Axios Get 请求不稳定,初始化连接时慢时快
2022-08-31
javascript 为什么 1 in [1] 为 false
2022-03-11
用python写代码时如何让IED知道对象的类型?
2020-12-29
python如何创建指定维度的列表
2020-07-23
请问QT组件提升后不显示,是什么原因?
2019-11-17
能用双线性内插法放缩RGB图像吗?
2019-09-05
C语言getch()函数连用问题
2018-12-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人