
深度学习
文章平均质量分 85
Cc1924
这个作者很懒,什么都没留下…
展开
-
8. 循环神经网络
高级API提供了循环神经网络的实现。我们构造一个具有256个隐藏单元的单隐藏层的循环神经网络层rnn_layer。事实上,我们还没有讨论多层循环神经网络的意义(这将在 9.3节中介绍)。现在仅需要将多层理解为一层循环神经网络的输出被用作下一层循环神经网络的输入就足够了。# 输入维度,隐藏层(注意不是输出层)维度我们使用张量来初始化隐状态,它的形状是**(隐藏层数,批量大小,隐藏单元数)**。(注意这里相比前面从零开始实现,多了一个隐藏层数)通过一个隐状态和一个输入,我们就可以用更新后的隐状态计算输出。原创 2024-12-01 17:50:15 · 1395 阅读 · 0 评论 -
7. 现代卷积神经网络
这样的设计。原创 2024-11-30 09:36:02 · 1185 阅读 · 0 评论 -
6. 卷积神经网络
例如,如果我们拍摄黑白之间轮廓清晰的图像X,并将整个图像向右移动一个像素,即Z[i, j] = X[i, j + 1],则新图像Z的输出可能大不相同。多输入通道:输入是 (C, H, W),则卷积核的大小需要是 (C, h, w), 也就是通道数必须相同,然后计算卷积的时候是把所有通道的卷积结果加起来,得到一个通道的输出。多输出通道:在最流行的神经网络架构中,随着神经网络层数的加深,我们常会增加输出通道的维数,通过减少空间分辨率以获得更大的通道深度。和下面公式中的不一样,这里是指一半的填充。原创 2024-11-30 09:06:12 · 702 阅读 · 0 评论 -
5. 深度学习计算
自定义层的时候,把参数设置为 nn.Parameter 的好处:自动优化:当一个张量被封装为 nn.Parameter 时,它会自动被添加到模型的参数列表中(即 model.parameters())。在调用优化器(如 torch.optim.SGD 或 torch.optim.Adam)时,优化器会遍历这些参数并更新它们的值。设备一致性:将张量转换为 nn.Parameter 后,可以确保这些参数与模型的其他部分一起被移动到指定的设备(CPU 或 GPU)。原创 2024-11-30 09:05:56 · 1097 阅读 · 0 评论 -
4. 多层感知机
当你设置 retain_graph=True 时,PyTorch 不会在 .backward() 调用后释放计算图,而是保留它,以便你可以再次在这个图上调用 .backward()。默认情况下,当 .backward() 被调用后,计算图会被标记为“已使用”(即梯度已被计算),随后如果再次尝试在这个图上调用 .backward(),PyTorch 会抛出一个错误,因为它认为图已经被“消费”过了,不应该再被使用。然而,在某些情况下,你可能需要在同一个图上多次调用 .backward()。原创 2024-11-21 09:33:12 · 911 阅读 · 0 评论 -
3.线性神经网络
生成器函数是一种特殊的函数,它允许你逐个生成值,而不是一次性返回一个完整的列表或集合。这样做的好处是可以节省内存,特别是在处理大量数据时,因为你可以按需生成数据,而不是一次性将所有数据加载到内存中。由于yield的使用,data_iter函数不会一次性执行完毕并返回一个结果,而是每次调用时返回一个批次的数据,并在下次调用时从上次停止的地方继续执行。使用生成器的好处之一是它们允许你以一种懒加载(lazy loading)的方式处理数据,即只在需要时才生成数据。原创 2024-11-19 09:37:50 · 963 阅读 · 0 评论 -
2.预备知识
然而,虽然这些更奇特的对象确实出现在高级机器学习中(包括深度学习中), 但当调用向量的反向计算时,我们通常会试图计算一批训练样本中每个组成部分的损失函数的导数。这里,我们的目的不是计算微分矩阵,而是单独计算批量中每个样本的偏导数之和。例如,假设y是作为x的函数计算的,而z则是作为y和x的函数计算的。想象一下,我们想计算z关于x的梯度,但由于某种原因,希望将y视为一个常数, 并且只考虑到x在y被计算后发挥的作用。这里可以分离y来返回一个新变量u,该变量与y具有相同的值, 但丢弃计算图中如何计算y的任何信息。原创 2024-11-19 09:11:43 · 885 阅读 · 0 评论 -
pytorch中的view与reshape
的,比如上面的博客中举的转置的例子,转置之后肯定还是同一块内存,但是从后面的维度往前面的维度看,内存索引的顺序就不是连续的了。的功能更强大,但是它返回的结果可能是浅拷贝,也可能是深拷贝,所以代码看起来就不清晰了。而在深度学习编程中,我们想重塑。的张量是否满足内存连续的条件?其实感觉就是从后面的维度往前面的维度看,看数据在内存中是否是。的形状,肯定是想浅拷贝的,所以此时使用view就显式的指定是浅拷贝。但是自己有一些地方也没有特别明白。现在总结下来,就是虽然。这篇博客写的非常好,非常详细。原创 2022-08-24 13:00:02 · 585 阅读 · 0 评论 -
ubuntu安装cuda/cuDNN/TensorRT
Ubuntu安装和卸载CUDA和CUDNNUbuntu 18.4 查看CUDNN版本原创 2022-03-28 21:17:21 · 5553 阅读 · 0 评论 -
win10安装tensorflow2.3.0和对应2.4.3版本的keras
网上找了很多资料,大多数比较老了,按照下面这个教程安装成功了。【2021新教程】win10如何安装tensorflow-gpu版本?最后注意,如果安装完tensorflow2.3.0还要安装对应版本的keras的话,不能直接pip install keras,这样会直接安装最新版本的2.7.0(如果这样直接安装tensorflow也一样)。所以需要指定版本安装,即pip install keras==2.4.3。如果安装的版本不对应的话,当import keras的时候会报错。...原创 2022-01-13 15:41:02 · 10198 阅读 · 0 评论 -
Ubuntu18安装Anaconda和Pytorch
1.安装Anaconda主要参考: Ubuntu18.04 安装 Anaconda31.1.下载合适版本的Anaconda安装包下载 Anaconda3-5.2.0-Linux-x86_64.sh (Ubuntu18.04的对应的Anaconda版本),注意因为Ubuntu18的发行版带的是python3.6,而适配python3.6的Anaconda版本就是上面这个版本。如果直接到Anaconda官网去下载的话,需要去找过去的版本,并且网速也不快。所以一个比较好的方法是到清华的镜像网站去下载。原创 2021-12-03 19:40:00 · 2214 阅读 · 0 评论