2.1符号变量
import theano
from theano import tensor as T
Theano本事是一个通用的符号计算框架,与非符号架构的框架不同,它先使用Tensor variable初始化向量,然后将复杂的符号表达式编译成函数模型,最后运行时传入实际数据进行计算。整个过程分三步:
1.定义符号变量
2.编译代码
3.执行代码
# 初始化张量Tensor
x=T.scalar(name='input',dtype='float32')
w=T.scalar(name='weight',dtype='float32')
b=T.scalar(name='bias',dtype='float32')
z=w*x+b
# 编译程序
net_input = theano.function(inputs=[w,x,b],outputs=z)
print('net_input: %.2f'% net_input(2.0,3.0,0.5))
net_input: 6.50
Theano内置的变量类型
标量scalar,向量vector,行row,列col,矩阵matrix,tensor3,tensor4
data = T.vector(name='data',dtype='float64')
print(data)
data
自定义变量类型
mytype=T.TensorType('float64',broadcastable=(),name=None,sparse_grad=False)
其中broadcastable是True或False的布尔类型元组,元组的大小等于变量的维度,如果为True,表示变量在对应维度上的数据可以进行广播,否则数据不能广播
r = T.row()
r.broadcastable #结果表示在列方向上可以广播
(True, False)
mtr = T.matrix()
mtr.broadcastable #结果表示矩阵类型不能广播
(False, False)
将Python变量或者NumPy变量转化为Theano共享变量
import numpy as np
data = np.array([[1,2],[3,4]])
shared_data = theano.shared(data)
type(shared_data)
theano.tensor.sharedvar.TensorSharedVariable
2.2符号计算图模型
1.简述 TensorFlow 计算模型——计算图
2.tensorflow计算模型——计算图
2.3函数
函数定义格式
import theano
x,y = theano.tensor.fscalars('x','y')
z1 = x + y
z2 = x*y
f = theano.function([x,y],[z1,z2])
print(f(2,3)</