Theano学习系列(1):符号变量
2016-01-27 11:02
316 查看
Theano学习系列(1):符号变量
这段时间通过学习Theano的Library Documentation,(http://deeplearning.net/software/theano/library/index.html#libdoc),总结出使用Theano去实现一个具体的算法一般需要以下几个步骤:(1)定义符号变量;(2)建立起来符号表达式;(3)建立起来图连接关系也就是function函数实现的;(4)调用function实现一定的功能,也就是完成编译调用。在本节里面重点讲述Theano符号变量这一个数据类型的基本知识。Theano中所有符号变量来源于一个基类:Tensorvariable(),也就是说这些符号变量的实际上都是这个类的实例化,而这些符号变量的本身的数据类型,通过实例化给定,通过访问对象属性得到object.type,这些在theano的tensor模块中,下面给出常见的语法模式以及常见的数据类型:
一般格式:import theano
import theano.tensor as T
x=T.符号变量类型(name='这个变量的名字',dtype=‘该实例化的符号变量的数据类型’)
Note:有人尝试这么去定义符号变量出现以下错误:
第一眼看上去好像并没有啥错误,其实这是对于Python基本功太差的表现,也是一个细节问题,因为“theano.config.floatX”在这个情况下并没有导入,所以一般情况下,记住,先import theano,在import theano.tensor as T。下面贴出来常见的符号类型,以及符号变量的数据类型。
第一栏里面是符号变量的类型,第二栏是符号变量的数据类型,有意思的是最后一栏broadcastable属性,实际上Numpy一样,它是完成不同shape的矩阵之间的运算的,其实咱们一直在用,只不过没有明确提出来而已,下面通过对比看看Numpy和Theano中broastcastable:
正常来说a和b的shape不一样,不能参加运算,正式因为这个broadcastable,让他们可以计算了。
大家可以看到在theano中的符号变量也有这样的概念,这对于之后计算很有用的。这里有关于function函数的用法,在之后会详细说明。
在theano中一次定义几个同类型的符号变量,用法也简单,下面简单看看。
相关文章推荐
- 数据传输板
- Hibernate Tools for Eclips Plugins
- Pascal's Triangle (leetcode java)
- <转>如何高效快速看懂Android源码
- Fixed Function Shader
- windows安装composer
- SQL 数字转为时分秒
- Linux第一天
- jquery实现折叠式(手拉风琴)菜单
- 使用winSCP下载和上传文件到linux
- android:碎片的生命周期
- 设计模式--13、享元模式
- Apache 多端口多站点配置方法
- linux中cp:overwrite提示的问题
- java 注解 详解
- Hdu 2037 今年暑假不AC
- 这么多年不容易...我很庆幸等到现在的你——知乎上关于男人成熟的好故事
- Android 桌面不显示应用图标
- 解决redhat linux下IP地址可以ping通,域名无法ping通问题
- 利用WireShark破解网站密码