自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Compute Shader in Unity Part2 ——Texture

Texture 在Compute Shader 中算是一个特别重要的应用了。 其实原理什么的都和上一篇说的一样。 下面说一些不一样的。   #pragma kernel CSMain RWTexture2D<float4> Result; [numthre...

2018-10-15 11:48:29 600 0

原创 Compute Shader in Unity Part1

Compute Shader 是为了在Unity中使用GPGPU,即通用目的图形计算单元,它独立于渲染管线,通用目的也说明了它可以用于多种目的,与CPU相比,GPU的优势在于多线程并行计算,当你想对大量数据进行相同的计算的时候,会快很多。 以下是使用说明:   #pragma kernel ...

2018-10-12 17:12:46 396 0

原创 Unity 中的半透明

首先说Unity中的渲染顺序,在Unity中改变渲染顺序的方式有四层,第一层为Camera的depth,第二层为Sorting Layers, Canvas可直接在面板中调节,其他的可能需要在脚本中设置,第三层为shader中的渲染队列,第四层为Pass(Pass的顺序在不同情况下有差别)。再说半...

2018-02-17 22:50:10 1247 0

原创 Unity中的旋转与万向锁的分析

将以前写得纸质档发出来  :)这个扫描宝是真的好用。我上面写得所有结论在Unity中都可以得到验证,各位可以自己试试,这里还得补充一下,一旦不按自身的轴转动时,就不能直接使用基础旋转矩阵了。...

2018-02-11 19:11:52 506 0

原创 Unity中旋转、放缩、平移的顺序对最终结果的影响

最近在复习曾经学过的东西,为了下次再忘记,还是记录下来。Unity中旋转、放缩、平移的顺序对最终结果的影响是什么?(矩阵在博客中写太麻烦,直接写纸上了)这些都可以在Unity中动手进行验证,但你若是在Inspector中的Transform中直接设置,你会发现总是正确的,因为当你直接给出所有数据时...

2018-02-10 21:52:49 959 0

原创 Keras中的损失函数与激活函数

sigmoid与softmax分别为二分类和多分类激活函数,而binary crossentropy和categorical crossentropy分别为二分类和多分类的损失函数。

2018-01-24 23:37:09 1624 0

原创 Keras中的Embedding层

Embedding层一般用于自然语言中的降维,在abcdefg字符串中每个字母都可以用独热编码来表示,但是一旦字符串十分长,独热编码也就会十分长,因而使用Embedding来表示。不仅如此,Embedding也可以用来生成特征矩阵,但事实上也有降维的功能。 Embedding(n_in, n...

2018-01-24 23:35:30 2360 0

原创 Python简单函数

glob模块 glob模块:是一个文件搜索模块,查找文件只用到三个匹配符:””, “?”, “[]”。””匹配0个或多个字符;”?”匹配单个字符;”[]”匹配指定范围内的字符,如:[0-9]匹配数字。 glob(pathname)函数,返回所有匹配的文件路径列表。它只有一个参数pathname...

2018-01-24 23:33:09 261 0

原创 Keras中的类与函数

注意点 1.data_mode的默认值是”channel last“,在构建网络时一定要注意。 models.py Sequential 该类用于表示一个网络模型,并继承于Model类 save_weights(filepath) 该函数用于将模型的权重保存为一个h5文件...

2018-01-24 23:32:15 647 0

原创 Numpy中的stack函数

stack(x,axis=0) 这个函数用于将多个数组合并,其中每个数组的shape都相同,其中axis表示在第几个空间开始进行结合,这样说很难理解,举例说明: [0,1,2,3] 的shape可看做(1,4) a = np.arange(4) b = np.arange(4) c=np...

2018-01-24 23:31:23 520 0

原创 finetune的意义及用法

finetune 就是微调的意思,那为什么要微调呢,为什么不能自己重新训练一个网络呢? 因为我们没呢么多样本,没那么高超的技术使神经网络合理且有用,因此我在训练好的模型的基础上只训练其中一个或几个层,而把其他层的参数都冻结起来。 一个正确的训练好的神经网络应该是什么样的呢? 如果将神经网络中...

2018-01-23 11:57:18 1963 0

原创 权值的初始化—-xavier

对网络中的权值进行合理的初始化是为了保证在训练之前使网络的输出值与目标值的差距不是太大,比如输入(2,3)目标值为4,但网络的输出值为500,那么loss就太大了,训练也就很难进行。因此为了使得网络中信息更好的流动,每一层输出的方差应该尽量相等(在一篇博客上看到的,下面有链接)。 因此就采用xa...

2018-01-23 11:54:46 1004 0

原创 Numpy中的concatenate函数

concatenate(x,axis=0) 这个函数用于将多个数组进行连接,这与stack函数很容易混淆,他们之间的区别是concatenate会把当前要匹配的元素降一维,即去掉最外面那一层括号。举个例子: axis=0 a = np.arange(8).reshape(2,2,2) b = ...

2018-01-23 11:53:47 17526 1

原创 对神经网络的思考与总结

1.为什么通过使用过滤器对图像进行卷积操作能够达到识别特征的功能? 答:在神经网络中,数值的高低代表了激活程度的高低,而在卷积操作中,卷积核的数值分布决定了图像像素应该具有怎样的数值分布才能得到高的卷积结果,因此,不同的卷积核都代表着对不同的特征的识别。 有个有意思的地方是,以前的传统图像识别是人...

2018-01-23 10:33:17 218 0

原创 Batch Normalization层

Batch Normalization层 我们可以通过标准化输入来避免网络中局部数据十分大或十分小(不在同一个数值范围),同时我们也需要标准化激活函数的输出来保证网络的稳定。 所有网络中都应该使用BN层,他能使网络块10倍,因为学习率可以调大了,且由于不会出现某个值十分大或十分小的...

2018-01-23 10:31:18 367 0

原创 Tricks

1.避免过拟合的方法 使用dropout。 增大训练数据集 在损失函数中添加正则项 数据增广 即对图片进行旋转、拉伸等操作来倍增样本数量。 Batch Normalization层 在每个卷积层或全连接层后面加入Batch Normalization层。 2.提升最终准确率的普遍方...

2018-01-23 10:30:05 170 0

原创 Python中的浅拷贝与深拷贝

别名 a=[1,2,3,4] b=a id(a),id(b) (64619584, 64619584) a赋值给b,事实上没有创建任何新对象,b的地址和a一样,即b只是a的一个别名。 浅拷贝 a=[1,2,3,[4,5]] b=a[:] # or b=list(a) id(a),id...

2018-01-23 10:29:35 191 0

原创 单变量微积分

1.导数的解释:(1)切线的斜率为导数(2)瞬时变化率即为导数 2.在某点连续指的是在这一点的值与左右极限的值都相等。 3.sinx/x 4.    5.可导必连连续 证明: 6.使用极限的原因之一是使0可以用x-x0代替(x无限趋于x0),这样一来,0就可以作为除数了。

2018-01-23 10:27:24 584 0

原创 Pyhon与Numpy的不同

**一**. list的元素可以是不同的类型,而ndarray只能包含同一种类型的元素。 **二**. 切片的返回值所表示的意义不同。     import numpy as np     a=np.array([1,2,3,4,5,6])     b=[1,2,3,4,5,6...

2018-01-23 10:11:03 262 0

原创 Panda与Numpy中的数据选取

Pandas中的数据选取主要分为如下方式:       1. [0]数字索引直接选取 2. ['a']通过名字索引选取 3. [1:] [:3] [::-1] ['a':'c'] 通过切片选取 4. [x 5. [boo]通...

2018-01-23 10:09:30 1201 0

原创 在Keras中将cpu切换为gpu

在终端中输入gedit ~/.theanorc 这时文档应是空白的,在文档中写入:[global] device=gpu floatX=float32 [dnn.conv] algo_bwd_filter = deterministic algo_bwd_data = determini...

2017-08-06 14:40:36 2951 0

原创 Tmux的使用

Tmux中的分级如下: 会话(session or client)-->窗口(window)-->子框(pane)常用命令与快捷键:新建一个会话 tmux new -s name 切换会话: ctrl+b+( ctrl+b+) 直接选择会话: ctrl+b+s 创建新的子框: ...

2017-08-06 14:40:11 247 0

原创 Python语法

下划线(_)在解释器中有特别的含义, 表示最后一个表达式的值。所以上面的代码执行之后, 下划线变量会包含字符串:>>> _ Hello World! Python 的 print 语句,与字符串格式运算符( % )结合使用,可实现字符串替换功能,这 一点和 C 语言中的 pr...

2017-08-06 14:39:37 307 0

原创 Numpy中的pad函数

填补一个数组。pad(array,pad_width,mode,**kwars)其中array为要填补的数组(input) pad_width是在各维度的各个方向上想要填补的长度,如((2,3),(4,5)),如果直接输入一个整数,则说明各个维度和各个方向所填补的长度都一样。 mode为填...

2017-08-06 14:38:53 14133 4

原创 Numpy中的Broadcasting

Broadcasing即扩展,推广的意思,是为了使不同shape的array相互能够进行运算。 例子如下: a = np.array([1.0, 2.0, 3.0]) b = np.array([2.0, 2.0, 2.0]) a * b ...

2017-08-06 14:38:14 367 0

原创 Numpy简单语法

(1) import numpy as np a=(3,3) b=(4,4) c=a+b print(c)(3, 3, 4, 4) (2) import numpy as npa = np.array(range(3), dtype=’float64’) b = np.zero...

2017-08-06 14:37:56 364 0

原创 Numpy简单函数

ceil()函数 输入可为数组或单个浮点数,作用是对小数求整,求整方式为向上求整,例如ceil(1.3),结果为2。

2017-08-06 14:37:27 244 0

原创 Caffe中层参数及数据的可视化

本文将讲解如何可视化caffe网络中的层的参数及数据,即只要输入的规格为(n, height, width)或(n, height, width, 3)都可以通过如下函数可视化。 def vis_square(data): “”“Take an array of shape...

2017-08-06 14:36:28 494 1

原创 Linux问题记录

一、键盘映射错乱打开Fcitx的配置界面,在输入法中将‘键盘-英语’放在第一位。

2017-08-06 14:32:42 296 0

原创 Keras的入门

model = Sequential() model.add(Dense(32, activation='relu', input_dim=100)) model.add(Dense(10, activation='softmax')) model.comp...

2017-08-06 14:31:46 736 0

原创 faster-rcnn-demo

原文地址:lefenger.com运行github上的python版本的faster-rcnn demo的过程为: 克隆github的项目到本地 git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git 在caff...

2017-07-30 11:50:04 528 0

原创 Caffe 问题记录

原文地址:lefenger.comCaffe使用所遇到的问题。一当 caffe为训练模式时,dropout不执行。二layer { bottom: "a" bottom: "b" name: "conv1_1&qu...

2017-07-30 11:47:47 200 0

原创 循环神经网络

循环神经网络(简称RNN),他有自己的状态,并可以实时根据自己得到的信息改变自己的状态。 ht=fw(h(t-1),xt) 这个函数表示,输入为上一状态与当前处理得出的向量x,fw是一个函数,它有权值w,在每个时间步长都会执行这个fw函数,并且都使用相同的w,这个函数会判断下一步将转换为什么状...

2017-07-22 20:43:27 356 0

原创 手势识别项目总结

序言此文章只是总结,没有任何技术干货。 正文这个项目是要在unity中使用opencv识别各种手势,一路过来也算是坎坷。 由于是在Unity中使用,所以我必须使用emgucv来进行识别。第一步要做的就是如何将手与背景分隔开,一开始我使用的是一个实时构建背景的算法,所谓实时构建背景,就是在基于背景差...

2017-07-17 00:14:48 2676 0

原创 《线性代数》学习笔记

一、消元法 第一步先找到三个主元(povit),主元不能为零。主元在矩阵的对角线上,如果对角线上的值为0的话,就交换行,但如果消元到最后一行时主元为零,则这次消元失败,这个矩阵称为不可逆矩阵。而行列式(determinant)的值就是对角线上主元的乘积。 矩阵乘向量与向量乘矩阵的含义与区别:矩...

2017-07-09 21:03:18 1136 0

原创 MFC与stdafx

MFCMFC即微软基础类库(英语:Microsoft Foundation Classes,简称MFC)。它以C++类的形式封装了windows api,它实际上是windows api的高层实现,各种windows句柄会被包含在MFC的相应的类中,若要进行操作只需调用相关的成员函数即可。stda...

2017-07-02 16:58:58 644 0

原创 Opencv3.2的安装及创建一个Opencv工程的要点

安装就直接下载Opencv3.2的安装包,解压过后如下所示: 其中dll文件需要配置环境变量,就是把bin文件夹的路径配置到环境变量中。创建一个Opencv工程由于Open3.2 是64位版本的,因此也得把vs项目的目标计算机与编译平台换为64位的,方法分别如下: 修改完之后,还要配置头文...

2017-06-28 15:33:47 444 0

原创 《编程范式》学习笔记

(一)编程范式 (1)八位能表示最大的数是多少? 为255,最多能表示256个数(包括0),2^x=2^0+2^1+2^2+2^3+…………+2^(x-1)+1(2)二进制计算:负整数与正整数相加的结果0时,是如何进行二进制运算的? 以short类型(2字节)为例,00000000 0000...

2017-06-12 22:33:12 1627 0

原创 关于做梦

正文我开始怀疑一件事——每个梦境是否是超然于时间的,意思就是你可能会梦到未来的事物,我曾经也听说过梦可以预知未来,但我的感觉是梦境的存在仿佛是在第五个维度中(假如时间是第四个维度的话)。 最近的一系列经历让我更加确信了这一点。或许我们一直在接受着第五维度所发送的第四维度的东西,假设第五维度为一个...

2017-03-14 13:46:43 557 1

原创 Python 问题记录

1.Tshape=(1,2,3,4) net.blobs[‘data’].reshape(*Tshape) 这里的*的作用是将Tshape的所有元素都展开作为参数,其效果为 net.blobs[‘data’].reshape(1,2,3,4)

2017-01-26 11:30:14 376 0

提示
确定要删除当前文章?
取消 删除