![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PyTorch
victor-gx
这个人很懒,还没有写简介
展开
-
链式法则(Chain rule)
Chain rule>>> x=torch.tensor(1.)>>> w1=torch.tensor(2.,requires_grad=True)>>> b1=torch.tensor(1.)>>> w2=torch.tensor(2.,requires_grad=True)>>> b2=torch.tensor(1.)>>> y1=x*w1+b1>>> y2=y1原创 2022-02-11 23:42:51 · 687 阅读 · 0 评论 -
感知机(Perceptron)
感知机单一输出感知机Perceptron>>> x=torch.randn(1,10)>>> w=torch.randn(1,10,requires_grad=True)>>> o=torch.sigmoid(x@w.t())>>> o.shapetorch.Size([1, 1])>>> loss=F.mse_loss(torch.ones(1,1),o)>>> loss.sha原创 2022-02-10 23:40:17 · 54 阅读 · 0 评论 -
LOSS及其梯度
LOSS及其梯度Typical LossMean Squared Error(MSE)Derivativeautograd.grad>>> x=torch.ones(1)>>> w=torch.full([1],2.)>>> mse=F.mse_loss(x*w,torch.ones(1))>>> msetensor(1.)>>> torch.autograd.grad(mse,[w])Tra原创 2022-02-09 23:58:03 · 1905 阅读 · 0 评论 -
激活函数及其梯度
激活函数及其梯度sigmoidDerivative>>> a=torch.linspace(-100,100,10)>>> atensor([-100.0000, -77.7778, -55.5556, -33.3333, -11.1111, 11.1111, 33.3333, 55.5556, 77.7778, 100.0000])>>> torch.sigmoid(a)tensor([0.0原创 2022-02-08 23:41:14 · 494 阅读 · 0 评论 -
Tensor高阶OP
高阶OPwhereexample>>> condtensor([[0.1251, 0.6173], [0.8600, 0.1675]])>>> atensor([[0., 0.], [0., 0.]])>>> btensor([[1., 1.], [1., 1.]])>>> torch.where(cond>0.5,a,b)tensor([[1., 0.],原创 2022-02-07 23:51:43 · 66 阅读 · 0 评论 -
Tensor的统计属性
统计属性norm-p>>> a=torch.full([8],1.)>>> b=a.view(2,4)>>> c=a.view(2,2,2)>>> btensor([[1., 1., 1., 1.], [1., 1., 1., 1.]])>>> ctensor([[[1., 1.], [1., 1.]], [[1., 1.], [1.原创 2022-02-06 23:37:17 · 1282 阅读 · 0 评论 -
Tensor的基本运算
基本运算Add/minus/multiply/divide>>> a=torch.rand(3,4)>>> b=torch.rand(4)>>> a+btensor([[1.5473, 0.8469, 1.3391, 0.4954], [1.8049, 1.5318, 1.4299, 0.6006], [1.1770, 1.3373, 0.7201, 1.2777]])>>> torch.ad原创 2022-02-05 23:50:58 · 297 阅读 · 0 评论 -
Tensor的合并与分割
合并与分割Cat>>> a=torch.rand(4,32,8)>>> b=torch.rand(5,32,8)>>> torch.cat([a,b],dim=0).shapetorch.Size([9, 32, 8])for example>>> a1=torch.rand(4,3,32,32)>>> a2=torch.rand(5,3,32,32)>>> torch.cat(原创 2022-02-04 23:59:54 · 747 阅读 · 0 评论 -
Tensor的维度变换
维度变换OperationView/reshape>>> a=torch.rand(4,1,28,28)>>> a.shapetorch.Size([4, 1, 28, 28])>>> a.view(4,28*28)tensor([[0.1881, 0.6594, 0.4549, ..., 0.5385, 0.8488, 0.4619], [0.7678, 0.0459, 0.3048, ..., 0.0318, 0.7原创 2022-02-03 23:43:14 · 2349 阅读 · 0 评论 -
Tensor的索引与切片
索引与切片Indexing>>> a=torch.rand(4,3,28,28)>>> a[0].shapetorch.Size([3, 28, 28])>>> a[0,0].shapetorch.Size([28, 28])>>> a[0,0,2,4]tensor(0.5978)select first/last N>>> a.shapetorch.Size([4, 3, 28, 28])&原创 2022-02-02 23:39:54 · 252 阅读 · 0 评论 -
创建Tensor
创建TensorImport from numpy>>> import numpy as np>>> import torch>>> a=np.array([2,2.3])>>> torch.from_numpy(a)tensor([2.0000, 2.3000], dtype=torch.float64)>>> a=np.ones([2,3])>>> torch.from_numpy原创 2022-02-02 01:02:28 · 74 阅读 · 0 评论 -
利用PyTorch进行完整的模型训练
完整的模型训练import torchvisionfrom torch.utils.tensorboard import SummaryWriterfrom model import *# 准备数据集from torch import nnfrom torch.utils.data import DataLoadertrain_data = torchvision.datasets.CIFAR10(root = "../dataset", train = True, transform =原创 2022-01-30 23:44:08 · 652 阅读 · 0 评论 -
PyTorch现有网络模型的使用和修改
PyTorch现有网络模型的使用和修改import torchvision# train_data = torchvision.datasets.ImageNet("dataset", split = 'train', download = True,# transform = torchvision.transforms.ToTensor())from torch import nnvgg16_false原创 2022-01-30 00:59:10 · 1769 阅读 · 0 评论 -
PyTorch搭建小实践
PyTorch搭建小实践import torchfrom torch import nnfrom torch.nn import Conv2d, MaxPool2d, Flatten, Linear, Sequentialfrom torch.utils.tensorboard import SummaryWriterclass Model(nn.Module): def __init__(self): super(Model, self).__init__()原创 2022-01-28 23:52:09 · 1389 阅读 · 0 评论 -
PyTorch中线性层的操作
线性层参数:in_features: 每个输入样本的大小out_features:每个输出样本的大小bias:如果设置为False,该层将不会学习附加偏差。默认:Trueimport torchimport torchvisionfrom torch import nnfrom torch.nn import Linearfrom torch.utils.data import DataLoaderdataset = torchvision.datasets.CIFAR10(ro原创 2022-01-27 23:45:18 · 516 阅读 · 0 评论 -
PyTorch中非线性激活函数
非线性激活import torchimport torchvisionfrom torch import nnfrom torch.nn import ReLU, Sigmoidfrom torch.utils.data import DataLoaderfrom torch.utils.tensorboard import SummaryWriterinput = torch.tensor([[1, -0.5], [-1, 3]])inp原创 2022-01-27 00:26:54 · 1441 阅读 · 0 评论 -
PyTorch中卷积的简单操作
卷积Conv1dConv1dinput:形状的输入张量weight: 形状过滤器bias:形状的可选偏置张量( out_channels ). 默认:Nonestride:卷积核的步长。可以是单个数字或元组(sH, sW)。默认值:1padding:输入两侧的隐式填充。可以是字符串 {‘valid’, ‘same’}、单个数字或元组(padH, padW)。默认值:0 padding='valid'与无填充相同。padding='same'填充输入,使输出具有作为输入的形原创 2022-01-25 23:53:18 · 1824 阅读 · 4 评论 -
池化层的使用
池化层MaxPool2dkernel_size:窗口的大小以达到最大值stride:窗口的步幅。默认值为kernel_sizepadding:要在两侧添加隐式零填充dilation: 控制窗口中元素步幅的参数return_indices:如果True,将返回最大索引和输出。ceil_mode:当为 True 时,将使用ceil而不是floor来计算输出形状import torchfrom torch import nnfrom torch.nn import MaxPool2d原创 2022-01-23 23:39:42 · 1210 阅读 · 0 评论 -
PyTorch中data的处理
Dataset类的使用from torch.utils.data import Datasetfrom PIL import Imageimport osclass MyData(Dataset): def __init__(self, root_dir, label_dir): self.root_dir = root_dir self.label_dir = label_dir self.path = os.path.join(sel原创 2022-01-22 23:48:52 · 432 阅读 · 0 评论 -
PyTorch中数据集的使用
torchvision中得数据集使用pytorch中为我们提供了常用的数据集,可以同过代码下载root:表示数据集路径,cifar-10-batches-py如果下载设置为 True,则目录存在或将保存到该目录 。train:如果为 True,则从训练集创建数据集,否则从测试集创建transfrom:它接受一个 PIL 图像并返回一个转换后的版本。例如,下面用到的transforms.Composetarget_transform:接收目标并转换它的函数/转换download如果为 true,原创 2022-01-21 22:55:08 · 1184 阅读 · 0 评论 -
PyTorch中TensotBoard的使用
TensotBoard的使用add_scalar()的使用from torch.utils.tensorboard import SummaryWriterwriter = SummaryWriter("logs") # 事件存放路径for i in range(100): writer.add_scalar("y=2x", 2*i, i) # 图像名 y轴 x轴writer.close()打开事件方法在Pycharm左下角打开终端输入tensorboard --logdir原创 2022-01-20 23:42:13 · 1122 阅读 · 0 评论 -
Python学习中的两大法宝函数
Python学习中的两大法宝函数一般的教程的介绍顺序是:基本的数据类型,一些常用函数之类的。但我在学习的过程中,比如他在介绍 b函数,总会引入 a函数之类的。而 a函数的意义我又不知道,就很烦了。而且,我还不知道每个模块中,有哪些函数,整个学习过程中,对我来说太痛苦了。所以,这次我会介绍 Python 中的两个法宝函数,它试用于任何 Python Package,所以,当然也适用于 PyTorch。Package 与 两大法宝函数一个 Package 就好像一个工具箱。现在来解析,这个名为 py原创 2022-01-19 23:46:43 · 273 阅读 · 0 评论 -
PyTorch环境配置及安装
1、Anacond下载Anaconda 的下载地址:https://www.anaconda.com/distribution/(目前,页面上是 Python3.9 的版本)Anaconda历史版本链接:https://repo.continuum.io/archive/2、Anaconda 安装双击进行安装,需要注意以下几点:记住安装路径,之后会用到跳过安装 Microsoft VSCode为了检验是否安装成功,在开始菜单出,左击 Anaconda Prompt如果可以成功打开,且左边有原创 2022-01-19 00:05:59 · 2336 阅读 · 0 评论