《动手学深度学习》(PyTorch版)

该项目将《动手学深度学习》的MXNet实现转换为PyTorch实现,适合对深度学习感兴趣的初学者,特别是想用PyTorch进行学习的人群。内容包括深度学习基础、卷积神经网络、循环神经网络等,提供多种阅读和使用方法,支持本地文档查看和代码运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

读书啦!!!

在这里插入图片描述

本项目《动手学深度学习》 原书中MXNet代码实现改为PyTorch实现。原书作者:阿斯顿·张、李沐、扎卡里 C. 立顿、亚历山大 J. 斯莫拉以及其他社区贡献者,GitHub地址:https://github.com/d2l-ai/d2l-zh

此书的版本存在一些不同,针对此书英文版的PyTorch重构可参考这个项目
There are some differences between the Chinese and English versions of

### 动手学深度学习 PyTorch 本教程 #### 卷积层的实现细节 卷积层通过对输入数据和卷积核权重执行互相关运算,并在添加标量偏置后生成输出。因此,在卷积层中有两个可训练参数:卷积核权重和标量偏置[^2]。 为了具体展示如何创建一个简单的二维卷积层,下面是一个自定义 `Conv2D` 类的例子: ```python import torch from torch import nn class Conv2D(nn.Module): def __init__(self, kernel_size): super().__init__() self.weight = nn.Parameter(torch.rand(kernel_size)) self.bias = nn.Parameter(torch.zeros(1)) def forward(self, x): return corr2d(x, self.weight) + self.bias ``` 这段代码展示了如何利用 PythonPyTorch 来构建自己的卷积层类。注意这里假设已经有一个名为 `corr2d` 的函数用于计算二维互相关操作。 #### 数据类型的转换 当处理张量时,有时需要将其值提取为普通的 Python 数字。对于包含单个元素的张量,可以通过调用 `.item()` 方法或使用内置类型转换函数来完成此操作[^3]: ```python a = torch.tensor([3.5]) print(f'Tensor: {a}, Item: {a.item()}, Float: {float(a)}, Int: {int(a)}') ``` 上述例子说明了不同方式将大小为 1 的张量转成基本的数据类型的方法。 #### 不同类型的分布变化及其影响 机器学习模型可能会遇到三种主要类型的分布差异情况:协变量偏移、标签偏移以及概念漂移。每种情况下受影响的概率分布部分有所不同[^4]: - **协变量偏移**指的是特征空间内的概率分布发生变化而条件概率保持恒定; - **标签偏移**意味着目标变量的整体分布有所变动但是给定条件下其预测关系未变; - **概念漂移**则表示即使输入特征相同,它们对应的期望输出也发生了改变。 了解这些现象有助于更好地理解何时何地可能出现性能下降,并采取相应措施加以应对。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chaser&upper

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值