
Pytorch系列
浅蓝的风
一场简单的旅行
展开
-
Windows下如何安装、升级显卡驱动和cuda、cudnn以及安装gpu版pytorch
注意:我这里提供的安装 方法,是解决直接使用pip安装报错安装不了的问题,并且Python环境已经搭建OK,这里我是以python3.10为例。注意:所有步骤都是傻瓜式操作,只是在安装选线的时候我们可以选择自定义安装,这样可以根据自己的要求选则那些不安装,不会的朋友建议全部选择。2. 安装torch和torchvision、torchaudio(选择上面下载好的whl文件进行安装)1. 下载torch和torchvision、torchaudio(注意:安装的cuda版本不能比上面的cuda版本高。原创 2024-10-29 23:12:07 · 1186 阅读 · 0 评论 -
pytorch中BCELoss二进制交叉熵损失函数的使用
1. 函数介绍创建一个衡量目标和输出之间二进制交叉熵的标准。注意:一般使用之前需要使用激活函数将数据处理成0到1之间,一般使用sigmoid函数。2. 原理理解3. 代码import torchx = torch.randn(size=[2, 2])sig = torch.nn.Sigmoid()out_ = sig(x)target = torch.FloatTensor([[1, 0], [0, 1]])loss = torch.nn.BCELoss()loss原创 2022-01-26 09:59:48 · 4729 阅读 · 0 评论 -
pytorch中torch.cholesky()函数的使用
1. 函数介绍:功能: 计算对称正定矩阵的Cholesky分解。A 或对于成批的对称正定矩阵。 如果 upper 为 True ,则返回的矩阵 U 为上三角,分解形式为: A=U^TU 如果 upper 为 False ,则返回的矩阵 L 为下三角,分解形式为: A=LL^T 如果 upper 为 True ,并且A 是一组对称的正定矩阵,则返回的张量将由各个矩阵的上三角Cholesky因子...原创 2022-01-20 17:46:35 · 4156 阅读 · 0 评论 -
Pytorch中clamp()函数
1、对Tensor中的元素进行范围过滤2、常用用于梯度裁剪。即在发生梯度离散或者梯度爆炸时对梯度的处理import torcha = torch.rand(2, 2).mul_(10)print(a)print(a.clamp(2, 5))"""out:tensor([[4.4173, 6.0047], [3.4808, 4.6272]])tensor([[4.4173, 5.0000], [3.4808, 4.6272]])"""...原创 2021-08-25 16:13:21 · 2078 阅读 · 0 评论 -
Pytorch中构建InceptionNet网络结构
import torchimport torch.nn as nn'''input: AresnetV2: B = g(A) + f(A)Inception:B1 = f1(A)B2 = f2(A)B3 = f3(A)B3 = f4(A)concat([B1, B2, B3, B4])'''def ConvBNRelu(in_channel, out_channel, kernel_size): return nn.Sequential( nn.C.原创 2021-08-25 16:10:53 · 694 阅读 · 0 评论 -
Pytorch中构建类ResNet18网络结构
1、网络结构构建:直接看代码'''ResNet-18 Image classfication for cifar-11 with PyTorchAuthor 'Sun-qian'.'''import torchimport torch.nn as nnimport torch.nn.functional as Fclass ResidualBlock(nn.Module): """ 定义一个残差模块,其中包含了一个主分支(left)和一个连接分支...原创 2021-08-26 10:17:23 · 1059 阅读 · 0 评论 -
Pytorch中构建类VGG网络结构做预测
直接看案例:1、构建网络import torchimport torch.nn as nnimport torch.nn.functional as Fclass VGGbase(nn.Module): """ 构建类VGG网络结构 """ def __init__(self): super(VGGbase, self).__init__() # 3 * 28 * 28 (crop:32转成28大小) se原创 2021-08-25 16:12:04 · 581 阅读 · 0 评论 -
Pytorch中的torch.utils.data.DataLoader()和transforms.Compose()的使用
1、transforms.Compose()torchvision.transforms.Compose()类。主要作用是串联多个图片变换的操作。2、torch.utils.data.DataLoader()批训练,把数据变成一小批一小批数据进行训练。 DataLoader就是用来包装所使用的数据,每次抛出一批数据综合案例:from torchvision import transforms # 数据增强的包from torch.utils.da...原创 2021-08-25 16:12:28 · 2304 阅读 · 0 评论 -
Pytorch中如何在网络结构中添加正则化
L1正则:参数绝对值的和L 2正则:参数的平方和(Pytorch自带,weight_decay)op = torch.optim.SGD(model.parameters(), lr=0.001, weight_decay=0.001)原创 2021-08-26 10:16:54 · 2321 阅读 · 0 评论 -
Pytorch中如何实现上采样层
原创 2021-08-26 10:16:04 · 1180 阅读 · 0 评论 -
在Pytorch中使用mnist数据集做分类案例
案例:import torchimport torchvision.datasets as datasetimport torchvision.transforms as transformsimport torch.utils.data as data_utilsimport cv2# datatrain_data = dataset.MNIST(root='./mnist', train=True,原创 2021-08-26 10:14:17 · 636 阅读 · 0 评论 -
Pytorch中使用nn.Linear()做房价预测
一、函数讲解nn.Linear(in_features, out_features)in_features:指的是输入的二维张量的大小,即输入的[batch_size, size]中的size。out_features:指的是输出的二维张量的大小,即输出的二维张量的形状为[batch_size,output_size],当然,它也代表了该全连接层的神经元个数。Examples:: m = nn.Linear(20, 30) input = torch.randn(128, 20原创 2021-08-26 10:14:45 · 1386 阅读 · 0 评论 -
Pytorch中的torch.masked_select()、torch.gather()、torch.index_select()等数据筛选函数的使用
案例:import torcha = torch.rand(4, 4)b = torch.rand(4, 4)print(a)print(b)out = torch.where(a > 0.5, a, b)print(out)a = torch.rand(4, 4)print(a)out = torch.index_select(a, dim=0, index=torch.tensor([0, 3]))print(out)print(out.shape)# 在...原创 2021-08-24 09:33:33 · 1629 阅读 · 0 评论 -
Pytorch中的torchvision使用
原创 2021-08-24 09:34:14 · 392 阅读 · 0 评论 -
Pytorch中的Visdom和tensorboardX的使用
一、Visdom1、Visdom是Pytorch的一个可视化工具:支持数值、图像、文本、视频、折线图等格式2、安装: pip install visdom3、启动 python -m visdom.server二、tensorboardX1、安装: pip install tensorboardX2、案例:from tensorboardX import SummaryWriterw = SummaryWrite...原创 2021-08-24 09:34:37 · 582 阅读 · 0 评论 -
Pytorch中的nn.ModuleList()、nn.ModuleDict()、nn.module()的使用
原创 2021-08-24 09:34:57 · 2079 阅读 · 0 评论 -
Pytorch中nn.Sequential()函数的使用
原创 2021-08-24 09:35:08 · 2327 阅读 · 0 评论 -
python中的nn.functional的使用
案例:原创 2021-08-24 09:34:47 · 753 阅读 · 0 评论 -
Pytorch中的nn.Linear()、nn.Conv2d()等函数
原创 2021-08-24 09:35:17 · 1722 阅读 · 0 评论 -
Pytorch中的nn.Parameter()、nn.ParameterList()、nn.ParameterDict()函数的使用
定义网络模型可训练参数原创 2021-08-24 09:36:01 · 2374 阅读 · 0 评论 -
Pytorch中的torch.autograd.Function的使用
案例:import torchclass Line(torch.autograd.Function): """ 自定义前向和反向传播 """ @staticmethod def forward(ctx, w, x, b): """ 前向传播 :param ctx: 上下文管理器 :param w: :param x: :param b: ...原创 2021-08-24 09:36:11 · 1699 阅读 · 0 评论 -
Pytorch中的torch.autograd.grad()函数的使用
原创 2021-08-26 10:19:00 · 1716 阅读 · 0 评论 -
Pytorch中torch.autograd.backward()函数的使用
原创 2021-08-25 16:18:09 · 677 阅读 · 0 评论 -
Pytorch中实现CPU和GPU之间的切换
案例:# 判断是否可以使用GPUif torch.cuda.is_available(): d = torch.device('cuda') a = torch.tensor([[1, 2], [3, 4]]) b = torch.ones_like(a, device=d) # b在GPU上操作 c = a.to(device=d) # c在GPU上操作 d = torch.add(a, b) print(d) print(...原创 2021-08-25 16:16:49 · 1284 阅读 · 0 评论 -
Pytorch中Tensor的变形操作
原创 2021-08-25 16:15:58 · 676 阅读 · 0 评论 -
pytorch中的torch.chunk()和torch.split()切片函数
案例:import torcha = torch.rand(size=[3,4])print(a)out = torch.chunk(a, 2, dim=0)print(out)a = torch.rand(size=[3,4])print(a)out = torch.split(a, 2, dim=0)print(out)a = torch.rand(size=[6,4])print(a)out = torch.split(a, [2,4], dim=0)p...原创 2021-08-25 16:14:24 · 1107 阅读 · 0 评论 -
pytorch中的索引与数据筛选
案例:import torcha = torch.rand(4, 4)b = torch.rand(4, 4)print(a)print(b)out = torch.where(a > 0.5, a, b)print(out)print('*' * 100)a = torch.rand(4, 4)print(a)out = torch.index_select(a, dim=0, index=torch.tensor([0, 3]))print(out)print..原创 2021-08-24 09:34:00 · 1245 阅读 · 0 评论 -
Pytorch中与统计相关的函数
原创 2021-08-25 16:09:37 · 451 阅读 · 0 评论 -
Pytorch中常见的聚合函数
函数汇总 torch.mean() 返回平均值 torch.sum() 返回总和 torch.prod() 计算所有元素的积 torch.max() 返回最大值 torch.min() 返回最小值 torch.argmax() 返回最大值排序的索引值 torch.argmin() 返回最小值排序的索引值 ...原创 2021-08-23 21:44:07 · 866 阅读 · 0 评论 -
Pytorch中常用的三角函数
原创 2021-08-23 21:37:51 · 660 阅读 · 0 评论 -
Pytorch中torch.isfinite()、torch.isinf()、torch.isnan()函数的使用
原创 2021-08-23 21:36:01 · 2783 阅读 · 0 评论 -
Pytorch中的比较运算
案例:案例:import torcha = torch.rand(2,3)b = torch.rand(2,3)print(a)print(b)print(torch.eq(a, b))print(torch.equal(a, b))print(torch.ge(a, b))print(torch.gt(a, b))print(torch.le(a, b))print(torch.lt(a, b))# 排序a = torch.tensor(data=[[3, .原创 2021-08-23 21:31:48 · 477 阅读 · 0 评论 -
Pytorch中的取整和取余的运算
案例:import torcha = torch.rand(2, 2).mul_(10)print(a)print(torch.floor(a)) # 向下取整print(torch.ceil(a)) # 向上取整print(torch.round(a)) # 四舍五入print(torch.frac(a)) # 取小数部分"""tensor([[7.8476, 0.2960], [8.8300, 6.9507]])tensor([[7., 0.]原创 2021-08-23 21:26:08 · 5766 阅读 · 0 评论 -
Pytorch中的广播机制
广播机制:张量参数可以自动扩展为相同大小广播机制需要满足两个条件: ① 每个张量至少有一个维度 ② 满足右对齐案例:a = torch.rand(2, 1)b = torch.rand(3)c = torch.add(a, b)print(a)print(b)print(c)"""tensor([[0.0121], [0.9789]])tensor([0.1547, 0.4282, 0.2488])tensor([[0...原创 2021-08-23 21:21:54 · 610 阅读 · 0 评论 -
Pytorch中的矩阵相乘用法
案例:# 矩阵相乘有以下五种方式a = torch.ones(2,1)b = torch.ones(1,2)c = torch.matmul(a, b)print(c)print(torch.mm(a, b))print(a @ b)print(a.matmul(b))print(a.mm(b))"""tensor([[1., 1.], [1., 1.]])tensor([[1., 1.], [1., 1.]])tensor([[1., 1.]原创 2021-08-23 21:02:38 · 839 阅读 · 0 评论 -
Pytorch中常见的算数运算
案例:import torch# a = torch.rand(2, 1, 3) + torch.rand(3)a = torch.rand(2, 1) + torch.rand(3)print(a)a = torch.tensor(2)b = torch.tensor(3)c = torch.add(a, b)print(c) # 5print(a) # 2# 会修改原始值,add_函数a.add_(b)print(a) # 5"""out:tensor(5原创 2021-08-23 20:57:21 · 730 阅读 · 0 评论 -
Pytorch中常见函数的使用
案例:import torch# 创建一个二维的Tensora = torch.Tensor([[1, 2], [3, 4]]) # 这个可以创建一个空的Tesorprint(a)print(a.type())a = torch.tensor([[1, 2], [3, 4]]) # 这个创建一个空的会报错print(a)print(a.type())# 直接给形状# 系统会随机分配值a = torch.Tensor(2, 3)print(a)print(a.type())原创 2021-08-23 20:45:12 · 625 阅读 · 0 评论 -
torch.sparse_coo_tensor()函数-创建稀疏张量
案例:import torcht = torch.tensor(data=[2, 2], dtype=torch.float32, device=torch.device('cpu'))print(t)# 创建稀疏张量# 指定坐标i = torch.tensor([[0,1,2], [0,1,2]])# 指定坐标上的值v = torch.tensor([1,2,3])a = torch.sparse_coo_tensor(indices=i, values=v, size=[4原创 2021-08-23 20:41:35 · 4601 阅读 · 1 评论