计算机的错误计算(五十)

摘要 扩展了计算机的错误计算(四十九)中的代码。同时发现,误差也"扩展"了。

下面是代码:

复制代码
import torch

# 设置随机种子
torch.manual_seed(0)

# 创建张量并移动到GPU
W1 = torch.randn(5, 3) * 10
W1 = W1.to('cuda')
X1 = torch.randn(3, 5) * 10
X1 = X1.to('cuda')

# 计算第一个矩阵乘法
Y1 = torch.mm(W1, X1)

# 在GPU上执行归一化操作
min_val1 = Y1.min()
max_val1 = Y1.max()
Y1_normalized = (Y1 - min_val1) / (max_val1 - min_val1)

# 应用tanh函数
torch_tanh1 = torch.tanh(Y1_normalized)

# 创建第二个张量并移动到GPU
Z1 = torch.randn(5, 4) * 10
Z1 = Z1.to('cuda')

# 计算第二个矩阵乘法
R_tanh1 = torch.mm(torch_tanh1, Z1)

# 继续构建更多层
W2 = torch.randn(4, 6) * 10
W2 = W2.to('cuda')
X2 = torch.randn(6, 4) * 10
X2 = X2.to('cuda')

# 计算第三个矩阵乘法
Y2 = torch.mm(W2, X2)

# 在GPU上执行归一化操作
min_val2 = Y2.min()
max_val2 = Y2.max()
Y2_normalized = (Y2 - min_val2) / (max_val2 - min_val2)

# 应用tanh函数
torch_tanh2 = torch.tanh(Y2_normalized)

# 创建另一个张量并移动到GPU
Z2 = torch.randn(4, 7) * 10
Z2 = Z2.to('cuda')

# 计算第四个矩阵乘法
R_tanh2 = torch.mm(torch_tanh2, Z2)

输出为:

经检验,矩阵R_tanh2中,含有两位错误数字的元素共有15个,具体位置如下:0,00,10,30,40,51,02,12,22,32,42,53,13,23,53,6。另外,含有三位错误数字的元素有2个,分别是3,03,3

这样,含有两位以上错误数字的元素共有17个。占比为 17/(4*7)=17/28=60.7%.

现在有个问题:随着代码的增加,误差是否会越来越大?会大到有的元素没有了正确有效数字吗?误差有上限吗?

相关推荐
熊野君7 小时前
第 4 章 技术产品经理核心能力模型
大数据·人工智能·产品经理
问天_观心7 小时前
大模型微调学习(一)
开发语言·人工智能·学习·语言模型·github
百胜软件@百胜软件7 小时前
AI赋能零售,迈向智能零售时代丨黄飞获邀担任2026年度上海市专业技术人才知识更新工程急需紧缺人才培养项目讲师
人工智能·百度·零售
财复视界7 小时前
光智科技从“光学元件”到“稀散金属材料平台”的进化逻辑
大数据·人工智能·科技
Navigator_Z7 小时前
LeetCode //C - 1224. Maximum Equal Frequency
c语言·算法·leetcode
大模型丫丫7 小时前
RAG 检索增强生成:原理、架构与实战指南
人工智能
sel_97 小时前
深度学习损失函数详解:从 MSE、Cross Entropy 到 Dice、Focal、IoU、Contrastive Loss,一文掌握所有常见 Loss
人工智能·深度学习
绘梨衣5477 小时前
AI技术栈全景指南_Prompt_RAG_爬虫_MCP
人工智能·爬虫·prompt
zed_237 小时前
RAG 全链路串起来:一个能答专业问题的问答接口
人工智能
dong_junshuai7 小时前
每天一个开源项目#87 fmt:24.5K Stars 的 C++ 格式化核心
c++·开源·github