
DeepLearning
JUAN425
这个作者很懒,什么都没留下…
展开
-
一个关于Perceptron 的C++程序part1
Perceptron是深度学习中网络的A basic single layer perceptron翻译 2014-06-26 21:04:15 · 983 阅读 · 0 评论 -
Cuda 内存模型相关相关知识
CUDA中, 每个线程所能掌控的内存有如下几种: (1)R / W per thread registers。 (2) R/W per thread local memory(每个线程的局部内存) (3) R/W per block shared memory(共享内存) (4) R/W per grid global memory原创 2015-03-11 19:11:11 · 857 阅读 · 0 评论 -
CUDA: 使用shared memory
CUDA 的thread本身是有层次结构的。 thread 被grouped成多个thread blocks。 同一个block 的threads 在同一时间, 运行在同一个SM上。每一个block都有一个shared memory, 是被这个block内的所有的thread所共享的。 一个SM一次最多只能运行8个blocks。我们知道, global memory, texture me原创 2015-03-11 20:01:18 · 8530 阅读 · 0 评论 -
机器学习注意
任何一个机器学习算法包含两大步骤:(1)训练(training): 给定训练数据, 选择一个机器学习模型, 利用机器学习算法, 结合训练数据, 学习到模型参数。 学习参数需要选择一个objective funcion(有称为cost function), 目的就是找出使得这个目标函数的值达到最小的参数。(2)测试(testing): 利用学习到的模型, 进行预测。机器学习以及深原创 2015-04-01 21:09:49 · 609 阅读 · 0 评论 -
Linear models for regresion(回归)
线性回归模型使用的场景是有监督学习(supervised learning)。例如下例给定训练样本集, 输入特征是二维的,让我们去预测房价。 我们就可以使用线性回归模型去求解。 例如多项式拟合价格和输入二维特征向量的关系, 我们模型的参数就是多项式前面的那些系数。 首先回归(regression)的目的就是指根据给定一个d维的输入特征向量x, 预测出一个或者多个取值连续的ta原创 2015-04-01 16:07:07 · 1128 阅读 · 0 评论 -
C++易忽略点
真的不想这样, 这样的题有啥意思, 谁会用到吗, 就当增加人知吧对一个数组取&的时候, 出现了如下的问题:#include int main(){ const int MAXN = 8; int a[MAXN] = {1, 2, 4, 8, 16, 32, 64, 128}; int *p = (int*)(&a + 1 ); printf("%d\n", *(p -原创 2015-04-01 21:26:46 · 555 阅读 · 0 评论 -
Deep Learning 最新进展
只是列举了一部分。(1) parametric rectifier linear unit(PreLu)这是对neuron的activation function 做的改进。 众所周知, ReLU是一个作为激活函数的一个比较好的选择。 如下图:而这里说的PreLU是允许出现一个负的activation(以前想过, 当时当时马上有被自己给推翻了, 毕竟权重可以是负的, 当时觉得这翻译 2015-04-09 13:39:45 · 1103 阅读 · 0 评论 -
Torch7安装
尝试了很多办法去安装Torch7。安装平台: 虚拟机 + ubuntu12.04, 32位机尝试过采用官网的办法安装, 网址如下:http://torch.ch/docs/getting-started.html#_但是failed.后来按照如下方式安装, 成功了。主要指令如下:如果之前安装过Torch7, 想重新安装, 按照如下方法clean掉old versio原创 2015-05-15 15:37:32 · 17487 阅读 · 2 评论 -
Lua 语言的常见的相关base 变量和base函数
Lua 语言的常见的相关base 变量和base函数Lua 语言的常见的相关base 变量和base函数global variable _VERSIONassert 函数dofile函数ipairs函数error函数loadstring函数loadfile函数require函数xpcallpcallmodule函数global variable: _VERSION该变量存的是当翻译 2015-09-07 11:45:39 · 2456 阅读 · 0 评论 -
CUDA 两个向量相加: 当数组的元素个数大于所开的线程数量的时候的解决办法
当我们对两个向量 a[N]和b[N] 相加, 结果保存到C[N]数组处。 传统的C代码如下:void add(int *a, int *b, int *c) { int tid = 0; // this is CPU 0, so we start at zero while(tid < N) { c[tid] = a[tid] + b[tid];原创 2015-03-11 13:55:56 · 2153 阅读 · 0 评论 -
CUDA: 不要在一个.cpp文件中声明kernel(即以_global_和_device_的函数)
源于网上的一个材料。头文件kernel.hextern __global__ void kernel();实现文件kernel.cu#include #include "kernel.h"__global__ void kernel(){ printf("hello world!");}测试test.cu:#include "kernel.h"int main(v原创 2015-03-09 20:08:21 · 4490 阅读 · 0 评论 -
深度学习笔记1
本文参考资料来自于CMU关于深度学习的tutorials。参考书资料为“Readingsin Deep Learning —— a srudent perspective”, 编写作者为students at CMU。1. What is Learning 这是学习deep learning 过程中遇到的第一个问题。从人类的角度看, 可以将‘学习’理解为通过experie翻译 2014-06-26 15:45:22 · 1227 阅读 · 0 评论 -
CUDA programming
cuda c 的后缀是 .cu, .cu的后缀是为了告诉VS(visual studio)该文件是要传送给NVCC 处理的。 cuda 程序部分是用 NVCC compiler 编译的。 这个编译器的作用就是将 the cuda code 变成 PTX(CUDA的汇编语言), 剩下的普通的 C++ code 被 C++ 编译器编译。注意, PTX code 是嵌入在 EXE中, 然后just原创 2015-01-14 22:09:02 · 1077 阅读 · 0 评论 -
显示驱动停止响应并恢复
CUDA C 程序运行的时候, by default, 由于Windows 系统假设我们的显卡(GPU) 的用途是用于图形处理的(graphics processing)。 在图形处理这种applications 中, GPU的计算的速度是十分快的。 从CPU请求GPU处理 到GPU处理完成并返回结果可能只是需要花费几个nano seconds 即可。 所以这种情况下面, 我们并需要修改注册翻译 2015-01-17 22:05:48 · 2315 阅读 · 0 评论 -
CUDA Architechure Basics(CUDA 架构基础)
1. GPU 的相关的概念, 以及相关的GPU硬件架构 GPU 主要有两个主要的components, 一个是全局内存(global memory), 一个是streaming multiprocessors(SMs, 翻译为流 多处理器) 1.1 global memory (1) 可以类比这个内存为CPU的RAM原创 2015-01-18 22:19:59 · 1365 阅读 · 0 评论 -
SGD(随机梯度下降)
在深度学习领域, 该优化算法是使用最优化的算法, 利用它, 通过不断的估计objective function的梯度, 更新模型参数,不断迭代, 直至收敛或者达到我们early stoping 的条件, 也就是说模型相对于validation set上performance开始下降。SGD 又称 online 的梯度下降, 每次估计梯度的时候, 只选用一个训练样本。之所以称为stochas原创 2015-01-02 20:23:48 · 16858 阅读 · 0 评论 -
计算线程index
CUDA相关知识整理CUDA libraries主要有两个: (1) BLAS:全称是Basic Linear Algebra Subprograms。 是一个用于线性代数运算的应用程序接口。 (2) FFT: 即使得能够在NVIDIA GPU上高效执行FFT变换的库。当我们launch了a grid of blocks of threads 的时候, 我们在kernel中需要指定CUDA原创 2015-02-07 14:26:20 · 914 阅读 · 0 评论 -
sparse autoencoder(稀疏自动编码机)
预备知识(关于神经网络的)例如如下简单的网络:模型参数 {W, b}, 每个神经元是一个计算单元, 可以是hybolic tangent, 可以是sigmoid,也可以是rectifier linear, 等等。 现在大部分使用的是rectifier linear, 因为得到的performance 更好。训练样本集可以是:, m 个training examples翻译 2015-01-05 16:16:17 · 5084 阅读 · 0 评论 -
机器学习与深度学习相关算法的学习
本人打算开始总结机器学习和深度学习的系列博客了。 以下是要总结的相关算法的内容了, 只是梗概, 后期会做调整的。(1)Supervised Technique:classifications:--- K nearest neighbour(K 近邻) --- Naive Bayes --- Classification Trees: CART, ID原创 2015-03-27 09:45:26 · 905 阅读 · 2 评论 -
决策树算法
在Journal of knowledge and Information Systems, 2007 上出现过一篇文章。 “Top 10 algorithms in Data Mining”。 其中这篇文章列出了数据挖掘中最常用的10大算法, 分别是: C4.5, K-means, SVM, Apriori, Expectation Maximization, PageRank, Adaboo原创 2015-03-27 14:28:07 · 5225 阅读 · 1 评论 -
going deeper with convolutions笔记
简单的解释1x1卷积的原理和作用原创 2015-11-09 12:41:52 · 2318 阅读 · 1 评论