Theano printing】的更多相关文章

Theano printing To visualize the internal relation graph of theano variables. Installing conda install pydot graphviz add graphviz path D:\Anaconda\Library\bin\graphvizto system PATH[windows version] or: download installer from http://www.graphviz.or…
来自:http://deeplearning.net/software/theano/tutorial/printing_drawing.html Printing/Drawing Theano graphs Theano提供的函数theano.printing.pprint() 和 theano.printing.debugprint() 可以用来在编译前和后打印一个graph到终端上. pprint() 该函数更紧凑而且更偏向于数学形式, debugprint() 更为的详细. Theano…
来自:http://deeplearning.net/software/theano/tutorial/shape_info.html How Shape Information is Handled by Theano 当建立一个graph的时候,是没法严格的执行theano变量的shape的,因为在运行的时候将具体的值作为提供给一个theano函数的参数来说,也许会受到它graph中theano变量的shape的限制. 当前,有两种方式来使用shape信息: 当准确的输出shape已经提前知…
scan函数 theano.scan(fn, sequences=None, outputs_info=None,non_sequences=None, n_steps=None, truncate_gradient=-1,go_backwards=False, mode=None, name=None, profile=False) outputs_info is the list of Theano variables or dictionaries describing the initi…
来自:http://deeplearning.net/software/theano/tutorial/symbolic_graphs.html Graph Structures Theano是将符号数学化的计算表示成graphs.这些graphs是由将Apply 和 Variable节点内连接而组成的,它们是分别与函数的应用和数据相连接的. 操作是由 Op 实例所表示的,而数据类型是由 Type 实例所表示的.下面有一段代码和一个图表,该图表用来说明由这些代码所构建的结构.这些应该有助于你理解…
来自:http://deeplearning.net/software/theano/tutorial/shape_info.html Debugging Theano: FAQ and Troubleshooting 在计算机程序中会有许多种不同的bug.该页就是来说说FAQ,即问题集的.介绍了一些处理常见问题的方法,并介绍了一些在我们自己的theano代码中,用于查找问题(即使该问题发生在theano内部)的工具: Using DebugMode. 一.将问题独立出来/测试theano的编译…
来自:http://deeplearning.net/software/theano/tutorial/extending_theano.html Extending Theano 该教程覆盖了如何使用新颖的ops来扩展theano.它主要关注哪些能够提供一个python实现的ops.而Extending Theano with a C Op 是基于c的op实现.该教程的第一部分介绍了theano的graphs,因为提供一个新颖的theano op需要对theano graphs有个基本的理解.…
Transposed Convolution, 也叫Fractional Strided Convolution, 或者流行的(错误)称谓: 反卷积, Deconvolution. 定义请参考tutorial. 此处也是对tutorial中的theano实现做一个总结, 得到一段可用的Deconvolution代码. 反卷积(都这么叫了, 那我也不纠结这个了. )的实现方式之一是前向卷积操作的反向梯度传播过程, 所以在Theano中可使用theano.tensor.nnet.abstract_c…
Graph Structure Graph Definition theano's symbolic mathematical computation, which is composed of: Apply node: the application of an operator to some variable. Variable node: symbolic varibles. Op node: mathematical operation like: +,-,*,\,sqrt,sum,t…
Theano Inplace inplace Computation computation that destroy their inputs as a side-effect. Example if you iterate over matrix and double every elements, this is an inplace operations. because when you are done, the original inputs has been overwritte…
broadcasting Theano vs. Numpy broadcast mechanism allows a scalar may be added to a matrix, a vector to a matrix or a scalar to a vecotor. Examples T and F stands for True and False respectively, denoting which dimension can be broadcasted. Diference…
selected from Theano Doc Optimizing Scan performance Minimizing Scan Usage performan as much of the computation as possible outside of Scan. This may have the effect increasing memory usage but also reduce the overhead introduce by Scan. Explicitly p…
theano 中的一个函数 sparse_block_dot; Function: for b in range(batch_size): for j in range(o.shape[1]): for i in range(h.shape[1]): o[b, j, :] += numpy.dot(h[b, i], W[iIdx[b, i], oIdx[b, j]]) Image Example Input Parameter - W (iBlocks, oBlocks, iSize, oSiz…
说明:系统是unbuntu14.04LTS,32位的操作系统,以前安装了python3.4,现在想要安装theano和keras.步骤如下: 1,安装pip sudo apt-get install python3-setuptools sudo easy_install3 pip 2,安装g++ sudo apt-get install g++ 采用上述命令安装g++,安装完成后可用g++ -version查看是否安装完成.注意,如果没有安装g++,在import theano时会出现以下错误…
import numpy 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)numpy.allclose(f(16.3, 12.1), 28.4) 输出为truenumpy.allclose(z.eval({x:16.3, y:12.1}, 28.4)) 输出为true tensor:高维数组,T…
Theano 学习笔记(一) theano 为什么要定义共享变量? 定义共享变量的原因在于GPU的使用,如果不定义共享的话,那么当GPU调用这些变量时,遇到一次就要调用一次,这样就会花费大量时间在数据存取上,导致使用GPU代码运行很慢,甚至比仅用CPU还慢. 共享变量的类型必须为floatX 因为GPU要求在floatX上操作,所以所有的共享变量都要声明为floatX类型 shared_x = theano.shared(numpy.asarray(data_x, dtype=theano.co…
python有多混乱我就不多说了.这个混论不仅是指整个python市场混乱,更混乱的还有python的各种附加依赖包.为了一劳永逸解决python的各种依赖包对深度学习造成的影响,本文中采用python的发行版Anaconda. Step1 安装Anaconda 这里不建议使用python3.4以后的Anaconda版本,因为太新的版本(python3.5)不支持python/matlab混合编程.所以为了以后方便,建议使用python2.7的Anaconda版本.Anaconda安装完成后,n…
参考:http://deeplearning.net/software/theano/install_ubuntu.html 编译安装python3.4:http://blog.aboutc.net/linux/61/install-python-on-linux 系统:14.04 安装python3.4 更新pip:python -m pip install -U pip 获取root权限 :su root 输入密码 sudo -i获取root权限.如果这样权限还是不够,那就输入sudo pa…
Problem Theano: CNMeM is disabled, CuDNN not available Solution cnmem package: https://github.com/NVIDIA/cnmem % cd $HOME % git clone https://github.com/NVIDIA/cnmem.git cnmem % cd cnmem % mkdir build % cd build % cmake .. % make link with cnmem The…
安装环境:wondows 64bit Teano安装测试 1. Anaconda 安装 Anaconda是一个科学计算环境,自带的包管理器conda很强大.之所以选择它是因为它内置了python,以及numpy.scipy两个必要库和一些其他库,比起自己安装要省事. 首先下载Anaconda-2.1.0-Windows-x86_64.exe 安装选择默认配置即可,下砸地址.安装成功后效果如下: 这里有Anaconda管理器(Anaconda Command Prompt),输入conda lis…
最难读的Theano代码 这份LSTM代码的作者,感觉和前面Tutorial代码作者不是同一个人.对于Theano.Python的手法使用得非常娴熟. 尤其是在两重并行设计上: ①LSTM各个门之间并行 ②Mini-batch让多个句子并行 同时,在训练.预处理上使用了诸多技巧,相比之前的Tutorial,更接近一个完整的框架,所以导致代码阅读十分困难. 本文旨在梳理这份LSTM代码的脉络. 数据集:IMDB Large Movie Review Dataset 来源 该数据集是来自Stanfo…
安装过程中,网络状态一定要好,如果安装过程中出现time out的提示信息,今天就可以洗洗睡啦,等明天网络状态好的时候再安装. 安装过程出现不知名的错误的时候,执行第一步,update一下 1.#update software sudo apt-get update 2.# 安装gfortran sudo apt-get install gfortran # 安装blas sudo apt-get install libopenblas-dev # 安装lapack sudo apt-get i…
很多时候我们需要对图像进行局部对比度归一化,比如分块CNN的预处理阶段.theano对此提供了一些比较方便的操作. 局部归一化的一种简单形式为: 其中μ和σ分别为局部(例如3x3的小块)的均值和标准差. 利用代码说明一下如何实现: import theano import numpy from theano.sandbox import neighbours from theano import tensor as T from theano import function from skima…
之前学习了CNN的相关知识,提到Yoon Kim(2014)的论文,利用CNN进行文本分类,虽然该CNN网络结构简单效果可观,但论文没有给出具体训练时间,这便值得进一步探讨. Yoon Kim代码:https://github.com/yoonkim/CNN_sentence 利用作者提供的源码进行学习,在本人机子上训练时,做一次CV的平均训练时间如下,纵坐标为min/CV(供参考): 机子配置:Intel(R) Core(TM) i3-4150 CPU @ 3.50GHz, 32G,x64 显…
一.卸载现有的ubuntu系统 1.下载MbrFix,并放在C盘根目录. 2.管理员身份运行cmd命令符:切换到C盘根目录,然后输入命令符MbrFix /drive 0 fixmbr,回车确认即可. 重启后直接进入windows系统,之前的Ubuntu引导windows已经不见了,可以直接删除ubuntu分区了. 二.ubuntu16.04安装与设置 1.下载软件设置U盘做启动盘,之后是一些常规的安装步骤. 2.分区的设置 只对“空闲”的盘符进行操作, 第一次分区: 点“+”,进行如下设置: 挂…
scan函数是theano中的循环函数,相当于for loop.在读别人的代码时第一次看到,有点迷糊,不知道输入.输出怎么定义,网上也很少有example,大多数都是相互转载同一篇.所以,还是要看官方文档. 函数定义如下 output, update = theano.scan(fn, sequences=None, outputs_info=None, non_sequences=None,n_steps=None, truncate_gradient=-1, go_backwards=Fal…
1.首先安装Ubuntu16.04系统. 2.安装显卡驱动 在官网上下载最新的NVIDIA-Linux-x86_64-375.26.run驱动.然后 Ctrl+Alt+F1进入控制台,输入 sudo service lightdm stop sudo sh NVIDIA-Linux-x86_64-375.26.run 安装驱动的时候会冒出一个 The distribution-provided pre-install script failed! Are you sure you want to…
相关讨论 http://tieba.baidu.com/p/3960350008 基于教程http://deeplearning.net/tutorial/lstm.html LSTM基本原理http://tieba.baidu.com/p/3405569985 GRAVES 教程 http://www.cs.toronto.edu/~graves/preprint.pdf 因为原教程有些不太直观的地方,展开讲一下目的:根据IMDB影评网站扒取的文本,及文本对应的对电影的评分(一颗星到五颗星)作…
theano中的dimshuffle函数用于对张量的维度进行操作,可以增加维度,也可以交换维度,删除维度. 注意的是只有shared才能调用dimshuffle() 'x'表示增加一维,从0d scalar到1d vector (0, 1)表示一个与原先相同的2D向量 (1, 0)表示将2D向量的两维交换 ('x', 0) 表示将一个1d vector变为一个1xN矩阵 (0, 'x')将一个1d vector变为一个Nx1矩阵 (2, 0, 1) -> AxBxC to CxAxB (2表示第…
一.说明 本文是继<Ubuntu-安装-cuda7.0-单显卡-超详细教程> 之后的续篇.theano和caffe是深度学习库,对运算能力需求很大,最好使用cuda进行加速.所以,请先阅读<Ubuntu-安装-cuda7.0-单显卡-超详细教程>,成功安装cuda之后,再来安装theano和caffe. 二.安装Theano 1. 安装各种包 安装gfortran, numpy, scipy, sklearn, blas, atlas等包 # 安装gfortran,后面编译过程中会…