torch.empty()造成的内存溢出问题

torch.empty()造成的内存溢出问题

问题

代码实现的时候遇见了一个很奇怪的问题,运行同一段代码会出现一些奇怪的超大指数值,调试发现是混淆了torch.empty 和torch.zeros的概念。对torch.empty初始化的矩阵直接"+=",出现的内存问题。

例如:

python 复制代码
import torch

a = torch.empty((3,4))
a += 1

上述代码不会报错,但是结果不正确。

原因

这是由于torch.empty 创建了矩阵会分配一个内存地址,该地址对应的数据是随机的,可能跟你上一次的缓存或者其他数据有关

例如

python 复制代码
a = torch.empty((3,4))
#
# tensor([[6.8943e+34, 1.6212e-19, 1.4586e-19, 7.7179e+28],
#        [1.6217e-19, 1.4586e-19, 1.8617e+25, 1.6212e-19],
#        [1.4587e-19, 1.1578e+27, 3.3248e-06, 6.0542e+22]])

这里的矩阵值是随机的,因此torch.empty只起到一个占位的作用,只有需要赋值的时候可以使用,

但是如果明确需要初始值为0,需要torch.zeros

PS: 不排除有一定的机率初始化为0,这就造成程序有一些偶然机会会正常运行

相关推荐
染指11101 小时前
26.RAG进阶(Advanced RAG)-假设性问题索引
人工智能·windows·agent·rag·advanced rag
闵孚龙1 小时前
动态图机制:为什么 PyTorch 调试起来更舒服
人工智能·pytorch·python
chushiyunen2 小时前
langchain4j笔记、tools
笔记·python·flask
甲维斯2 小时前
还要啥Codex!DeepSeek接入Zcode远程连接!
人工智能
Kobebryant-Manba2 小时前
RNN从0实现
pytorch·rnn·深度学习
百胜软件@百胜软件2 小时前
百胜软件亮相“AI消费新生活”主题日活动,AI智能运营平台入选市级案例征集
人工智能·生活·零售数字化·数智中台·珠宝行业
程序员三藏3 小时前
Web自动化测试详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
在放️3 小时前
Python 爬虫 · 第三方代理接入与合规使用
开发语言·爬虫·python
专注搞钱3 小时前
GPT-4o写设备Recipe:从3小时到10分钟
数据库·人工智能·gpt·半导体
闻道参看3 小时前
贝芯宠AI灵兽 ELFVET 大模型聚焦临床应用,强化宠物诊疗综合能力
人工智能·宠物