计算机的错误计算(四十九)

摘要 计算机的错误计算(四十八)讨论了GPU下一个深度学习中的"Hello World"程序的计算精度问题。本节探讨扩展后的程序在GPU下的计算精度问题。具体扩展为:首先归一化"Hello World"程序的结果矩阵Y,然后对其应用Tanh激活函数,最后与新生成的矩阵Z进行第二次矩阵乘法。结果表明,该扩展后的程序的误差也大为"扩展"。

先看代码:

python 复制代码
import torch

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

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

# 计算矩阵乘法
Y = torch.mm(W, X)

# 在GPU上执行归一化操作
min_val = Y.min()
max_val = Y.max()
Y_normalized = (Y - min_val) / (max_val - min_val)

# 应用tanh函数
torch_tanh = torch.tanh(Y_normalized)

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

# 计算矩阵乘法
R_tanh = torch.mm(torch_tanh, Z)

# 设置小数位数
torch.set_printoptions(precision=8)

# 输出
print(R_tanh)

然后是输出:

​

在上面的输出中,有 2个值包含 3位错误数字,8个值包含 2位错误数字。这10个值的正确结果是:

其中红颜色数字表明 Python对应位置的数字不正确。因此,错误率不小于 2/8=25%的占比达到 10/20=50%. 它是计算机的错误计算(四十三)中CPU下错误率占比的 2倍。

相关推荐
hantmac7 小时前
不记得文件名时,Mac 上的搜索还能怎么做?
人工智能·macos
郝学胜-神的一滴7 小时前
游戏设计:原型与开发 18:Unity入门的第一课
人工智能·程序人生·游戏·ui·unity·游戏引擎
天树星智源7 小时前
每个 token 各配其师:token 级多教师蒸馏拉高 5.9 分
人工智能
米饭是菜qy7 小时前
深度学习Transformer详细介绍
人工智能·深度学习·transformer
智码看视界7 小时前
深度学习:生成对抗网络 GAN 原理与图像生成应用
深度学习·生成对抗网络·gan·wgan·图像生成·dcgan·stylegan
eric-sjq7 小时前
小思框架 · 30M 级长上下文新架构对比技术报告
人工智能·python·深度学习·语言模型
Kari117 小时前
Dify vs Coze开源版:企业级AI应用平台对比
人工智能·开源
AI视频工具指南7 小时前
AI视频的声音和画面怎么配合?先分清谁在传递信息
人工智能·aigc·音视频
云析赢指标公式网47 小时前
指标开发笔记|主图搭配双副图成套指标逻辑拆解
人工智能·笔记
奈落247 小时前
连错一个端口,Agent就“看不见”工具:从 n8n 的8种AI连接类型到 Dify 的插件审批复用,平台设计里的“隐形接线规则”怎么读
人工智能·agent·ai 编程