机器学习和GPU
groundhappy
这个作者很懒,什么都没留下…
展开
-
GPU英伟达CUDA安装配置
所有的DOC资料都在http://docs.nvidia.com/http://docs.nvidia.com/cuda/index.html1查询你的GPU是否支持CUDA得到你的显卡型号我的是GTX750查询地址为https://developer.nvidia.com/cuda-gpus2下载CUDA库下载地址为http原创 2016-12-16 08:56:29 · 4336 阅读 · 3 评论 -
斯坦福机器学习公开课8-1 2 神经网络初步了解
放假假设有100个特征x1 到x100。光用二项来拟合也有5000个特征, x1x1 x1x2 x1x3.......x1x100 x2x2 x2x3 .....。 按照组合C(100,2)=5000对于一副图片50*50来描述一个车子。每一个像素点是一个特征一个样本就有 50*50=2500个特征。仅仅用用二次项来拟合分类方程。那么就有300W个特征。C(原创 2017-01-05 21:40:01 · 404 阅读 · 0 评论 -
CUDA的结构指南简述
http://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html1 核函数(kernel)指的是在gpu上运行的函数,通常和C函数一样。使用__global__定义。通过>>来实现执行。(参见C语言扩展)每个执行核函数的线程都有一个独一无二的线程id,可以通过内置的threadIdx变量来访问。下面这个函数实现了向量原创 2016-12-16 16:41:04 · 714 阅读 · 0 评论 -
cuda的block thread wrap 同步与数据处理
主要涉及三个函数 和原子同步指令1 __syncthreads(); 使得同一个block之间线程间同步,达到相同的执行点后再往后执行,同时使得修改的全局以及共享内存对block内的线程可见2 __threadfence(); 该线程在该语句前对全局存储器或共享存储器的访问已经全部完成,执行结果对grid中的所有线程可见。3 __t原创 2017-01-07 15:45:57 · 4319 阅读 · 0 评论 -
斯坦福机器学习公开课6-x逻辑回归
起初 这一课主要是没有理解为何要使用-log(h theta (x))和-log(1-h theta (x))作为损失函数。要理解 对于分类是不适合采用线性回归的。比如二分类。采用线性回归。会随着样本的变化有很大预测问题。比如之前的样本以0.5作为分界,样本分布在1-200之间,线性拟合得到阈值超过大小100就是恶性的了。100时为0.5。此时如果样本中突然来了一个1000的肿瘤。那么导致斜率原创 2016-12-30 17:12:50 · 322 阅读 · 0 评论 -
几本GPU相关的书
1 Cuda TheHandBook 网上有下载,官方开放的。中文本是CUDA专家手册 60RMBhttp://vdisk.weibo.com/s/e4MJZVpCRXZJ2关于流的处理详细GPU高性能编程CUDA实战3关于优化高性能CUDA应用设计与开发 的三条法则CUDA并行程序设计:GPU编程指南 第九章 应用程序性能优化原创 2017-02-07 10:09:09 · 7940 阅读 · 0 评论 -
(导数)微分与积分的概念
1导数定义2微分微分可以看作 y在自变量增量x 处在一个极小值deta x下的变化值的线性主部微分指的是dy dy和deta Y有一个极小的增量也就是图5-9中的Q Q',这一部分可以忽略不计。所以是微分 dy 是deta y的线性主部导数和微分的区别。当自变量x发生一个极小的偏移deta原创 2017-03-23 10:48:18 · 20545 阅读 · 2 评论 -
卷积理解 1
使用知乎的回答https://www.zhihu.com/question/22298352?rf=21686447作者:知乎用户链接:https://www.zhihu.com/question/22298352/answer/50940942来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。应题主邀,把我在卷积的物理意义是什么原创 2017-03-23 11:14:52 · 373 阅读 · 0 评论 -
卷积理解 2
回头看卷积的定义注意看到卷积是对tao积分 不是对于x的积分,对tao积分后,得到的是一个关于x的函数h(x)。按照物理意义函数g是对于输入函数f的响应函数。f(tao)*g(x-tao)表示的是由tao时刻产生的输入f(tao)响应结果在x时刻仍然保留的影响。假设我们想求第五年的总金额。那么就是f(0)g(5-0)+f(1)g(5-1)+f原创 2017-03-23 11:58:37 · 986 阅读 · 0 评论 -
windows安装tensorflow和keras
1安装python3.5以上这里选择安装Anaconda3-4.2.0-Windows-x86_64.exe 包含了python环境Anaconda3是python3.5Anaconda2是python2.72安装tensorflowgpu版本tensorflow_gpu-1.1.0rc1-cp35-cp35m-win_amd64.whl原创 2017-04-13 16:41:48 · 2530 阅读 · 0 评论 -
斯坦福机器学习公开课7-x线性回归逻辑回归的正则化min
对于线性回归和逻辑回归使用正则化处理的方式如下线性回归的正则化使用梯度下降法 注意theta0是不处理的可以等价写作下面的式子。理解为每次下降的时候把theta(j)向0 压缩一点点。通常(1-alpha*lamata/m)是一个比较小的数字。后面的项和原来的梯度下降法是一样的。正规方程方法原创 2017-01-05 20:09:25 · 538 阅读 · 0 评论 -
斯坦福机器学习公开课7-x过拟合欠拟合和解决方法
建立多项拟合方程的时候可能由于特征太多造成过拟合。也就是构造了太复杂的多项式完全只是为了你和样本数据。使得模型不具有通用性。这个是过拟合。太多复杂的项可以使得模拟的方程几乎完全拟合样本。如果特征太少就可能造成欠拟合,拟合效果不好。例如这里第一是过拟合。原创 2017-01-05 19:53:40 · 918 阅读 · 0 评论 -
关于GPU的好文推荐
GPU---并行计算利器http://www.cnblogs.com/LBSer/p/4592862.htmlGPU加速技术&原理介绍http://blog.csdn.net/weiweigfkd/article/details/23051255原创 2016-12-16 09:50:12 · 649 阅读 · 0 评论 -
CUDA8.0矩阵乘法例子解释(matrixMul.cpp)
通过学习英伟达自带的例子matrixMul学CUDA库的使用。简略部分垃圾。只说核心代码。这个例子是实现 C=A*B的矩阵相乘// Use a larger block size for Fermi and above int block_size = 32; //original: dim3 dimsA(5*2*block_size, 5*2*bl原创 2016-12-16 13:02:05 · 4998 阅读 · 1 评论 -
VS(控制台 MFC 等) 调用cuda项目
如何在控制台以及MFC中调用CUDA1创建好MFC或者控制台工程以后。新建一个.cu文件。此时这个cu文件是不参与编译的。2设置好cuda需要的头文件和lib库。这个和其他的设置是一样的。3工程上右键-》生成依赖项-》自定义生成在cuda项目里面打勾。点击确定4在cu文件上右键属性-》项类型-》不参原创 2016-12-27 14:09:34 · 1330 阅读 · 0 评论 -
cuda编译错误 ptxas fatal : Unresolved extern function xxxx
出现这个问题。找到了原因是,在global函数中调用了__device__函数,但是这两个文件不在同一个src文件里面。http://stackoverflow.com/questions/31006581/cuda-device-unresolved-extern-functionThe issue is that you defined a __device__ f原创 2016-12-27 14:32:20 · 5511 阅读 · 0 评论 -
斯坦福机器学习公开课4-3 4-4 特征缩放和验证梯度下降算法
当使用梯度下降算法的时候。为了是的算法更快收敛。可能需要做一些处理。1 希望不同的特征取值在相似的范围内。比如房子特征房间数 1-5 房子大小的范围在0-2000。两者相差较大那么对于theta1 theta2和j(theta)的等高线如图梯度下降时可能会来回扭动慢慢达到最低。因此要进行缩放。如果都缩放到0-1之间。那么图像会变成下图这样迭代的时候就就能原创 2016-12-27 20:59:07 · 519 阅读 · 0 评论 -
斯坦福机器学习公开课4-6 4-7标准方程快速解theta
很简单。比如j(theta)是下面的方程通过是导数等于0 一步就能求出theta对于下面的j(theta).对每个参数求偏导 得到的结果也是最快的。但是实际上对每个求偏导很麻烦。也很费事因此可以用如下的方程来求解当数据量不大的时候可以使用标准方程法。但是梯度下降法始终都可以运用。原创 2016-12-27 21:22:10 · 1175 阅读 · 0 评论 -
cuda基础线性代数库 cuBLAS使用
首先需要使用 cublasCreate 产生一个cublasHandle_t的context。后续所有的函数库必须使用这个handle当不再需要这个handle的时候需要使用cublasDestory()销毁这个handle原创 2016-12-28 11:22:52 · 2779 阅读 · 0 评论 -
cuda-cnn之mnist文件读取(1)
https://github.com/zhxfl/CUDA-CNN第一步是通过readMnistData读取训练样本和测试样本"mnist\\train-images.idx3-ubyte",训练样本"mnist\\train-labels.idx1-ubyte"训练标签训练样本一共6W个"mnist\\t10k-images.idx3-ubyte", 测试样本原创 2016-12-28 14:37:45 · 1028 阅读 · 0 评论 -
斯坦福机器学习公开课6-x 使用逻辑回归处理多分类
思想就是建立多个分类器比如那么把1和 23区分 再把 2 和13区分 最后把3 和12区分。得到三个逻辑回归方程。验证的时候取最大的那个概率值的那个原创 2017-01-05 19:22:48 · 390 阅读 · 0 评论 -
神经网络一些基础学习和记录(1)
神经网络和深度学习bilibili的吴恩达 和网易的云课堂识别一张图片是不是猫,的二分类 使用逻辑回归。对于一个猫的图片。假如长宽都是64(RGB),那么输入向量就是64*64*3。(x,y)是一个样本 一共有m个样本对于一个给定的特征向量X(图片信息),需要知道Y hat(是否为猫的概率0-1)y是标签。y hat是计算值。就是得到一个 y=f(x)的函数。首先我们假...原创 2018-12-04 15:33:05 · 473 阅读 · 0 评论