下面内容是此文章的练习,加了一些注释和个人理解,不当之处请赐教:

#导入头文件
import numpy as np
import matplotlib.pyplot as plt
import theanoimport theano.tensor as T
from theano import pp#symbolic variables 符号变量   编写theano代码更像写数学公式foo = T.scalar('foo')  #定义一个标量
bar = foo**2     #另一个变量
bar2 = foo**3
print type(bar)   #class 'theano.tensor.var.TensorVariable'print bar.type   #TensorType(float64, scalar)print pp(bar)  # pretty print funtion  ,bar的内容: (foo ** TensorConstant{3})#为了进行计算,需要定义符号函数
#funtion函数的第一个参数表示输入,输入部分必须用中括号[ ]括起,如果输入参数为空,则用[]表示
#第2个参数为函数表达式,如果有多个表达式则也必须用中括号[ ]括起,若只有一个则可括可不括
#这里定义了两个函数
f1 = theano.function([foo],[bar])
f2 = theano.function([foo],bar2)
print f1(3)#替代函数的另一个方式:用符号变量的eval方法
#eval的参数是字典形式,用“键-值对”表示
print bar.eval({foo:3})#python定义的函数也可以给theano的变量赋值
def square(x):return x**2
bar = square(foo)
print 'hi:'
print bar.eval({foo:3})
print square(2)#theano中有向量、矩阵等类型,在这些类型上可能施加各种操作A = T.matrix('A')
x = T.vector('x')
b = T.vector('b')
y = T.dot(A,x) + b  #与其他矩阵语言不同,NumPy中的乘法运算符*按元素逐个计算,矩阵乘法可以使用dot函数
z = T.sum(A**2)    #这里先求A各元素平方,然后各列相加。
# theano.function函数可以同时做多个计算任务,如下所示同时计算y和z两个表示式。下面第3个参数b设置了默认值
linear_mix = theano.function([A,x,theano.Param(b,default=np.array([0,0]))],[y,z])
#下面的参数分别对应A,x,b
print linear_mix(np.array([[1,2,3],[4,5,6]]),np.array([1,2,3]),np.array([4,5])) #下面只有两个实参:A和x. 则第3个形参b使用默认的值 print linear_mix(np.array([[1,2,3],[4,5,6]]),np.array([1,2,3]))

theano程序(一)相关推荐

  1. Theano mnist数据集格式

    首先链接一篇大牛的Theano文档翻译:http://www.cnblogs.com/xueliangliu/archive/2013/04/03/2997437.html 里面有mnist.pkl. ...

  2. HINT: Use the Theano flag 'exception_verbosity=high' for a debugprint and storage map footprint of t

    今天运行theano程序的时候,遇到了下面的问题: GRU4Rec git:(master) ✗ python run_rsc15.py Using cuDNN version 6021 on con ...

  3. 编程精粹 --Microsoft编写优质无错C程序秘诀

    献给我的妻子Beth, 以及我的双亲Joseph和Julia Maguire ────为了他们的爱和支持 序 1986年,在为几家小公司咨询和工作了10年之后为了获得编写Macintosh应用程序的经 ...

  4. 使用docker安装部署Spark集群来训练CNN(含Python实例)

    使用docker安装部署Spark集群来训练CNN(含Python实例) 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需 ...

  5. 在GPU上运行,性能是NumPy的11倍,这个Python库你值得拥有

    导读:NumPy是数据计算的基础,更是深度学习框架的基石.但如果直接使用NumPy计算大数据,其性能已成为一个瓶颈. 随着数据爆炸式增长,尤其是图像数据.音频数据等数据的快速增长,迫切需要突破NumP ...

  6. POCO C++库学习和分析 -- 序

    POCO C++库学习和分析 -- 序 1. POCO库概述: POCO是一个C++的开源库集.同一般的C++库相比,POCO的特点是提供了整一个应用框架.如果要做C++程序应用框架的快速开发,我觉得 ...

  7. windows怎么用gpu跑python程序_在GPU(windows)上运行Theano的命令

    我使用的代码from theano import function, config, shared, sandbox import theano.tensor as T import numpy im ...

  8. import theano时,系统报错无法定位程序输入点__gxx_personality_sj0 于动态链接库libstdc+±6.dll。

    在cmd的home目录(打开我的电脑\用户\Administrator)中新建 .theanorc.txt 文件(注意有两个点".",如果已经存在,则直接修改该文件),设置如下内容 ...

  9. PyTorch攻势凶猛,程序员正在抛弃TensorFlow?

    来源 | The Gradient 译者 | 夕颜 出品 | AI科技大本营(ID:rgznai100) 自 2012 年深度学习重新获得重视以来,许多机器学习框架便争相成为研究人员和行业从业人员的新 ...

最新文章

  1. jsp 环境配置记录
  2. mybatis crud_MyBatis教程– CRUD操作和映射关系–第1部分
  3. IDEA去除mapper.xml文件中的sql语句的背景色
  4. 【小技巧】【map】【set】【Java】map /set 的遍历
  5. 【CodeForces - 514C】Watto and Mechanism(字符串哈希)
  6. 2017.7.27 bill的挑战 失败总结
  7. pca各个向量之间的相关度_PCA算法原理及实现
  8. angular 上传图像的使用总结
  9. 一篇搞定导航守卫(vue-router源码学习)
  10. 完美解决PHP、AJAX跨域问题
  11. 三星 S7562i 一键 Root
  12. 虚拟ONVIF 摄像机
  13. iphone图片编辑画笔_苹果手机截屏后怎么编辑,这么实用你可一定要知道
  14. 通讯简单测试—Modscan32使用简介-Susie 周
  15. 算法竞赛入门经典训练指南 pdf
  16. 工程目录结构模板设计
  17. POJ 1564 Sum It Up
  18. 植物大战僵尸 修改存档和金钱
  19. win10不用虚拟机部署伪分布式集群(服务部署+客户端访问)
  20. Excel,world ,ppt文件图标显示异常解决办法 (2022最新)

热门文章

  1. C4D和3DMAX有什么区别?选哪个好?
  2. 微信小程序——基本语法
  3. “双碳”背景下 数据中心气体灭火技术演进方向
  4. 台式计算机功率是多少瓦,台式电脑电源功率多大才合适?组装电脑选购电源功率瓦数指南...
  5. html中如何写div中div的位置,position设置div的位置
  6. 第三方登录-[微博、微信、qq] java实现
  7. fiddler如何看
  8. 微信iOS卡顿监控系统
  9. 创新PC应用、打通云端体验,360小程序引发SaaS软件变革
  10. RewriteCond 和RewriteRule