羊城迷鹿
你相信魔法吗?(广东某魔法学院毕业生,欢迎私信交流最新咒语、魔药配方和炼丹秘笈)
展开
-
深度神经网络与PyTorch进阶:专栏概要与内容目录
从理论到实践,全方位解析深度神经网络构建与优化。原创 2025-02-09 10:34:54 · 424 阅读 · 10 评论 -
安装与pytorch不同cuda版本的bitsandbytes
所以解决方案很简单,安装前输入一句。上,我找到了这样一段话。原创 2024-09-12 11:37:47 · 1117 阅读 · 0 评论 -
A Contrastive Learning Approach for Hierarchy Text Classification源码阅读
A Contrastive Learning Approach for Hierarchy Text Classification原创 2022-08-15 18:19:40 · 368 阅读 · 0 评论 -
bert模型的参数量和时间复杂度分析
这里主要比较了bert-base和albert-tiny。前者窄而深,后者宽而浅。需要注意的一点是,albert是对bert瘦了身,但只省了空间,没有省时间。因为虽然不同层共享了参数,但模型还是要经过这么多层算一遍。假设词表大小为V,句子长度为S,词向量维度为H,层数为L,自注意力头数为A,对于ALBert,其嵌入分解维度为E。模型的下游任务为多分类,标签数为K。............原创 2022-08-02 17:01:28 · 2564 阅读 · 0 评论 -
Transformers 源码阅读之BertTokenizerFast分词模型
从bert-base-chinese下载预训练语言模型及其他词表,由于使用的是pytorch,因此下载即可。如果要使用英文模型,就下载能区分大小写的或者是不能区分大小写的,对于uncased,初始化时必须要把lower设为true。在深入模型细节之前,我们先用一个简单的例子看一看BertTokenizerFast究竟是用来干什么的,需要什么样的输入,又会给出怎样的输出。...........................原创 2022-07-01 17:00:31 · 7371 阅读 · 0 评论 -
解决报错:AttributeError: module ‘torch‘ has no attribute ‘irfft‘
根据优快云博主的说法,这是因为版本问题导致的,但我不太想换版本,同时我又是在多个不同pytorch版本的服务器上跑代码,因此参考了一下知乎大佬的探索,在开头写了这一段,让新版本函数的输入输出和老版本一样,这下可以完美适配不同版本了try: from torch import irfft from torch import rfftexcept ImportError: from torch.fft import irfft2 from torch.fft import原创 2021-11-23 21:47:04 · 12170 阅读 · 0 评论 -
对近期学到的一些分类函数的整理
cross-entrophy(交叉熵)单标签多分类任务任务表述为从n个候选类别中选1个目标类别t,假设第i类的得分为sis_isi,目标类的得分为sts_tst【注意这里的得分就是模型直接输出的一个结果,并没有经过sigmod之类的处理,也没有要求其在01之间的约束】,则损失函数如下−logest∑i=1nesi=−st+log∑i=1nesi-\log \frac{e^{s_t}}{\sum\limits_{i=1}^n e^{s_i}}= - s_t + \log \sum\lim原创 2021-11-09 16:47:53 · 830 阅读 · 0 评论 -
unsqueeze在矩阵减法中的妙用
🎉进入深度神经网络与PyTorch进阶专栏 | 🚀查看更多专栏内容原创 2021-09-01 20:09:44 · 130 阅读 · 0 评论 -
详解pytorch的LayerNorm计算过程
参考了https://blog.youkuaiyun.com/weixin_39228381/article/details/107939602的理论讲解文章目录生成测试数据手动计算A1手动计算A2A1和A2的性质A1A2生成测试数据import torchfrom torch.nn import functional as FA = torch.randint(10, (3, 5)).float()Atensor([[0., 2., 9., 4., 8.], [2., 8., 0.原创 2021-08-29 16:41:11 · 1676 阅读 · 0 评论 -
知识图谱实体预测任务如何计算filtered MRR
什么是filtered MRR?首先什么是MRR呢?MRR即Mean Reciprocal Rank,在实体预测任务中,给定头/尾实体和关系,预测缺失的尾/头实体,由于预测难度较大,实体数量较多,难以直接用准确率来衡量模型性能(也就是如果正确实体的预测分数最大得一分,不是最大得零分),因此选用了更具平滑性的MRR。在MRR的计算过程中,目标实体的分数最大得一分,排第二大得1/2分,第三大得1/3分,最后取所有样本的平均记为整体的MRR。那什么是filtered MRR呢,在论文《Interaction原创 2021-08-03 17:32:44 · 2610 阅读 · 0 评论 -
pytorch用矩阵运算方法得到向量/矩阵间的相似度
引入包及生成数据...from torch import cosine_similarityfrom scipy.stats import pearsonrA = torch.randint(10, (1,10))B = torch.randint(10, (1,10))A, B = A.float(), B.float()A, B(tensor([[7., 2., 5., 6., 3., 8., 7., 3., 6., 6.]]), tensor([[4., 4., 8., 6.,原创 2021-07-27 17:44:37 · 4371 阅读 · 0 评论 -
再次记录一个关于梯度的奇怪情况,parameter真的不要乱用
import torchimport torch.nn as nnfrom torch.nn import Parameterfrom torch.nn.init import xavier_normal_from torch.nn import functional as Fdef get_param(shape): param = Parameter(torch.Tensor(*shape)) xavier_normal_(param.data) return par原创 2021-07-20 00:49:42 · 272 阅读 · 1 评论 -
pytorch如何让神经网络从本地直接读取npy文件作为参数
self.ajj = nn.Parameter(torch.tensor(np.load('adj.npy'), dtype=torch.float32), requires_grad=False)原创 2021-06-25 17:19:21 · 1963 阅读 · 0 评论 -
windows系统如何查看cuda版本
右上角有个cuda version原创 2021-03-14 22:57:23 · 1452 阅读 · 0 评论 -
将单通道的mnist image 拓展为三通道
images = images.expand(-1, 3, -1, -1)(64, 1, 28, 28)→(64, 3, 28, 28)原创 2021-01-03 15:11:33 · 2614 阅读 · 0 评论 -
解决报错:ValueError: Expected more than 1 value per channel when training
写了一个图片分类网络,之前跑一直没问题,换了一下训练集占的比例之后跑到最后一个batch突然报了这个错定位到出错的语句为我们知道bn操作需要计算一个batch内的均值和方差,所以,最后一个batch内到底包含几个样本呢?这样就得每次把这个单独的样本丢掉啦,dataloader改写成下面这种形式,加上drop_last=True...原创 2020-12-21 17:11:16 · 5850 阅读 · 0 评论 -
基于anaconda下的环境将py文件打包成exe
文章目录方法一激活对应环境在该环境下安装pyinstaller进入py文件所在的目录解决报错方法二方法一激活对应环境在该环境下安装pyinstaller进入py文件所在的目录解决报错第一次尝试打包出现如下错误卸载出错包即可解决成功打包方法二该方法适用于未在anaconda环境中安装pyinstaller,而想在系统中使用pyinstaller时依赖于a...原创 2020-05-03 11:31:48 · 2871 阅读 · 0 评论 -
jupyter notebook报“cuda runtime error (30) : unknown error at ..\aten\src\THC\THCGeneral.cpp:87“错误
详细报错命令行ok所以,重装ipython吧原创 2020-03-09 00:15:57 · 655 阅读 · 0 评论 -
pytorch计算模型关于输入数据的梯度
计算GPU模型关于输入的梯度device = torch.device('cuda:0')I1 = torch.cat([Train1, d1], dim = 1)# 注意y = Variable(t.cuda())生成一个节点y# y = Variable(t).cuda(),生成两个计算图节点t和y# 所以下面的to(device)一定要写括号里面v1 = Variable(I1....原创 2020-01-10 11:38:16 · 3787 阅读 · 2 评论 -
pytorch将变量转移到GPU计算梯度遇到的一个坑爹问题
我现在也不是很懂问题出在了哪里。。。为什么初始化时就设定device和后期设定to(device)结果相差会如此之大。x = torch.tensor(1.0, requires_grad=True)y = torch.tensor(2.0, requires_grad=True)z = x**2+yz.backward()print(z, x.grad, y.grad)tens...原创 2020-01-09 18:16:48 · 2531 阅读 · 5 评论 -
让jupyter notebook颜值up:jupyterthemes的不同样式
github:https://github.com/dunovank/jupyter-themesoceans16chesterishgrade3gruvboxdgruvboxlmonokaionedorksolarizeddsolarizedl原创 2019-11-01 20:03:15 · 664 阅读 · 0 评论 -
CNN模型的可视化方式
文章目录打印模型结构生成类原型 (Classes Prototype Generation)创建模型加载已经训练好的模型生成图片基于梯度的方法(Gradient based Methods)热力图(Saliency Map)定义网络计算热力图特征激活图(Feature activation map)Class Activation Map(CAM)Gradient-weighted Class A...原创 2019-09-14 14:12:30 · 1094 阅读 · 0 评论 -
Pytorch之ResNeXt网络的搭建
cardinalitycardinality, 指的是repeat layer的个数,下图右边cardinality为32。左图是ResNet的基本结构,输入channel size为64,右图是ResNeXt的基本结构,输入channel size是128,但两者具有相近的参数量。有三种等价的ResNeXt Block,如下图,a是ResNeXt基本单元,如果把输出那里的1x1合并到一...原创 2019-04-14 19:45:09 · 3776 阅读 · 0 评论 -
Pytorch搭建DenseNet
文章目录DenseNet与ResNeXtDenseNet网络的搭建Growth_rateTransition LayerBottleneck定义网络小测试问题1训练与测试可视化网络结构DenseNet与ResNeXt首先回顾一下DenseNet的结构,DenseNet的每一层都都与前面层相连,实现了特征重用。下图表示一个DenseBlock如图所示,在一个DenseBlock中,第i层的...原创 2019-04-13 18:11:59 · 5055 阅读 · 10 评论 -
Pytorch搭建FaceNet并应用于mnist
3.FaceNet有关FaceNet与triplet loss的理论知识请同学们复习理论课有关章节。在这里,我们将用triplet loss训练一个resnet18网络,并用这个网络在mnist数据集上进行KNN分类,具体的,resnet18相当于一个特征提取器,用所有的训练集图片的特征拟合一个KNN分类器,利用这个KNN分类进行预测. 在3.1小节,将给出triplet loss的实现. 3....原创 2019-04-16 16:00:50 · 4963 阅读 · 21 评论 -
使用Pytorch搭建CNN
文章目录卷积卷积层GPUCNN(卷积神经网络)一个简单的CNN准备数据与训练模型ResNet改变学习率SEVgg卷积下面的conv函数实现了对二维单通道图像的卷积.考虑输入的卷积核kernel的长宽相同,padding为对图像的四个边缘补0,stride为卷积核窗口滑动的步长.import numpy as npdef convolution(img, kernel, padding=...原创 2019-04-08 23:06:44 · 25354 阅读 · 29 评论 -
pytorch搭建神经网络玩转mnist
文章目录引入必要的包构建分类模型MNIST介绍设置网络结构重写_init_和forward方法,完成结构的搭建和前向传播训练过程设置超参数设法使weight和bias在初始化时拥有不同的参数分布默认型正态分布初始化为常数初始化为xaveir_uniform来保持每一层的梯度大小都差不多相同, 在tanh中表现的很好kaiming是针对于Relu的初始化方法,pytorch也是使用kaiming 初...原创 2019-04-05 16:40:30 · 979 阅读 · 0 评论 -
使用pytorch搭建神经网络
部分参考:https://zhuanlan.zhihu.com/p/51385110定义求导属性所有的tensor都有.requires_grad属性,都可以设置成自动求导。具体方法就是在定义tensor的时候,让这个属性为Trueimport torch# create a tensor with setting its .requires_grad as Turex = tor...原创 2019-03-21 22:36:22 · 2465 阅读 · 0 评论 -
pytorch从入门到出家
PyTorch是一个开源的Python机器学习库,基于Torch,应用于人工智能领域,如自然语言处理。它最初由Facebook的人工智能研究团队开发,并且被用于Uber的概率编程软件"Pyro"。PyTorch主要有两大特征:类似于NumPy的张量计算,但使用GPU加速基于带基自动微分系统的深度神经网络Tensor基本命令学习import torchprint(torch.__...原创 2019-03-18 11:31:06 · 1171 阅读 · 0 评论 -
用numpy实现一个神经网络
步骤定义拥有一个隐层的神经网络,完成前向和后向传播的算法。(方便起见仅使用weight不使用bias)加载数据并查看其分布。对数据进行一些处理。进行多轮训练。画图并检验预测效果# 加载必要模块import numpy as npimport pandas as pdnp.random.seed(1024)设计每一层的结构 ...原创 2019-03-20 01:05:58 · 1705 阅读 · 0 评论 -
pytorch实现多种经典GAN
文章目录GAN数据集问题:DCGANLSGANWGANn_d设置为5, 3, 1等,再次训练wGANWGAN-GPGANGAN网络结构分为两部分,生成器网络Generator和判别器网络Discriminator.生成器Generator将随机生成的噪声z通过多个线性层生成图片,注意生成器的最后一层是Tanh,所以我们生成的图片的取值范围为[-1,1],同理,我们会将真实图片归一化(nor...原创 2019-04-28 19:12:22 · 5784 阅读 · 5 评论 -
pytorch轻松计算模型的参数总量、占用显存量以及flops
from torchstat import statimport torchvision.models as modelsmodel = models.resnet152()stat(model, (3, 224, 224))原创 2019-05-08 10:57:27 · 14187 阅读 · 20 评论 -
使用清华源快速安装指定版本的TensorFlow
pip install tensorflow==1.0 -i https://pypi.tuna.tsinghua.edu.cn/simple/原创 2019-05-10 01:23:12 · 5093 阅读 · 4 评论 -
看图说话:从图片到文字
文章目录模型整体结构比较翻译模型和看图说话编码器模型解码器模型训练和评估了解数据集了解pack_padded_sequence函数和pad_packed_sequence函数对梯度进行clip操作epoch级别的训练函数epoch级别的评估函数引入注意力机制Soft attention原理及实现Attention矩阵相乘test(理解上面的encoder_out * alpha.unsqueeze...原创 2019-08-30 22:12:45 · 1585 阅读 · 0 评论 -
pytorch训练技巧大总结
文章目录模型加载随机种子设定与参数优化数据分割与交叉验证sklearn方式进行五折交叉验证计算训练集图片的均值和方差超参数设置数据增广分类网络引入resnet18在原始模型的基础上进行更改模型训练设置超参数对模型参数进行初始化训练流程保存模型迁移学习模型集成模型加载numpy: NumPy is the fundamental package for scientific computing ...原创 2019-08-14 14:06:55 · 2085 阅读 · 0 评论 -
LSTM的pytorch实现
文章目录LSTM探索矩阵乘法符号@自己实现的LSTM版本和官方实现相比较LSTM探索矩阵乘法符号@不管输入的两个矩阵到底是多少维,实际中都是只对最后两维做矩阵相乘的运算。import torchx = torch.randn(5,4,3)y = torch.randn(5,3,8)z = x@yz.shapetorch.Size([5, 4, 8])y = torch...原创 2019-05-29 17:35:24 · 34884 阅读 · 38 评论 -
使用RNN构建机器翻译模型
文章目录加载包和一些预处理定义模型结构Encoder结构Decoder结构训练和评估函数训练模型加载包和一些预处理%load_ext autoreload%autoreload 2%matplotlib inlineimport randomimport mathimport timeimport torchimport torch.nn as nnfrom torch i...原创 2019-05-27 16:04:19 · 2333 阅读 · 1 评论 -
探索矩阵乘法符号@
🎉进入深度神经网络与PyTorch进阶专栏 | 🚀查看更多专栏内容原创 2019-05-29 17:05:15 · 2065 阅读 · 0 评论 -
使用RNN来根据语言类型和首字母生成名字
文章目录2.1 搭建网络结构2.2 训练网络准备训练所需的数据(与上篇一致)开始训练绘制损失函数使用神经网络进行预测尝试Importance sampling2.1 搭建网络结构import torchimport torch.nn as nnclass GenerateRNN(nn.Module): def __init__(self, input_size, hidden_...原创 2019-05-27 00:23:19 · 1861 阅读 · 0 评论 -
搭建Rnn预测姓氏属于何种语言
读取数据glob 文件名模式匹配,不用遍历整个目录判断每个文件是不是符合。from __future__ import unicode_literals, print_function, divisionfrom io import openimport globimport osdef findFiles(path): return glob.glob(path)print...原创 2019-05-25 01:52:27 · 362 阅读 · 0 评论