Theano学习笔记(一)——代数】的更多相关文章

Theano 学习笔记(一) theano 为什么要定义共享变量? 定义共享变量的原因在于GPU的使用,如果不定义共享的话,那么当GPU调用这些变量时,遇到一次就要调用一次,这样就会花费大量时间在数据存取上,导致使用GPU代码运行很慢,甚至比仅用CPU还慢. 共享变量的类型必须为floatX 因为GPU要求在floatX上操作,所以所有的共享变量都要声明为floatX类型 shared_x = theano.shared(numpy.asarray(data_x, dtype=theano.co…
标量相加 import theano.tensor as T from theano import function x = T.dscalar('x') y = T.dscalar('y') z = x + y f = function([x, y], z) 输入定义两个符号变量来取代数值,输出是一个0维的numpy.ndarray数组. 矩阵相加 把输入类型换一下即可了,矩阵假设维数不同,会遵循NumPy的广播规则. import theano.tensor as T from theano…
catalogue . 引言 . LSTM NETWORKS . LSTM 的变体 . GRUs (Gated Recurrent Units) . IMPLEMENTATION GRUs 0. 引言 In this post we’ll learn about LSTM (Long Short Term Memory) networks and GRUs (Gated Recurrent Units).  LSTMs were first proposed in 1997 by Sepp Ho…
有了前面的准备,能够用Theano实现一个逻辑回归程序.逻辑回归是典型的有监督学习. 为了形象.这里我们如果分类任务是区分人与狗的照片. 首先是生成随机数对象 importnumpy importtheano importtheano.tensor as T rng= numpy.random 数据初始化 有400张照片,这些照片不是人的就是狗的. 每张照片是28*28=784的维度. D[0]是训练集.是个400*784的矩阵,每一行都是一张照片. D[1]是每张照片相应的标签.用来记录这张照…
图结构(Graph Structures)这是理解Theano该基金会的内部运作. Theano编程的核心是用符号占位符把数学关系表示出来. 图结构的组成部分 如图实现了这段代码: importtheano.tensor as T x= T.matrix('x') y= T.matrix('y') z= x + y 变量节点(variable nodes) 红色表示. 变量节点都有owner.当中x与y的owner为none. z的owner为apply. 操作节点(op nodes) 绿色表示…
导数使用T.grad计算. 这里使用pp()打印梯度的符号表达式. 第3行输出是打印了经过优化器简化的符号梯度表达式,与第1个输出相比确实简单多了. fill((x** TensorConstant{2}), TensorConstant{1.0})指创建一个x**2大小的矩阵,并填充1. importtheano.tensor as T fromtheano import pp fromtheano import function x= T.dscalar('x') y= x ** 2 gy=…
http://www.cnblogs.com/hanahimi/p/4127026.html…
TensorFlow学习笔记4-线性代数基础 本笔记内容为"AI深度学习".内容主要参考<Deep Learning>中文版. \(X\)表示训练集的设计矩阵,其大小为m行n列,m表示训练集的大小(size),n表示特征的个数: \(W\)表示权重矩阵,其大小是n行k列,n为输入特征的个数,k为输出(特征)的个数: \(\boldsymbol{y}\)表示训练集对应标签,其大小为m行,m表示训练集的大小(size): \(\boldsymbol{y'}\)表示将测试向量\(…
0.检查配置 1. VMWare上运行的Ubuntu,并不能支持真实的GPU(除了特定版本的VMWare和特定的GPU,要求条件严格,所以我在VMWare上搭建好了Caffe环境后,又重新在Windows 7 64bit系统上安装了Ubuntu 14.04 64bit系统,链接在此,以此来搭建Caffe GPU版本): 2. 确定GPU支持CUDA 输入: lspci | grep -i nvidia 显示结果: 我的是GTX 650,然后到http://developer.nvidia.com…
DIGITS: Deep Learning GPU Training System1,是由英伟达(NVIDIA)公司开发的第一个交互式深度学习GPU训练系统.目的在于整合现有的Deep Learning开发工具,实现深度神经网络(Deep Neural Network,DNN)设计.训练和可视化等任务变得简单化.DIGITS是基于浏览器的接口,因而通过实时的网络行为的可视化,可以快速设计最优的DNN.DIGITS是开源软件,可在GitHub上找到,因而开发人员可以扩展和自定义DIGITS. Gi…