具体做法
开始一个交互式会话,以便得到计算结果:
-
tensorflow.eye()用于生成单位矩阵。
用法:tensorflow.eye( num_rows, num_columns, batch_shape, dtype, name)
参数:
num_rows:它是int32标量张量,它定义了结果矩阵中存在的行数。
num_columns(可选):它是int32标量张量,它定义了结果矩阵中存在的列数。默认值为num_rows。
batch_shape(可选):它是Python整数或一维int32 Tensor的列表或元组。如果不是全部,返回的Tensor将具有这种形状的前导批量尺寸。
dtype(optional):它定义了返回张量的dtype。默认值为float32。
name(optional):它定义了操作的名称。
返回:它返回形状为batch_shape + [num_rows,num_columns]的张量。 -
eval() 是tf.Tensor的Session.run() 的另外一种写法,但两者有差别
1.eval(): 将字符串string对象转化为有效的表达式参与求值运算返回计算结果
2.eval()也是启动计算的一种方式。基于Tensorflow的基本原理,首先需要定义图,然后计算图,其中计算图的函数常见的有run()函数,如sess.run()。同样eval()也是此类函数,
3.要注意的是,eval()只能用于tf.Tensor类对象,也就是有输出的Operation。对于没有输出的Operation, 可以用.run()或者Session.run();Session.run()没有这个限制。
一些其他有用的矩阵操作,如按元素相乘、乘以一个标量、按元素相除、按元素余数相除等
tf.div 返回的张量的类型与第一个参数类型一致。
解读分析
所有加法、减、除、乘(按元素相乘)、取余等矩阵的算术运算都要求两个张量矩阵是相同的数据类型,否则就会产生错误。可以使用 tf.cast() 将张量从一种数据类型转换为另一种数据类型。
拓展阅读
如果在整数张量之间进行除法,最好使用 tf.truediv(a,b),因为它首先将整数张量转换为浮点类,然后再执行按位相除。