Pytorch学习笔记
文章平均质量分 52
小帅吖
无
展开
-
Pytorch学习笔记(3)torch.autograd,逻辑回归模型训练
lesson5 torch.autogradgrad_tensors的使用w = torch.tensor([1.], requires_grad=True)x = torch.tensor([2.], requires_grad=True)a = torch.add(w, x) # retain_grad()b = torch.add(w, 1)y0 = torch.mul(a, b) # y0 = (x+w) * (w+1) dy0/dw = 5y1 = tor原创 2022-04-20 20:59:01 · 1203 阅读 · 0 评论 -
Pytorch学习笔记(2)一元线性回归、计算图示例
lesson3 一元线性回归模型提前说明一下可能有疑问的函数:torch.rand(20, 1) # 返回一个形状为(20,1)的,从0-1的均匀分布中抽取的一组随机数torch.randn(20, 1) # 返回一个形状为(20,1)的,从标准正态分布(均值为0,方差为1)中抽取的一组随机数整体代码import torchimport matplotlib.pyplot as plttorch.manual_seed(10)lr = 0.05 # 学习率 # 创建训练数据原创 2022-04-20 20:57:05 · 1391 阅读 · 0 评论 -
Pytorch学习笔记(1)检查torch、cuda,张量的创建
lesson1 检查torch、cudaimport torch# 打印torch版本print("Hello World, Hello PyTorch {}".format(torch.__version__))# 打印cuda是否可用,打印cuda版本print("\nCUDA is available:{}, version is {}".format(torch.cuda.is_available(), torch.version.cuda))# 打印cuda名称print("\nde原创 2022-04-20 20:53:57 · 2406 阅读 · 0 评论 -
Pytorch学习笔记(4)数据读取机制Dataloader与Dataset
数据读取机制Dataloader与DatasetDataloader作为一个迭代器主要有__iter__与__next__两个魔方方法for data, label in train_loader:for 循环会调用 dataloader 的 __iter__(self) 方法,以此获得迭代器来遍历 dataset__next__中有index和data,其中index是通过Sampler获取的,然后根据获取的index通过Dataset的dataset_fetcher从dataset中读取数据,原创 2022-01-10 20:29:48 · 688 阅读 · 0 评论 -
Pytorch学习笔记(3)线性回归从零开始实现
Pytorch学习笔记(3)线性回归从零开始实现主要包括以下几个部分:构建数据集,读数据集,初始化参数,定义模型,定义损失函数,定义优化算法,训练模型。1.构建数据集构建一个带有噪声的线性模型的1000个样本的数据集,每个样本从标准正态分布中随机采样2个特征我们使用线性模型参数w=[2,−3.4]⊤、b=4.2和噪声项ϵ生成数据集及其标签:y=X*w+b+ϵ.首先引入库import randomimport torchdef create_data(w, b, nums_example):原创 2021-12-10 22:57:12 · 851 阅读 · 0 评论 -
Pytorch学习笔记(2)自动求导
主要总结一下用到的一些函数1.requires_gradrequires_grad设置为True,它将开始追踪(track)在其上的所有操作,这样就可以利用链式法则进行梯度传播。x = torch.arange(4.0, requires_grad=True) # 1.将梯度附加到想要对其计算偏导数的变量2.grad_fn该属性即创建该Tensor的Function, 就是说该Tensor是不是通过某些运算得到的,若是,则grad_fn返回一个与这些运算相关的对象,否则是None。示例1:原创 2021-12-07 12:40:15 · 1117 阅读 · 0 评论 -
Pytorch学习笔记(1)数据操作
1.数据操作为什么要用tensor?答:Tensor提供GPU计算和自动求梯度等更多功能,这些使Tensor相比于numpy更加适合深度学习。1.1 创建tensor的方式1.用tenor.empty()创建未初始化的tensorx = torch.empty(5, 3)print(x)2.用tensor.rand()创建随机初始化的tensorx = torch.rand(5, 3)print(x)3.用tensor.zeros()创建全为0的tensorx = torch.ze原创 2021-12-05 19:36:46 · 435 阅读 · 0 评论