Pytorch
文章平均质量分 79
Pytorch实战
Q渡劫
不会写还不滚去看官方文档
展开
-
pytorh模型训练、测试
第一种方式:使用cuda,只需要给模型、损失函数、训练数据、测试数据调用cuda即可,但是这种情况下必须使用if torch.cuda.is_available():判断是否存在cuda,没有的话还是使用cpu,但是没有使用torch.cuda.is_available()判断的话会出错,导致程序无法运行。第一条数据 (tensor([[[0.6196, 0.6235, 0.6471, ..., 0.5373, 0.4941, 0.4549],原创 2023-11-04 15:52:29 · 739 阅读 · 0 评论 -
使用pytorch处理自己的数据集
这里使用tensorboard的作用是为了更好的展示数据,但是对于函数的使用,比如上面的add_image中的参数,最好的方式是点击源码查看其对应的参数类型,然后根据实际需要将它所需的数据类型丢给add_image就好,而在源码中该函数的参数中所要求的图片类型必须是tensor类型或者是numpy,所以想要使用tensorboard展示数据就首先必须使用numpy或者使用transforms.Totensor将其转化为tensor,然后丢给add_image函数。必须传入的是tensor数据类型。原创 2023-11-02 22:56:49 · 966 阅读 · 0 评论 -
torch.cuda.is_available() 解决方
原来是下载的是 CPU 版本,进入 pytorch环境,使用命令conda uninstall pytorch卸载 cpu 版本的。使用命令conda create -n pytorch python=3.6创建一个名为pytorch的环境,解释器使用3.6的。没有找到匹配的版本,所以是11.7的版本太高,修改为 11.3版本,继续下载。显卡配置失败,进入 base 环境,使用 conda list 命令。复制上面的命令,在pytorch环境下载。进入pytorch官网,选择下列选项。原创 2023-09-07 10:55:12 · 1447 阅读 · 0 评论 -
循环神经网络(基础篇)
h0表示先验知识CNN+FC 为 h0,作为 RNN 的输入,这样就完成了图像到文本的转化,如果没有先验知识,直接初始化 h0 为全零h1 和 x2 作为下一个 RNN 的输入,经过 RNN 的线性计算得到 h2,接着以此类推得到 h3、h4....右边的每一个 RNN Cell 是同一个线性层,这个过程中拿一个线性层反复参与计算,也就是线性层中的前一个权重会参与到后面的计算中构建一个复杂的计算图。原创 2023-07-30 22:44:53 · 532 阅读 · 0 评论 -
卷积神经网络(高级篇)
之前在动手学习深度学习中用到的类似于 LeNet5 这种简单的串行网络结构。.其余的还有 AlexNet和 VGG 这种串行结构的网络原创 2023-07-30 22:44:06 · 376 阅读 · 0 评论 -
卷积神经网络(基础篇)
前一部分叫做Feature Extraction,后一部分叫做classification(2)、每一个卷积核它的通道数量要求和输入通道是一样的。这种卷积核的总数有多少个和你输出通道的数量是一样的(3)、卷积(convolution)后,C(Channels)变,W(width)和H(Height)可变可不变,取决于是否padding。subsampling(或pooling)后,C不变,W和H变。原创 2023-07-30 22:43:25 · 220 阅读 · 0 评论 -
多分类问题
softmax层先对0.2、0.1、-0.1分别取对数,得到e^0.2 = 1.2, e^0.1 = 1.1,e^-0.1 = 0.9,然后sum = e^0.2 + e^0.1 + e^-0.1 = 3.2,因此 Y^1 = e^0.2/(e^0.2 + e^0.1 + e^-0.1) = 1.2 / 3.2 = 0.38,以此类推其他的,得到 Y^2 = 0.34,Y^3 = 0.28。原创 2023-07-30 22:42:22 · 353 阅读 · 0 评论 -
加载数据集
DataSet 是抽象类,不能实例化对象,主要是用于构造我们的数据集2、DataLoader 需要获取DataSet提供的索引[i]和len;用来帮助我们加载数据,比如说做shuffle(提高数据集的随机性),batch_size,能拿出Mini-Batch进行训练。它帮我们自动完成这些工作。DataLoader可实例化对象。3、__getitem__目的是为支持下标(索引)操作4、注意事项。原创 2023-07-30 22:41:41 · 268 阅读 · 0 评论 -
处理多维特征的输入
torch.nn.functional.sigmoid是一个函数,可以直接调用,它和torch.sigmoid函数的功能相同。总的来说,torch.sigmoid和torch.nn.functional.sigmoid是可以直接使用的函数,而torch.nn.Sigmoid是一个类,需要实例化后才能调用。4、本算法中torch.nn.Sigmoid() # 将其看作是网络的一层,而不是简单的函数使用 ,目的是为了在 forward函数中直接调用Sigmoid()函数将线性前一步中的线性计算转化为非线性。原创 2023-07-30 22:41:08 · 297 阅读 · 0 评论 -
logistic回归
logistic回归原创 2023-07-30 22:40:21 · 285 阅读 · 0 评论 -
用pyTorch实现线性回归
用pyTorch实现线性回归。原创 2023-07-30 22:39:29 · 95 阅读 · 0 评论 -
反向传播学习
手动推导线性模型 y=w*x+b,损失函数loss=(ŷ-y)²下,当数据集x=1,y=2的时候,反向传播的过程原创 2023-07-30 22:38:15 · 129 阅读 · 0 评论 -
梯度下降算法
本算法中的随机梯度主要是指,每次拿一个训练数据来训练,然后更新梯度参数。梯度下降法中梯度总共更新100(epoch)次。是对梯度下降算法和随机梯度下降算法的折中算法,既有梯度下降算法时间复杂度低的优点,也有随机梯度下降算法学习性能高的优点!所以目前深度学习算法底层的梯度下降算法大多指的是。cost是计算所有训练数据的损失,loss是计算一个训练数据的损失。2、梯度函数gradient()由计算所有训练数据的梯度更改为计算一个训练数据的梯度。随机梯度下降法在神经网络中被证明是有效的。原创 2023-07-30 22:37:05 · 167 阅读 · 0 评论 -
线性模型学习
由上面实验结果可以看出,当 w = 2 时,损失函数降到最低。因此这个时候找到了最优的线性模。型即为 y^ = 2x原创 2023-07-28 12:57:04 · 266 阅读 · 0 评论