如何获取Theano.tensor张量变量的实际计算值?
Theano张量计算结果获取方法
Theano属于符号计算框架,你直接编写的运算逻辑只会生成计算图的符号节点,不会立即执行数值计算,你看到的Elemwise{arctan2,no_inplace}.0就是符号节点对象,可通过以下两种方式获取实际计算值:
- 方法1:直接调用张量的
eval()方法,适合单次快速计算场景
import Theano.tensor as tt a = 2 b = 3 c = tt.arctan2(a, b) # 执行计算获取数值结果 result = c.eval() print(result)
运行后输出的结果即为arctan2(2,3)的实际数值,约为0.5880。
- 方法2:编译为Theano函数,适合需要多次重复执行相同计算逻辑的场景,性能更优
import theano import Theano.tensor as tt # 定义符号输入占位符 x = tt.iscalar('x') y = tt.iscalar('y') # 编译计算函数,指定输入输出 compute_arctan2 = theano.function(inputs=[x, y], outputs=tt.arctan2(x, y)) # 传入实际数值调用编译好的函数 a = 2 b = 3 result = compute_arctan2(a, b) print(result)
内容的提问来源于stack exchange,提问作者Leon
相关产品推荐
相关产品推荐

