学习笔记
文章平均质量分 73
Geek_of_csdn
是菜就要认,挨打要立正。一个奋斗的菜鸟,目前在深圳某公司工作。本账号下所有上传的资料都可以直接通过邮箱免费索要,邮箱地址:dianxin2wu@foxmail.com
展开
-
VQA(图像问答)数据集结构及大致内容
这篇文章只讲下VQA的文件结构和文件内容,官方工具的用法及一些小技巧。VQA数据集概况其实VQA有很多种数据集,比较常用的有VQA v1.0、 VQA v2.0、Visual7W等。这篇文章中使用的数据集主要是VQA v1.0(其实和2.0差不多,读取方式没变,只是优化了内容,让模型更加不容易通过蒙来答对问题)。直接开始吧。VQA V1.0结构及内容概要VQA v1.0的数据集内容如下1:VQA的结构:以上图片截图自VQA官网总之就是每张图片对应3个以上的问题(平均5.4个),每个问题对原创 2020-10-15 23:42:29 · 6819 阅读 · 2 评论 -
卷积核及池化层的基本概念笔记
卷积核基本概念全连接网络的问题在于参数太多,例如一个尺寸为200×200×3200 \times 200 \times 3200×200×3的图像会让下一层隐藏层中的一个神经元包含200×200×3=120,000200 \times 200 \times 3 = 120,000200×200×3=120,000个权重,而且这一层中可能还不止一个神经元。过多参数带来的后果就是容易导致过拟合,而且不容易训练。因此需要通过一些手段来减少参数数量,降低训练难度。所以就有了卷积神经网络。卷积神经网络由卷积核组成原创 2020-10-15 23:39:54 · 3527 阅读 · 0 评论 -
YOLO系列(1~3)神经网络笔记
闲话少说,进入正题。YOLO是一种One-stage的物体检测网络1。one-stage即直接生成物体的类别概率和位置坐标值,经过单次检测就可以直接得到结果;相对应的是two-stage甚至multi-stage,multi-stage已经淘汰,所以不提,two-stage则是将检测问题划分为两个阶段,先产生候选区域(region proposals)然后对候选区域分类(一般还需要对位置精修),Faster R-CNN之类的就属于这一类2。v1带有全连接网络,但是v2和v3都舍弃掉了全连接网络,改成了纯CN原创 2020-10-14 20:09:26 · 1816 阅读 · 0 评论 -
数据结构笔记(4)——树(主要是关于二叉树)
这次讲讲树。首先上定义:树的定义要注意的是:只有一个根结点(最顶上的那个结点)子树不相交如上图所示,这就是子树相交的情况。结点分类结点之间关系双亲是因为结点雌雄同体,同时是父亲也是母亲。层树的层(level)的概念是从根开始定义的,根是第一层,根的孩子为第二层,如此类推。此外,如果将树中结点的子树看成从左至右有次序,不能互换,那么称为有序树,否则称为无序树。...原创 2019-10-30 17:28:45 · 582 阅读 · 0 评论 -
CS231n笔记(4)反向传播
可终于来到反向传播了。。。之前更新得实在是太慢了。。。简介反向传播是利用链式法则递归计算表达式的梯度的方法。理解反向传播过程及其精妙之处对于理解、实现、设计和调试神经网络非常关键(疯狂暗示)。问题陈述:核心问题是给定函数f(x)f(x)f(x),其中xxx是输入数据的向量,需要计算函数fff关于xxx的梯度,也就是∇f(x)∇f(x)\nabla f(x)参考CS231...原创 2018-09-02 22:50:26 · 445 阅读 · 0 评论 -
CS231n笔记(5)神经网络(1)
其实还是全连接的神经网络(玄学模型),也算是基础吧,但是这里的基础打好了对后面学习CNN的时候会有一点帮助。快速简介和之前提到的线性分类器里面s=Wxs=Wxs = Wx来进行计算不同视觉类别的评分不同,神经网络是s=W2max(0,W1x)s=W2max(0,W1x)s = W_2\max(0, W_1x),其中W1W1W_1的作用是将图像转化为一个特定维度的过渡向量(这里过度向量具...原创 2018-09-04 16:49:06 · 890 阅读 · 0 评论 -
Linux笔记之用for循环给目录下所有文件添加一行空行
首先创建一个.sh文件,然后编辑里面的内容:#!bin.shfor file in ./*do echo "">>$filedone解释:第一行其实就是写来表明这是一个bash文件,和python的第一行意义差不多。其实linux的for循环有三种,一种是列表for循环、不带列表for循环、类似c的for循环。上面用到的就是列表fo原创 2018-08-26 03:11:17 · 3136 阅读 · 0 评论 -
《Multi-modal Factorized Bilinear Pooling with Co-Attention Learning for Visual Question Answering》笔记
这是ICCV2017上的一篇文章(文章链接),代码在github上的地址:链接。简单翻译一下摘要:摘要VQA(visual question answering 图像问答)因为需要同时对图像信息和问题的信息进行理解而比较难解决。建立的模型的性能在很大程度上取决于怎么从问题中提取特征,怎么图像中进行细粒度信息提取需要的特征,以及怎么对这两种提取出来的特征进行整合。尽管各类基于双线性池化的...原创 2019-05-07 23:03:13 · 5754 阅读 · 29 评论 -
CS231n笔记(3)线性分类器:最优化
先说下最优化是什么:最优化是寻找能使损失函数值最小化的参数WWW的过程。铺垫:之后会把映射部分拓展成比线性函数更加复杂的函数(例如神经网络),但是损失函数和最优化过程这两个部分不会有很大改动,所以这两个部分的基础一定要打好。损失函数可视化因为我们现在的损失函数通常定义在高维空间里面,比较难可视化,所以要在1或者2个维度上对高维空间进行切片来可视化。例如随机生成一个权重矩阵WWW,这个矩...原创 2018-08-21 00:27:11 · 574 阅读 · 0 评论 -
Lua文件读写之添加空行及删除行
删除行(这里的代码是贫僧抄别人的!!!具体说明看下面):--[[ 函数名:remove_last_line 输入:文件路径 输出:无 功能:将文件最后一行删除]]function remove_last_line(filename) local file = io.open(filename, "r+") local content = fi...原创 2018-08-26 22:17:15 · 4889 阅读 · 6 评论 -
Torch笔记之如何读取txt并在字母层面上将内容按照字典替换成相应的数字
这个转换的问题其实是贫僧在尝试将某个.txt文件转换成Tensor来喂给训练好的神经网络模型时遇到的(训练的神经网络是char level的,具体看贫僧之前的博文)时遇到的。实现的步骤分成以下几个部分:读取txt文件内容将txt内容按照字典转化成对应的数字将文件保存为.t7格式,方便神经网络读取在正式开始之前先说下字典,字典是用这种方式生成的:alphabet = "abc...原创 2018-08-26 16:23:52 · 1253 阅读 · 0 评论 -
CS231n笔记(2)线性分类器:SVM,Softmax函数
补充:权重WWW可以看作是每个种类的学习模板,决定输入的图片xxx里面哪些像素对输入被分到某个类别上有多少影响。所以权重的每一行对应一个分类模板,如果重新将权重某一行重新解开成图片大小,那么既可以看到这个模板的图片形式。另一种线性分类器的解释:学习像素在高维空间的一个线性决策边界,其中高维空间就对应图片能取到的像素密度值。损失函数简单定义:一个将WWW当作输入,看下里面的数值,...原创 2018-08-19 11:55:53 · 1173 阅读 · 0 评论 -
MFB论文笔记(1)——论文复现之论文实验部分摘要及特征提取
还是接着[上次笔记](https://blog.csdn.net/Geek_of_CSDN/article/details/81328487)的内容,这次是关于实验部分的。原创 2019-05-07 23:03:53 · 2082 阅读 · 1 评论 -
Pytorch:利用预训练好的VGG16网络提取图片特征
前言这里的提取图片特征特指从VGG网络的最后一个conv层进行提取。虽然下面代码里面给出的是VGG16作为例子,其实也可以用其他的已经经过训练了的神经网络,包括自己训练的。代码模型结构相关基本知识首先说下加载模型,这里用的是torch官方提供的已经训练好的模型,只需要从torchvision模块导入:import torchvision.models as modelsmodel =...原创 2019-02-24 09:43:15 · 62172 阅读 · 104 评论 -
数据结构笔记(1)——顺序存储结构与单链表存储结构
其实之前的C笔记都是为了这个服务的。。。原来还打算总结下结构体的,结果发现自己已经写了,就懒得重新写了。在说线性表之前先说下算法的特性、要求、复杂度等概念。一些概念算法的五大特性有穷性:可以在有穷(指可接受的长度)时间内完成。确定性:就是能通过确定输入确定输出。可行性:算法中操作可以通过已经实现的基本运算执行有限次来实现输入:有0个或者多个输出:一个或者多个...原创 2019-08-11 20:45:14 · 705 阅读 · 0 评论 -
KMP算法笔记(C++)
要搞懂KMP算法首先要明白这个算法是用来做什么的。需求无耻的熟人xx:“欸~小上官,原来你(也)是个程序员,那帮我想想看……”你:S.x.x.T,我连自己的内心活动都自带哔哔声和谐了,你还要我搞什么!伟大的朋友xx:“……怎么从一串字符串里面搜索出想要的子串。搞得好的话……”,说着就掏出了手机打开了苇名城的信,“把她/他介绍给你。”你:“我不是那种人。”高尚的好友xx:“加上这个。”...原创 2019-08-18 23:47:59 · 347 阅读 · 0 评论 -
数据结构笔记(3)——循环链表与双向链表
循环链表在介绍概念之前先说一下需求,假设你已经有了这么个链表:你现在的指针指向了3,但是你的任务是遍历一遍整个链表(例如要计算链表的长度),但是这是一个单项链表,所以只能够重新从头结点/第一个元素开始遍历。这时候我们回想,如果能够直接从3开始,遍历到5,然后再遍历剩下的元素(1和2)就好了。所以,我们需要一个能够指向回头结点的指针,构成一个循环链表:指回到头结点,那么当我们遍历到结点...原创 2019-08-13 17:16:40 · 1115 阅读 · 3 评论 -
数据结构笔记(2)——静态链表
其实这篇文章不是什么重点内容,如果前面的链表理解了可以直接跳过不看。当语言不直接或者间接提供指针的时候就需要使用静态数组了。其实最核心的思想就是用数组来代替指针,具体做法如下。首先这里使用的数组是结构体数组,数组元素有两个元素域,data和cur,前者存放数据,后者相当于单链表中的next指针,指示下一个地址或者说数组下标。#define MAXSIZE 1000typedef struc...原创 2019-08-13 15:21:25 · 275 阅读 · 0 评论 -
小波变换笔记
小波变换出现背景傅里叶变换(FT)在小波变换出现之前人们普遍使用的是傅里叶变换(如果不是很了解傅里叶变换请看我的往期博文,有大概的介绍),但是傅里叶变换的问题在于:无法同时表示频率和时间,只能对信号单独提取出频谱(所以可以看到下图中第2、3个信号对应的频谱是一样的)只适用于周期信号,不能很好地用在时变信号上(如果只是提取频谱的话可以用,但是不建议这么做)对突变信号的拟合不够好(方波信号...原创 2019-05-02 14:01:43 · 4732 阅读 · 0 评论 -
信号与系统公式笔记(9)——Z变换
还是齐开悦博士的[视频](https://www.bilibili.com/video/av5868266/?p=20),不过这次没看完就自己看着书总结了(还是觉得看书更加高效率)。原创 2019-03-15 20:42:03 · 37392 阅读 · 4 评论 -
TensorFlow笔记(1)非线性回归、MNIST手写数字识别
程序import tensorflow as tfimport numpy as npimport matplotlib.pyplot as plt# numpy生成200个随机点,下面这么写可以得到200行1列的矩阵x_data = np.linspace(-0.5, 0.5, 200)[:, np.newaxis]noise = np.random.normal(0, 0.02,...原创 2018-12-08 13:19:31 · 276 阅读 · 0 评论 -
TensorFlow笔记(0)基本概念、fetch、feed及一个拟合曲线的事例
基本概念图(graph):用来表示计算任务。图中节点称为OP(operation),接受零至多个Tensor,产生零至多个TensorTensor:相当于矩阵/数组,用来装载数据会话(Session):用来执行图的运算的东西图通过变量(Variable)维护状态feed、fetch:赋值/获取数据创建图、启动图import tensorflow as tf# 创建常量m1 ...原创 2018-12-08 11:00:25 · 273 阅读 · 0 评论 -
《Pro Git》阅读笔记(0)最基本的操作——用户配置、commit等
Git笔记,书是《Pro Git》。原创 2018-08-05 22:19:44 · 337 阅读 · 0 评论 -
《Learning Deep Representations of Fine-Grained Visual Descriptions》论文及代码阅读笔记
最近在读这篇文章原创 2019-10-07 22:35:39 · 1913 阅读 · 8 评论 -
信号与系统公式笔记(4)
截图基本上都是来自b站av5868266,齐开悦博士的讲义。 之前的笔记(第二章)重要的是两点:微分方程和卷积(微分方程要理解好,卷积熟练会用就行)。这次主要是关于连续信号的傅里叶分析(教材里面有三大变换:傅里叶、拉普拉斯、Z,拉普拉斯其实是连续傅里叶的推广,Z其实是离散傅里叶变换的推广。重点还是三大变换)。重点内容:连续时间周期信号的傅里叶级数连续时间建立傅里叶变换傅里叶级数...原创 2018-05-01 18:39:36 · 5308 阅读 · 0 评论 -
信号与系统公式笔记(1)
记录一些卷积的公式。这里记录的是平时解题遇到的问题,所以可能比较乱。进入正题,贫僧要记录的是这个公式: x1(t−t1)∗x2(t−t2)=x(t−t1−t2)x(t)=x1(t)∗t2(t)x1(t−t1)∗x2(t−t2)=x(t−t1−t2)x(t)=x1(t)∗t2(t)x_1(t - t_1) * x_2(t - t_2) = x(t - t_1 - t_2)\\x(t) =...原创 2018-04-24 08:32:10 · 11417 阅读 · 2 评论 -
信号与系统公式笔记(3)
参考了上海交通大学的讲课录像,b站av号:5868266。提醒:LTI系统里面的“线性”只限于系统零输入响应与系统的存储能量,零状态响应与系统接收到的输入。因为系统的完全响应 = 零输入响应(系统在没有输入时储能元件储存的能量的输出) + 零状态响应(系统在收到输入后的输出)。如果零输入响应=0,那么其实全响应可以和输入成线性关系。 其实上面说的就是LTI的两种线性特性:零状态线性和零输入线...原创 2018-04-30 23:30:54 · 6486 阅读 · 0 评论 -
The Elements of Computing Systems阅读笔记(5)
多路逻辑门多路逻辑门是指拥有多个输入而只有一个输出的逻辑门(不像多位有对应输入数目的输出)。原创 2017-11-04 20:52:21 · 401 阅读 · 0 评论 -
The Elements of Computing Systems阅读笔记(4)
与非门与非门是最基本的元件,它的输入与输出值应符合下表。 接下来将会把与非门当作一种“黑箱”进行处理,我们只需要知道它的输入输出引脚、用法和名称,不需要知道它的内部结构。一个与非门表现出下面的属性:名字 :与非门输入引脚:a、b输出引脚:out功能 :如果输入a=b=1那么输出0,其他情况输出1备注 :这是个基本元件,只需要了解怎么使用,不需要知道怎么造基本逻辑门原创 2017-11-03 19:33:20 · 640 阅读 · 2 评论 -
MATLAB学习笔记(3)
这篇学习笔记主要关于运算符。 MATLAB的基本运算类型:算数运算符逻辑运算符关系运算符位运算符集合运算符算数运算符和集合操作符有两种不同的算术运算:矩阵和阵列算术运算。 矩阵的运算与线性代数里面的定义相同。 集合操作符包括交集、测试组成员等。 具体的看这里。关系运算符 Tables Are < 小于 <= 小于或等于 > 大于 >= 大于或原创 2017-11-03 11:13:07 · 223 阅读 · 0 评论 -
MATLAB学习笔记(2)
一些命令可以在这里查:MATLAB命令。 这篇笔记主要与编写MATLAB脚本有关。 MATLAB允许写两种程序文件:脚本和函数。脚本用来执行一系列命令,但是不接受输入和输出,只是为了方便执行某些特定的经常要重复用的命令而已。函数接受输入和输出,内部变量是本地的函数。创建并运行脚本文件可以用IDE或者直接在MATLAB命令符下输入edit打开编辑器(同时创建一个未命名的文件)。原创 2017-11-03 10:40:49 · 420 阅读 · 0 评论 -
MATLAB学习笔记(1)
学习的教程为w3school的教程,这里只是记录一下学习到的某些知识点,因为有些地方觉得很容易所以就没有记录在这里。 跳过了前面的两章,所以这篇笔记主要是关于“变量”的。原创 2017-11-03 09:53:19 · 632 阅读 · 0 评论 -
The Elements of Computing Systems阅读笔记(3)
接着上一篇博客。 HDL定义的芯片(这里的“芯片”与市场上常见的复杂芯片无关,主要指各种门搭起来的电路)包含了两个部分,header和parts部分。header定义了芯片的接口(interface,我理解成输入输出),包括芯片名称、输入接口和输出接口。parts部分描述了芯片内部的更低一层次的元件(例如更低层次的芯片或门),记录了这些元件名字和各个部分的连接状况。原创 2017-11-02 15:43:50 · 737 阅读 · 0 评论 -
The Elements of Computing Systems阅读笔记(2)
昨天忙了点别的事情,今天发两篇补上昨天的。模拟电路笔记也会更新的。 接上上一篇讲的布尔逻辑运算,今天这篇博客要引入一个新名词:“门”。原创 2017-11-02 14:16:51 · 374 阅读 · 0 评论 -
信号与系统公式笔记(5)
重点内容 1.狄利克雷条件 2.Gibbs现象 3.傅里叶变换和傅里叶逆变换公式周期矩形脉冲信号对这个矩形脉冲信号进行积分就可以求到它对应的傅里叶系数 了解一下记得结果就可以了。 补充:Sa(nω1τ2)Sa(nω1τ2)Sa(n\omega_1 \frac{\tau}{2})是离散的,只是包络线看起来像是下面这样。 实际上像下面这样 有这些性质要注意: 1...原创 2018-05-02 00:36:48 · 12856 阅读 · 0 评论 -
信号与系统公式笔记(6)
主要关于第三章,这章非常重要。 重点内容 1. 傅里叶级数(至少记住周期矩形脉冲,最好记住周期三角波和锯齿波) 2. 傅里叶变换的定义式、求信号的傅里叶变换、能用傅里叶变换的性质求傅里叶变换(最大的作用就是用来求傅里叶变换)、周期信号的傅里叶变换(用σ(ω)σ(ω)\sigma(\omega))、傅里叶级数和傅里叶变换的转换 3. 系统的频率响应和系统的频域分析 4. 采样定理(其实是傅...原创 2018-05-03 22:44:37 · 11599 阅读 · 1 评论 -
信号与系统公式笔记(8)——拉普拉斯变换
这里是关于第5章的内容,拉普拉斯变换。。。基本内容: 1. 拉普拉斯变换定义,收敛域 2. 拉普拉斯变换的性质(和傅里叶变换类似) 3. 拉普拉斯反变换 4. 拉普拉斯变换与电路分析 5. 系统函数 6. 拉普拉斯变换与傅里叶变换关系对不符合狄利克雷条件的函数无法做傅里叶变换,所以搞出来个拉普拉斯变换。 用eSteSt\mathrm{e}^{St}的例子:...原创 2018-06-10 15:45:47 · 56043 阅读 · 4 评论 -
数字电路——半导体存储电路之锁存器和一些触发器
主要关于学堂在线的数字电子技术基础(自主模式)的第五章。。。触发器的由来为什么需要触发器? 因为现实中有时需要处理这样的问题: 1. 与状态有关,即电路具有记忆功能 2. 输出会直接被输入事件(例如按下按钮)改变,而不是输入的值 例子:需要设计一款电路,能够在按钮按下的时候改变灯的亮灭,如果灯原来是亮的那么按钮按下之后灯应该灭,反之亦然。 组合电路无法直接完成上面的事情,...原创 2018-06-06 20:38:06 · 4041 阅读 · 0 评论 -
概率论杂记(0)——正态分布
主要关于《概率论与数理统计》书里面出现的内容,不过,是贫僧筛选过的。其余的部分,贫僧觉得还是很简单的。标准高斯分布原创 2018-05-29 08:56:26 · 6218 阅读 · 0 评论 -
C语言笔记(3)switch、循环结构、数组备忘
记录一些贫僧可能会忘记的东东。switchcase如果后面没有加break的话会一直继续向下运行,而不是直接跳出switch选择。例子:switch(grade){ case 'A': printf('...');break; case 'B': ...;break; default: ...;}执行到switch的时候会把grade和case后...原创 2018-05-22 23:27:40 · 669 阅读 · 0 评论