
深度学习
文章平均质量分 87
caimouse
在IT行业有20多年的经验。拥有20多年的C和C++开发经验,5年以上Python开发经验,资深数据库开发、上百G数据库优化经验。曾经任职嵌入式工程师、P2P开发工程师、银行信用卡交易系统工程师、全自动化电池测试部门经理。
展开
-
TensorFlow加载模型时出错
当发现目录时出错如下:\windows\tensorflow\core\framework\op_kernel.cc:993] Not found: Unsuccessful TensorSliceReader constructor: Failed to find any matching files for params_cifar.ckpt在Windows下要把目录写对才可以。比如 defa原创 2017-02-28 11:13:36 · 5231 阅读 · 0 评论 -
AI学习之路(12): 创建随机张量2
tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)从正态分布截取一段创建随机张量。绝对值大于2的值将会删除。参数:shape: 一维整数张量或者Python数组,用来说明行列形式。mean: 0维张量或者Python类型值,表示平均数。stddev: 常数,表示正态分布绝对原创 2017-02-28 14:04:41 · 978 阅读 · 0 评论 -
从源码编译TensorFlow出错和解决
从源码下载,就一直不行,经常断流,搞 了几天才下载完成。出下面的错误:并且还是修改编译文件,才算过关了。比如把文件grpc-gitclone.cmake:execute_process( COMMAND ${CMAKE_COMMAND} -E remove_directory "E:/install/tensorflow/tensorflow/contrib/cmake/build/grpc/s原创 2017-02-28 21:46:31 · 6304 阅读 · 2 评论 -
AI学习之路(13): 创建随机张量3
tf.random_uniform(shape, minval=0, maxval=None, dtype=tf.float32, seed=None, name=None)均匀分布(Uniform Distribution)是概率统计中的重要分布之一。顾名思义,均匀,表示可能性相等的含义。 参数:shape: 一维整数张量或者Python数组,用来说明行列形式。minval: 0维张量或者Pyt原创 2017-03-01 09:57:58 · 1779 阅读 · 0 评论 -
AI学习之路(14): 张量的平方计算
tf.square(x, name=None)计算x的平方,像(y = x * x = x^2)。 参数:x: 一个张量或者SparseTensor。必须有下面之一的类型:half, float32, float64, int32, int64, complex64, complex128.name: 操作的名称. 返回值:张量或者SparseTensor. 与x数据类型相同. 例子:#pytho原创 2017-03-02 10:01:31 · 3958 阅读 · 0 评论 -
AI学习之路(1):TensorFlow在Windows安装
1. 下载Python 3.5 64位版本https://www.python.org/downloads/windows/2. 安装PIP软件管理工具3. 从DOS窗口里运行PIP下载TensorFlow恭喜你,已经安装成功了。我们来测试一下:啊,出错了,这是什么情况,刚出师就不力。想想,怎么解决?原来缺少它们:原因找到了,赶紧上网下载吧:https://www.microsoft.com/en原创 2017-02-22 11:08:28 · 1838 阅读 · 0 评论 -
人类“超级大脑”
随着人工智能的复兴,以及科学技术的进步,21世纪又快过了20年,想当年的名言就是:21世纪最重要技能是外语、驾照、计算机。计算机这个技能正在影响了千千万万的人,如果当今不会使用计算机的人,在工作和学习上是寸步难行。随着21世纪即将过去20年,这段时间以来,计算机的科学技术又取得长足的发展,可以说这20年之后,不会编程,不会人工智能的人,同样也是在工作和学习上是寸步难行,可以把这句名言改为:外语、驾原创 2017-03-02 10:46:35 · 1778 阅读 · 0 评论 -
深度学习的数学基础要求
随着人工智能加速进入中国,特别是以深度学习为代表的算法,更是碾压人类的智慧,人类又在一个围棋领域失守,这是继象棋失守之后的大突破。下一个领域会是在什么地方呢?据说在皮肤癌症方面判断,已经超越了相关专业的医生。中医里注重的“望闻问切”,其中望这个领域,很快就可能让人工智能领先了。要想了深度学习相关内容,必须要学会以下的相关数学知识,现在才发现数学不是用来考试的,不是无用的,“书到用时方恨少”。书目如原创 2017-03-02 13:06:36 · 8656 阅读 · 1 评论 -
AI学习之路(2):GPU版本的Tensorflow在Windows上安装
1. 同样是下载3.5的python2. pip里安装的命令不一样:C:>pip install tensorflowC:>pip install tensorflow-gpu==1.0也可以从这里下载:https://pypi.python.org/pypi/tensorflow-gpu/1.0.0然后手工安装:这样就可以安装好GPU的版本了。1. C++标准模板库从入门到精通 http://e原创 2017-02-22 14:20:33 · 2674 阅读 · 0 评论 -
AI学习之路(3): 牛刀小试之线性回归
当阿法狗在围棋界展开大规模战斗之后,所有人都倒下了。可见人工智能的威力无限,正像《射雕英雄传》里的九阴真经,谁掌握了它,那么谁就是华山论剑里的第一人物了。我们也能学习人工智能吗?我们也能开发像阿法狗那样威力强劲的围棋吗?这些想法都是我们的梦想,有梦想就是好事情,马云说:万一实现了呢,王建林说:挣一个亿是个小目标,那么我们的小目标在那里呢?拿AI挣一个亿,呵呵,那是未来的小目标。现在我们的小目标是使原创 2017-02-22 15:18:18 · 4581 阅读 · 0 评论 -
AI学习之路(15): 张量不同数轴的平均值计算
在深度学习里研究的物体的关系,都是比较复杂的。比如一个图片32X32大小的,它的像素信息就有1024个点,如果考虑RGB三种颜色,就是1024X3了。对于目前还没有办法构造140亿个神经元的计算机来说,只能干一件事情,就是简化,化繁为简。为了简化,就需要使用算法来进行,在数学上最简单的处理,就是求平均值。这个道理非常简单,如果10个数,只要把它们相加,再除以10即可。对于0维数字,可以这样来计算,原创 2017-03-02 14:12:38 · 2769 阅读 · 0 评论 -
什么是监督学习(supervised learning)
在机器学习里,首先会遇到这样一个概念,什么是学习?学习,是指通过阅读、听讲、思考、研究、实践等途径获得知识或技能的过程。学习分为狭义与广义两种:狭义:通过阅读、听讲、研究、观察、理解、探索、实验、实践等手段获得知识或技能的过程,是一种使个体可以得到持续变化(知识和技能,方法与过程,情感与价值的改善和升华)的行为方式。广义:是人在生活过程中,通过获得经验而产生的行为或行为潜能的相对持久的行为方式。人原创 2017-03-02 16:05:56 · 6219 阅读 · 0 评论 -
AI学习之路(4): TensorFlow是什么
在我们探索TensorFlow之前,先来聊一下金庸的小说,在它的小说《笑傲江湖》里,剑宗和气宗是华山派的两个派别,也就是说剑宗和气宗同属于华山派,剑宗认为在武学之中剑术最重要,而气宗则认为在武学之中气功最重要,在华山派的历史上这两派一直是争论不休,互相指责对方是邪说,而那种认为剑术和气功同样重要的说法更是同时被两派指责为邪说。同样,在AI领域,也一直分为两派,一派认为全部数据处理计算太复杂,不能使原创 2017-02-23 14:02:13 · 3738 阅读 · 0 评论 -
什么是矩阵的迹
在学习andrew ng的深度学习公开课里,可看到一段与数据的矩阵相关的,这里提出了求trace的算法以及规则,虽然学习过高数,线代,概率论,还有数理方程等等,但还是没有什么印象,一脸迷茫。这段相关的文本,我放到这里,如下:只能先百度一下:在线性代数中,一个n×n的对角矩阵A的主对角线(从左上方至右下方的对角线)上各个元素的总和被称为矩阵A的迹(或迹数),一般记作tr(A)。例子如下:对角元素是a原创 2017-03-02 22:16:58 · 44646 阅读 · 0 评论 -
AI学习之路(5): NumPy是什么
在前面我们测试过一个例子,这个例子不知道你是否还记得它的内容,如果没有记得也没有关系,现在到我们去研究这个例子的时候了,它的前两行是这样写的:import tensorflow as tf import numpy as np 如果你的python还是不懂,强烈建议先学习一下课程,这样会跟上我们的进度的。在这两行代码里,第一行代码就是导入(import)顶顶大名的tensorflow库,第二行代原创 2017-02-23 17:09:22 · 3228 阅读 · 0 评论 -
AI学习之路(6): NumPy的使用
前面学习怎么样查看numpy的版本号,这才是刚刚开始,现在来开始更深入地学习一下它,否则以后会很麻烦的,更加看不懂那些例子的代码了。一个用python实现的科学计算包。包括:1、一个强大的N维数组对象Array;2、比较成熟的(广播)函数库;3、用于整合C/C++和Fortran代码的工具包;4、实用的线性代数、傅里叶变换和随机数生成函数。numpy和稀疏矩阵运算包scipy配合使用更加方便。Nu原创 2017-02-23 20:04:38 · 2265 阅读 · 0 评论 -
AI学习之路(16): TensorFlow优化器1
训练模型 在TF里提供了一些类和函数来帮助训练神经网络模型,主要的类就是优化器类,它提供一个基类的接口,让外面使用所有优化器算法达到统一,因此,优化器是接口类,你不能实例化它,只能从它的派生类来进行实例化。优化器主提供一些计算梯度损失函数和应用梯度到变量,以及提供优化的算法,比如像梯度下降算法(gradient descent,即随机梯度下降)和Adagrad(一个基于梯度优化的算法)。 clas原创 2017-03-03 09:38:51 · 1269 阅读 · 0 评论 -
AI学习之路(7): 生成训练数据
经过前面的准备,现在来到生成训练数据的新阶段,而在生成数据之前,先看看这段新闻,也可以说是旧闻了。2012年6月,《纽约时报》披露了Google Brain项目,吸引了公众的广泛关注。这个项目是由著名的斯坦福大学的机器学习教授Andrew Ng和在大规模计算机系统方面的世界顶尖专家Jeff Dean共同主导,用16,000个CPU Core的并行计算平台去训练含有10亿个节点的深度神经网络(DNN原创 2017-02-24 10:59:21 · 4605 阅读 · 0 评论 -
线性回归的最小化函数
在这个世界里,你知道得越多,就发现有更多的不知道,就在知道与不知道之间来回寻找,这个世界就是这样神奇。当你正在看NG的公开课时,就像这样在知与不知中寻找,或者在其中迷茫,或紧张,或张望,希望有人拉你一把。当看到下面这个公式时:这个就是一个变量的线性回归最优化函数,NG当时没有解释为什么这样定义的,只是让这个J函数最小化,就可以达到最优化的线性方程回归了。同时,你如果看过我前面的文章,也会发现Ten原创 2017-03-03 14:55:28 · 3858 阅读 · 0 评论 -
似然函数(Likelihood function)是什么
上次在寻找线性回归最小化函数时,又引出一个新的地雷,一个新的不知道,我们继续上路,开足马车继续寻找“似然函数”,它到底是什么呢?先来到WIKI上看看定义:In statistics, a likelihood function (often simply the likelihood) is a function of the parameters of a statistical model g原创 2017-03-03 17:27:57 · 23826 阅读 · 2 评论 -
AI学习之路(8): 定义张量变量
在前面,我们已经学习到生成训练数据,接着下来就要开始进行训练TF的神经网络了。但是我们从TensorFlow的名称就知道要使用张量来表示数据结构,并且让张量沿着不同的边进行流动,才可以产生神经元出来,也就是权重值。直接使用Python的数据结构可行吗?肯定不行,否则就不会创建张量这个单词出来了。因为张量是一维到多维的向量,它的维度可能很高,达到数万个维度,远远超过目前人类所能理解的维数。因此在TF原创 2017-02-24 17:39:51 · 3098 阅读 · 0 评论 -
SummaryWriter报错,改为tf.summary.FileWriter
不推荐使用SummaryWriter (来自tensorflow.Python.training.summary_io),将在2016-11-30之后删除。 更新说明: 请切换到tf.summary.FileWriter接口和行为是相同的; 这只是一个重命名。比如原来代码:with tf.Session() as sess: writer = tf.train.SummaryWriter("ou原创 2017-02-24 22:39:23 · 17631 阅读 · 0 评论 -
什么是梯度
在学习机器学习过程中,会遇到一个名词,就是梯度。因为很多情况之下,基本上没有完美的解,只能逐渐逼近它,往往要使用迭代法来求解,并且迭代法也是计算机的专长,可以说这世界上只有它是最会玩迭代算法了。在使用迭代法的过程中,又需要不断尝试各个方向。比如从一座山峰顶往下走,而这座山峰各个方向有不一样的坡度。如下图:从上图可以看到,有一些地方比较陡峭,那么我们就会说这里的梯度比较大,因为在这里下限得最快。接着原创 2017-03-04 11:08:52 · 5325 阅读 · 0 评论 -
什么是LMS算法(Least mean square)
LMS算法可认为是机器学习里面最基本也比较有用的算法,神经网络中对参数的学习使用的就是LMS的思想,在通信信号处理领域LMS也非常常见,比如自适应滤波器。其它就是利用梯度下降的算法来实现的,具体推导如下:最后这条公式,就是LMS算法的实现基础,可以使用python代码实现如下:import numpy as npimport randomfrom matplotlib import pyplo原创 2017-03-04 13:16:19 · 17754 阅读 · 0 评论 -
多元线性回归
多元线性回归的基本原理和基本计算过程与一元线性回归相同,但由于自变量个数多,计算相当麻烦,一般在实际中应用时都要借助统计软件。介绍多元线性回归的一些基本问题。但由于各个自变量的单位可能不一样,比如说一个消费水平的关系式中,工资水平、受教育程度、职业、地区、家庭负担等等因素都会影响到消费水平,而这些影响因素(自变量)的单位显然是不同的,因此自变量前系数的大小并不能说明该因素的重要程度,更简单地来说,原创 2017-03-04 14:34:14 · 1697 阅读 · 0 评论 -
NV显卡软件版本不一致运行TensorFlow出错
当使用NV显卡运行TensorFlow出错时,如下:failed s.ok() could not find cudnncreate in cudnn dso dlerror cudnn需要检查cudnn的版本与cuda的版本一致。否则就会出上面这个错误。我这里使用两个版本没有问题:cuda_8.0.61_win10.execudnn-8.0-windows10-x64-v5.1.zip1. C+原创 2017-02-25 14:45:12 · 3196 阅读 · 0 评论 -
局部加权回归(Locally weighted linear regression)
通常情况下的线性拟合不能很好地预测所有的值,因为它容易导致欠拟合(under fitting),比如数据集是一个钟形的曲线。而多项式拟合能拟合所有数据,但是在预测新样本的时候又会变得很糟糕,因为它导致数据的过拟合(overfitting),不符合数据真实的模型。 今天来讲一种非参数学习方法,叫做局部加权回归(LWR)。为什么局部加权回归叫做非参数学习方法呢? 首先参数学习方法是这样一种方法:在训练原创 2017-03-04 17:52:48 · 7279 阅读 · 0 评论 -
Andrew NG机器学习课程笔记系列之——机器学习之逻辑回归(Logistic Regression)
1. Classification这篇文章我们来讨论分类问题(classification problems),也就是说你想预测的变量 y 是一个离散的值。我们会使用逻辑回归算法来解决分类问题。之前的文章中,我们讨论的垃圾邮件分类实际上就是一个分类问题。类似的例子还有很多,例如一个在线交易网站判断一次交易是否带有欺诈性(有些人可以使用偷来的信用卡,你懂的)。再如,之前判断一个肿瘤是良性的还是恶性的转载 2017-03-04 21:20:06 · 1001 阅读 · 0 评论 -
MNIST是什么?
The MNIST database (Mixed National Institute of Standards and Technology database) is a large database of handwritten digits that is commonly used for training various image processing systems.[1][2]原创 2017-03-08 16:05:37 · 19904 阅读 · 2 评论 -
pygame.surfarray.array3d()的作用
pygame.surfarray.array3d()Copy pixels into a 3d arrayarray3d(Surface) -> arrayCopy the pixels from a Surface into a 3D array. The bit depth of the surface will control the size of the integer values,原创 2017-03-17 23:59:02 · 3227 阅读 · 0 评论 -
tf.nn.max_pool作什么用?
先来看一下API的说明:tf.nn.max_pool(value, ksize, strides, padding, data_format='NHWC', name=None)Performs the max pooling on the input.Args:value: A 4-D Tensor with shape [batch, height, width, channels] and原创 2017-03-18 00:26:03 · 3362 阅读 · 0 评论 -
AI学习之路(9): 张量的常量1
上一次我们学习了张量的变量,在这一次来学习一下张量的常量,因为很多时候需要使用张量常量来初始化变量,并且产生一些常量是固定的初始化值,这样可以减少变量的出错,同时也提供很好的测试数据,比如产生一个正态分布的数据,又或者产生初始化为0值,或者1值等等。 tf.zeros(shape, dtype=tf.float32, name=None)产生零值常量的张量类。 参数:shape: 任何的整数列表对原创 2017-02-26 10:48:49 · 1070 阅读 · 0 评论 -
AI学习之路(10): 张量的常量2
tf.fill(dims, value, name=None)创建一个张量填充指定的常数。参数:dims: 整数类型的列表对象,或者一维张量,表示行列形式。value: 填充的常量(0维张量) 返回值:填充指定的张量常量。 例子:#python 3.5.3 蔡军生 #http://edu.youkuaiyun.com/course/detail/2592 #import tensorflow a原创 2017-02-26 11:46:57 · 1286 阅读 · 0 评论 -
AI学习之路(17): TensorFlow优化器2
tf.train.Optimizer.__init__(use_locking, name)优化器的构造函数,用来创建一个新的优化器。 参数: use_locking: 布尔类型Bool.如果设置为真可以防止别的异步操作更新这些变量。name: 非空字符串。优化器的名称。异常: ValueError: 如果名称错误抛出此异常. tf.train.Optimizer.minimize(loss, g原创 2017-03-05 08:35:42 · 3658 阅读 · 0 评论 -
伯努利分布(Bernoulli distribution)
伯努利分布 是一种离散分布,有两种可能的结果。1表示成功,出现的概率为p(其中0概率分布有两种类型:离散(discrete)概率分布和连续(continuous)概率分布。离散概率分布也称为概率质量函数(probability mass function)。离散概率分布的例子有伯努利分布(Bernoulli distribution)、二项分布(binomial distribution)、泊松分原创 2017-03-05 09:43:29 · 50184 阅读 · 3 评论 -
感知机算法(perceptron learning algorithm)
在学习NG的课程里,他提到了感知机算法,大体内容如下:其实感知器学习算法,就是利用介绍的单层感知器。首先利用给的正确数据,计算得到输出值,将输出值和正确的值相比,由此来调整每一个输出端上的权值。首先 是一个“学习参数”,一般我将它设置成小于1的正数。T便是训练数据中的正确结果,便是第i个输入端的输入值,便是第i个输入端上面的权值。学习规则是用来计算新的权值矩阵W及新的偏差B的算法。感知器利用其学习原创 2017-03-05 10:27:20 · 2345 阅读 · 0 评论 -
再遇牛顿迭代法
在计算机图形学里,学习过牛顿迭代法,在人工智能的课程也少不了,因为它是一种快速迭代的算法,同样在人工智能里也可以快找到回归的方法。NG介绍它如下:1. C++标准模板库从入门到精通 http://edu.youkuaiyun.com/course/detail/33242.跟老菜鸟学C++http://edu.youkuaiyun.com/course/detail/29013. 跟老菜鸟学pythonhttp://ed原创 2017-03-05 10:50:54 · 1145 阅读 · 0 评论 -
tensorflow提示出错'module' object has no attribute 'pack'
编译旧的代码,会像下面这样提示出错:deconv_shape3 = tf.pack([shape[0], shape[1], shape[2], NUM_OF_CLASSESS]) AttributeError: 'module' object has no attribute 'pack'因为TF后面的版本修改了这个函数的名称,把tf.pack改为 tf.stack。因此只需要替换掉,就可以编译原创 2017-03-05 11:26:23 · 18007 阅读 · 0 评论 -
黑塞矩阵(Hessian Matrix)
在机器学习课程里提到了这个矩阵,那么这个矩阵是从哪里来,又是用来作什么用呢?先来看一下定义:黑塞矩阵(Hessian Matrix),又译作海森矩阵、海瑟矩阵、海塞矩阵等,是一个多元函数的二阶偏导数构成的方阵,描述了函数的局部曲率。黑塞矩阵最早于19世纪由德国数学家Ludwig Otto Hesse提出,并以其名字命名。黑塞矩阵常用于牛顿法解决优化问题。一般来说, 牛顿法主要应用在两个方面, 1,原创 2017-03-05 12:07:45 · 31259 阅读 · 3 评论 -
MIT的《深度学习》精读(1)
第1章 介绍Inventors have long dreamed of creating machines that think. This desire dates back to at least the time of ancient Greece. The mythical figures Pygmalion, Daedalus, and Hephaestus may all be in原创 2017-03-18 14:00:11 · 1221 阅读 · 0 评论