theano第三课(scalar与matrix的求和)

本文介绍了如何使用Theano进行标量和矩阵的求和操作。首先讲解了两个标量的求和,然后展示了两个矩阵的求和过程,其中矩阵的元素为NumPy array。此外,还提到了Theano中不同数据类型的表示。


一、两个标量(scalar)求和

>>> 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)

返回值z即为x+y

>>> f(2, 3)
array(5.0)
>>> numpy.allclose(f(16.3, 12.1), 28.4)
True

theano 中,所有的符号都必须指定类型


eval的好处是,无需import function,如下

>>> import numpy
>>> import theano.tensor as T
>>> x = T.dscalar('x')
>>> y = T.dscalar('y')
>>> z = x + y
>>> numpy.allclose(z.eval({x : 16.3, y : 12.1}), 28.4)
True

二、两个矩阵(matrices)求和

import numpy
import theano.tensor as T
x = T.dmatrix('x')
y = T.dmatrix('y')
z = x + y
f = function([x, y], z)
print f([[1, 2], [3, 4]], [[10, 20], [30, 40]])

输出结果为

[[ 11.  22.]
 [ 33.  44.]]


由于变量是NumPy array,因此可以直接采用NumPy array作为输入

import numpy
f(numpy.array([[1, 2], [3, 4]]), numpy.array([[10, 20], [30, 40]]))
结果同上

下面给出变量类型

  • bytebscalar, bvector, bmatrix, brow, bcol, btensor3, btensor4
  • 16-bit integerswscalar, wvector, wmatrix, wrow, wcol, wtensor3, wtensor4
  • 32-bit integersiscalar, ivector, imatrix, irow, icol, itensor3, itensor4
  • 64-bit integerslscalar, lvector, lmatrix, lrow, lcol, ltensor3, ltensor4
  • floatfscalar, fvector, fmatrix, frow, fcol, ftensor3, ftensor4
  • doubledscalar, dvector, dmatrix, drow, dcol, dtensor3, dtensor4
  • complexcscalar, cvector, cmatrix, crow, ccol, ctensor3, ctensor4
参考文献:

http://deeplearning.net/software/theano/tutorial/adding.html






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值