pytorch
snow5618
梦在远方,路在脚下,初心不忘,方可抵达。
展开
-
知识蒸馏之手写体识别
知识蒸馏本文主要是根据该网站视频(https://www.bilibili.com/video/BV1s7411h7K2?t=906)进行总结,如有理解误差,望批评指点1. 首次提出首次提出:https://arxiv.org/pdf/1503.02531.pdf作者的动机是想找到一个方法,把多个模型的知识提炼给单个模型。虽然现在很多分类模型都采用交叉熵衡量预测值与真实值,然而真实值采用的one-hot向量所能提共的信息没有概率分布多。原理:概率分布比onehot更能提供信息-暗知识。lo原创 2021-04-22 11:56:45 · 431 阅读 · 2 评论 -
RuntimeError: CUDA out of memory. Tried to allocate 22.00 MiB (GPU 0; 10.76 GiB total capacity; 9.61
RuntimeError: CUDA out of memory. Tried to allocate 22.00 MiB (GPU 0; 10.76 GiB total capacity; 9.61 GiB already allocated; 4.50 MiB free; 332.12 MiB cached)有时遇到这种情况,怎么改batchsize都还是会报内存溢出错误,nVidia-smi时发现gpu很多空闲,这时出现的原因极可能就是中间变量数据导致的,这时可以检查loss,acc,pred等中间原创 2021-04-04 13:30:29 · 3259 阅读 · 1 评论 -
【论文阅读笔记】SCR: Self-Critical Reasoning for Robust Visual Question Answering
论文地址:https://arxiv.org/pdf/1905.09998v3.pdf项目地址:https://github.com/jialinwu17/Self_Critical_VQA摘要Visual Question Answering (VQA) deep-learning systems tend to capture superfi-cial statistical correlations in the training data because of strong language原创 2021-03-23 17:13:19 · 461 阅读 · 0 评论 -
关于pytorch复现模型的一些报错总结
1.RuntimeError: One of the differentiated Tensors does not require grad关于这个报错的意思是:有一个参数不需要计算导数此torch.autograd.grad函数参数如下:outputs,inputs,函数功能是求outputs关于inputs的导数,此处的inputs需要加requires_grad_()定义:v = Variable(v).to(device).requires_grad_()2. RuntimeError:原创 2021-03-17 20:13:44 · 6198 阅读 · 0 评论 -
pytorch安装进度为0解决方法
在终端添加以下源conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forgeconda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anac原创 2021-03-09 17:35:18 · 2006 阅读 · 0 评论 -
VQA-ReGat 项目运行遇到的错误
VQA-ReGat:关系感知图形注意网络用于VQA项目地址论文地址1.torch报错:StopIteration: Caught StopIteration in replica 0 on device 0.原因:多GPU运行此项目报错,可能是torch版本错误。修改:按照别的博客将 weight = next(self.parameters()).data改为weight = torch.float322.仍报错:AttributeError: 'torch.dtype' no att原创 2020-11-21 10:34:56 · 3640 阅读 · 19 评论 -
【数据分析】之ReGat的VQAFeaturesDataset加载
1 .VQAFeatureDataset此类是ReGat项目对torch自带的from torch.utils.data import Dataset的重写,是模型运行的时候训练集和测试集的加载,加载的数据是模型forward函数的参数。如下:regat.forward(): def forward(self, v, b, q, implicit_pos_emb, sem_adj_matrix, spa_adj_matrix, labels): "原创 2020-11-17 12:34:25 · 544 阅读 · 3 评论 -
【结果分析】之block项目
blockvqa项目介绍1.vqaEval# This code is based on the code written by Tsung-Yi Lin for MSCOCO Python API available at the following link: # (https://github.com/tylin/coco-caption/blob/master/pycocoevalcap/eval.py).import sysimport reclass VQAEval: de原创 2020-11-23 16:57:25 · 462 阅读 · 0 评论 -
【数据处理】之读取hdf5文件
hdf5文件HDF5是一种常见的跨平台数据存储文件,可以存储不同类型的图像和数码数据,并且可以在不同类型的机器上传输,同时还有统一处理这种格式的函数库HDF5文件一般以.h5和.hdf5作为后缀名,hdf5文件结构中有2个主要对象:Groups和Datasets,Groups:类似于文件夹,每个hdf5文件其实就是根目录groupDatasets:类似于Numpy中的数组hdf5读取参考#!/usr/bin/python# -*- coding: UTF-8 -*-## Create原创 2020-11-14 17:43:24 · 5987 阅读 · 1 评论 -
【数据处理】pth文件读取
1. 数据处理首先将json文件(如下),经过一系列处理好保存在trainset.pth文件中1.1 json文件数据预处理----trainset.pth文件 self.path_trainset = osp.join(self.subdir_processed, 'trainset.pth') #将vqa2.0json文件处理好后存放的地方 def process(self): dir_ann = osp.join(self.dir_raw, 'annota原创 2020-11-12 11:02:10 · 9636 阅读 · 1 评论 -
【数据处理】之读取csv文件报错
报错1:OverflowError: Python int too large to convert to C long将csv.field_size_limit(sys.maxsize)更改为下:import sysmaxInt = sys.maxsizedecrement = Truewhile decrement: decrement = False try: csv.field_size_limit(maxInt) except OverflowE原创 2020-11-12 09:25:18 · 927 阅读 · 1 评论 -
视觉问答项目
视觉问答项目1. 项目地址本笔记项目包括如下:MCAN(Deep Modular Co-Attention Networks for Visual Question Answering)用于VQA的深层模块化的协同注意力网络项目地址:MCAN_paper代码地址:MCAN_codemurel(Multimodal Relational Reasoning for Visual Question Answering)视觉问答VQA中的多模态关系推理项目地址:murel_paper原创 2020-11-12 11:15:04 · 1744 阅读 · 7 评论 -
添加自己的参数和网络
1. add networkfrom .net import Netfrom .my_net import MyNetdef factory(engine=None): Logger()('Creating mnist network...') if Options()['model']['network']['name'] == 'net': network = Net() # 要设置好网络的名字 #model: # name: simple #原创 2020-11-08 23:04:35 · 243 阅读 · 0 评论 -
pytorch之Bootstrap简单介绍
根据 bootstrap.pytorch官方翻译的1 简介Bootstrap是启动深度学习项目的高级框架。它旨在通过提供只关注数据集和模型的强大工作流来加速研究项目和原型开发。1.1 下载pip install bootstrap.pytorch2 内容bootstrap包含Engine(启动引擎),Dataset(数据集),Model(模型),Options(选择),Logger(日志),View(评估可视化)模块,具体内容如下:2.1 EngineBoostrap的核心是boo.原创 2020-11-08 22:36:07 · 1489 阅读 · 2 评论 -
VQA-object_counting代码项目分析
0. 写在前面本文主要介绍《LEARNING TO COUNT OBJECTS IN NATURAL IMAGES FOR VISUAL QUESTION ANSWERING》的代码项目,也就是别人的代码加上自己的注释。。。博客地址:https://blog.csdn.net/snow_maple521/article/details/109190431论文地址:https://github.com/Cyanogenoid/vqa-counting项目地址:https://openreview.n原创 2020-11-12 11:16:20 · 1022 阅读 · 3 评论 -
[论文阅读笔记]:LEARNING TO COUNT OBJECTS IN NATURAL IMAGES FOR VISUAL QUESTION ANSWERING
物体计数在VQA任务中的应用摘要Visual Question Answering (VQA) models have struggled with counting objects in natural images so far. We identify a fundamental problem due to soft attention in these models as a cause. To circumvent this problem, we propose a neural net原创 2020-10-22 12:24:33 · 839 阅读 · 1 评论 -
Multi-modality Latent Interaction Network for Visual Question Answering 面向视觉问题回答的多模态潜在交互网络
摘要现有的VQA技术大多是对单个视觉区域和单词之间的关系进行建模,这不足以正确回答问题,从人类角度考虑,回答视觉问题需要理解视觉和问题信息的概要。本文提出MLI模块,能够学习潜在的视觉和语言的概要之间的跨模态关系,该模式将视觉区域和问题汇总为少量的潜在表示,从而避免对单个区域和单词关系进行建模。这种潜在的表示融合了两种模式的有价值的信息,并被用于更新视觉和语言的特征。这个MLI模块可以堆叠多个阶段,以对两种模式之间的复杂和潜在关系进行建模。1.引言在视觉问答技术中,之前的研究涉及:获取更好的图像特征和原创 2020-10-11 11:39:44 · 526 阅读 · 0 评论 -
注意力之双线性模型注意力
本文主要针对两篇论文:双线性注意力网络模型和深度模块化注意力进行总结,加上自己对其的理解。若有不足,还望指出。论文地址:双线性注意力网络深度模块化注意力项目地址:双线性注意力网络深度模块化注意力0. 写在前面首先我们要知道什么是注意力机制和什么是双线性模型0.1 注意力机制注意力一词来源与我们自身的视觉系统,现实生活中,我们观察事物倾向于将信息集中进行分析而忽略掉图像中的无关信息。同样,在计算机视觉研究领域中,也存在类似情况,例如VQA任务,可能只有图像中的个别对象与我们的答案有关,.原创 2020-09-22 14:23:59 · 7959 阅读 · 1 评论 -
MUTAN:Multimodal Tucker Fusion For Visual Question Answering
MUTAN:Multimodal Tucker Fusion For Visual Question Answering1. 摘要虽然Bilinear models(双线性模型)在VQA中能够很好的融合信息,帮助学习问题意义和图像内容之间的高级关联,但是存在高维度问题,所以本文引入MUTAN概念——基于多模态张量Tucker分解,能够有效的在视觉和文本的双线性交互(Bilinear models)的模型中进行参数化,除Tucker分解之外,还设计了基于矩阵的低秩分解 来明确限制交互等级。2. 引言V原创 2020-09-19 21:34:11 · 1760 阅读 · 2 评论 -
Hierarchical Co-Attention for Visual Question Answering----代码细读
分层共同注意力代码解读本文主要是对分层共同注意力的其中一篇代码解读,该代码不是原作者写的,原作者用的是torch,源码地址:https://github.com/jiasenlu/HieCoAttenVQA本文用到的源码地址:https://github.com/karunraju/VQA1. 总体代码结构代码结构主要包含,谁是父类,谁是子类,谁调用谁…等,我将代码的结构,用思维导图表示,如下:详细如下:接下来,分别介绍每个文件。2. dataset.py相应的注释在代码中已标注原创 2020-09-14 18:23:23 · 900 阅读 · 0 评论 -
神经网络之模型搭建和参数优化---基于CNN
模型搭建与参数优化本文主要是复习pytorch实战计算机视觉的内容,模型采用CNN,数据集是手写体1.模型搭建class Model(torch.nn.Module): def __init__(self): super(Model,self).__init__() self.conv1 = torch.nn.Sequential( torch.nn.Conv2d(1,64,kernel_size=3,stride=1,padding原创 2020-09-11 20:55:39 · 429 阅读 · 0 评论 -
神经网络之基于pytorch的数据预处理
数据预处理pytorch框架中有两个核心包,torch和torchvision,其中torch中包含torch.optim参数优化,torch.autograd梯度自动更新torchvision包的主要功能是实现数据的处理,导入和预览。本文将以手写体为实验进行数据加载,处理与预览1. 导入包import torchfrom torchvision import datasets,transformsfrom torch.autograd import Variabledatas原创 2020-09-11 19:40:35 · 679 阅读 · 0 评论 -
CNN与RNN的详细介绍
CNN与RNN的区别本文主要总结我对李宏毅老师讲的CNN和RNN的理解,通过对比总结各自的优势,同时加深自己对这方面知识的理解。1、CNN介绍CNN是一种利用卷积计算的神经网络。它可以通过卷积计算将原像素很大的图片保留主要特征变成很小的像素图片。本文介绍方式以李宏毅老师ppt内容为主,具体下面介绍。1.1 Why CNN for Image①为什么引入CNN??图片示意:给定一个图片放入全连接神经网络,第一个hidden layer识别这张图片有没有绿色出现?有没有黄色出现?有没有斜的原创 2020-09-10 21:22:54 · 15394 阅读 · 2 评论 -
Hierarchical Co-Attention for Visual Question Answering---视觉问答的分层共同注意力
分层共同注意力声明:本文主要是简单整理自己对这篇论文的认识和理解,如有错误的地方,还望批评指正。本文介绍关于Hierarchical Co-Attention这篇论文,与前面堆叠式注意力网络不同的是,这篇论文的注意力同时关注了问题和图像。Abstract—摘要以往的视觉问答的注意力模型,只关注与问题有关的图像区域。本文提出一个新的VQA共同注意模型。该模型不仅对视觉注意进行建模,还对问题注意进行建模。该模型共同引起了关于图像和问题注意的推理,此模型通过新颖的一维卷积神经网络以分层的方式对问题(以原创 2020-08-18 13:45:25 · 1187 阅读 · 1 评论 -
论文解读之VQA视觉问答
VQA:Visual Question AnsweringAbstract 摘要本文提出了以自由形式和开放式的视觉问答任务。给定图像和关于图像的自然语言问题,这个任务会给出一个精确的自然语言答案。视觉问题是有选择性的在图片不同区域包括背景细节或者基础上下文。与产生通用图片标题的系统相比,VQA上成功的系统通常需要对图像和复杂的推理有更详细的了解。此外,VQA易于进行自动评估,因为许多开放式答案内容仅仅需要几个单词或者是在多选题中提供的一组相近的答案,本文提供的数据集包括25万张图片,约76万个问题和10原创 2020-11-12 11:19:10 · 1173 阅读 · 1 评论 -
pytorch之线性回归
pytorch基本语法写在前面:1、了解pytorch的基本用法,pytorch类似numpy,只不过pytorch含自动求导和可以在GPU下允许,提高程序运行速度。2、本文会根据线性回归模型的介绍引入pytorch进行运算,主要是帮助解决一些同学只懂理论不懂实践的困惑。(一)线性模型1.1 概念及应用例如一个样本示例x\boldsymbol{x}x,它由 ddd 个属性所描述, x={x1;x2;...;xd}\boldsymbol{x}=\{ x_1;x_2 ; ...;x_d \}x原创 2020-07-07 14:01:47 · 408 阅读 · 0 评论