
PyTorch
文章平均质量分 80
鹊踏枝-码农
专业码农20年-河畔青芜堤上柳,为问新愁,何事年年有?独立小桥风满袖,平林新月人归后。
展开
-
2022年11月100篇 diffusion models 扩散模型 汇总!
2022年11月100篇 diffusion models 扩散模型 汇总!原创 2022-12-09 10:47:17 · 2762 阅读 · 0 评论 -
PyTorch之利用预训练模型进行Fine-tuning教程
在Deep Learning领域,很多子领域的应用,比如一些动物识别,食物的识别等,公开的可用的数据库相对于ImageNet等数据库而言,其规模太小了,无法利用深度网络模型直接train from scratch,这时就需要把一些在大规模数据库上已经训练完成的模型拿过来,在目标数据库上直接进行Fine-tuning(微调),这个已经经过训练的模型对于目标数据集而言,只是一种相对较好的参数初始化方法...原创 2020-04-12 17:36:34 · 4058 阅读 · 1 评论 -
Learning to Compare: Relation Network for Few-Shot Learning source code
Paper下载地址:Learning to Compare: Relation Network for Few-Shot Learning原代码是基于如下的要求实现的:# RequirementsPython 2.7Pytorch 0.3,现已经更改为支持:# RequirementsPython 3.xPytorch 1.x代码下载地址(百度云):链接:h...原创 2019-12-01 21:31:06 · 649 阅读 · 14 评论 -
PyTorch利用多GPU训练深度学习网络
PyTorch深度学习框架可以利用GPU加速网络训练,网络太深,参数太多的话,很可能在利用GPU训练网络的时候导致GPU显存不够,无法继续训练。GPU的显存大小几乎与其价格成正比,显存越大,也就越贵。但是为了利用GPU训练深度学习网络模型,可能需要大显存的显卡,比如直接买一个1080ti,显存为11G,但是也可以退而求其次,买两个1070ti,总显存为16G,似乎更划算。那么,单机多卡(一台机器配...原创 2019-11-28 16:18:36 · 2194 阅读 · 0 评论 -
PyTorch权重初始化的几种方法
PyTorch在自定义变量及其初始化方法:self.fuse_weight_1 = torch.nn.Parameter(torch.FloatTensor(1), requires_grad=True)self.fuse_weight_1.data.fill_(0.25)如上是定义一个可学习的标量。也可以定义一个可学习的矩阵:self.fuse_weight_1 = torch...原创 2019-11-28 15:36:28 · 9928 阅读 · 0 评论 -
PyTorch自定义激活函数和为激活函数添加可学习的参数
在深度学习框架PyTorch中已经内置了很多激活函数,如ReLU等,但是有时根据个人需要,需要自定义激活函数,甚至需要为激活函数添加可学习的参数,如PReLU,具体参见PyTorch官方激活函数源码实现。对于不需要可学习参数的激活函数的实现,比较简单,具体见PyTorch官方教程的一个例子(所用PyTorch版本为1.2):# Inherit from Functionclass Li...原创 2019-10-30 11:14:44 · 13164 阅读 · 1 评论 -
在PyTorch中为可学习参数施加约束或正则项的方法
根据不同的需求,在PyTorch中有时需要为模型的可学习参数施加自定义的约束或正则项(regular term),下面具体介绍在PyTorch中为可学习参数施加约束或正则项的方法,先看一下为损失函数(Loss function)施加正则项的具体形式,如下为L2正则项:在上式中,是训练误差关于可学习参数w的函数,右边的第二项表示L2正则项。在PyTorch中L2正则项是默认内置实现的,其中的...原创 2019-08-22 16:15:42 · 9716 阅读 · 5 评论 -
Multiplication in PyTorch
1. Element-wise Multiplication*torch.Tensor.mul()torch.mul()2. Matrix Multiplicationtorch.Tensor.matmul()torch.matmul()torch.Tensor.mm()torch.mm()3. Batch Matrix Multiplicationto...原创 2019-07-17 17:14:50 · 2873 阅读 · 0 评论 -
通道随机混合操作(Channel Shuffle Operation)
通道随机混合操作(Channel Shuffle Operation)可以看成“重塑-转置-重塑”(“reshapetranspose-reshape”)操作。这里假设把4个Feature Maps级联后,共1024个Channels。现在我们想把这个1024个Channels随机打乱混合。首先把Channels重塑为(g, c),其中 g 表示分组数目,c=1024/g。然后把它转置一下为(...原创 2019-07-17 16:38:04 · 9483 阅读 · 0 评论 -
PyTorch Cookbook(常用代码段整理合集)
本文代码基于PyTorch 1.0版本,需要用到以下包import collectionsimport osimport shutilimport tqdmimport numpy as npimport PIL.Imageimport torchimport torchvision1 基础配置1-1 检查PyTorch版本torch.__version__ ...转载 2019-06-05 20:26:26 · 704 阅读 · 0 评论 -
PyTorch之图像和Tensor填充
在PyTorch中可以对图像和Tensor进行填充,如常量值填充,镜像填充和复制填充等。在图像预处理阶段设置图像边界填充的方式如下:import vision.torchvision.transforms as transformsimg_to_pad = transforms.Compose([ transforms.Pad(padding=2, paddin...原创 2019-01-23 10:55:19 · 10942 阅读 · 2 评论 -
PyTorch之nn.ReLU与F.ReLU的区别
import torch.nn as nnimport torch.nn.functional as Fimport torch.nn as nnclass AlexNet_1(nn.Module): def __init__(self, num_classes=n): super(AlexNet, self).__init__() self.f...原创 2019-01-22 22:08:26 · 72422 阅读 · 9 评论 -
CUDA error (3): initialization error (multiprocessing)
在使用PyTorch框架搭建完网络,训练时出现CUDA error (3): initialization error (multiprocessing)错误,此类错误(若确定网络搭建没问题的话)多半是因为有其它并行程序正在运行,占用,导致在运行PyTorch程序时无法启动多线程,导致报错。本人遇到此错误是因为在运行Matlab程序(parfor循环),启动多线程,Matlab程序运行完毕后而...原创 2019-01-04 11:11:20 · 4999 阅读 · 0 评论 -
PyTorch之前向传播函数forward
神经网络的典型处理如下所示:1. 定义可学习参数的网络结构(堆叠各层和层的设计);2. 数据集输入;3. 对输入进行处理(由定义的网络层进行处理),主要体现在网络的前向传播;4. 计算loss ,由Loss层计算;5. 反向传播求梯度;6. 根据梯度改变参数值,最简单的实现方式(SGD)为: weight = weight - learning_rate * gradient...原创 2018-11-14 11:37:40 · 116152 阅读 · 24 评论