Tensorflow基本操作(四)

矩阵基本操作及实现

import tensorflow as tf
#开始一个交互会话
sess=tf.InteractiveSession()
I_matrix=tf.eye(5)
#定义一个5X5单位矩阵
print(I_matrix.eval())
#打印一个5X5单位矩阵

X=tf.Variable(tf.eye(10))
#定义一个初始化为10X10的单位矩阵的变量
X.initializer.run()
#初始化变量
print(X.eval())
#计算并打印变量

A=tf.Variable(tf.random_normal([5,10]))
#创建一个随机的5X10矩阵
A.initializer.run()

#两个矩阵相乘
product=tf.matmul(A,X)
print(product.eval())

b=tf.Variable(tf.random_uniform([5,10],0,2,dtype=tf.int32))
#创建一个由1,0组成的随机矩阵
b.initializer.run()
print(b.eval())
b_new=tf.cast(b,dtype=tf.float32)
#转换为float32

#两个矩阵相加
t1=tf.add(product,b_new)
t2=product-b_new
print("A*X _b\n",t1.eval())
print("A*X - b\n",t2.eval)
#tf.subtract()矩阵减法操作

实例:

import tensorflow as tf

#创建两个随机矩阵
a=tf.Variable(tf.random_normal([4,5],stddev=2))
b=tf.Variable(tf.random_normal([4,5],stddev=2))

#元素相乘
A=a*b

#乘以一个标量2
B=tf.scalar_mul(2,A)

#元素划分,其结果是
C=tf.div(a,b)
#即除法操作

#取模
D=tf.mod(a,b)

init_op=tf.global_variables_initializer()
#初始化变量
with tf.Session() as sess:
	sess.run(init_op)
	writer=tf.summary.FileWriter('graphs',sess.graph)
	#指定一个文件来保存图
	a,b,A_R,B_R,C_R,D_R=sess.run([a,b,A,B,C,D])
	print("a\n",a,"\nb\n",b,"a*b\n",A_R,"\n2*a*b\n",B_R,"\na/b\n",C_R,"\na%b\n",D_R)
writer.close()

tf.div() 返回的张量的类型与第一个参数类型一致

所有加法、减、除、乘(按元素相乘)、取余等矩阵的算术运算都要求两个张量矩阵是相同的数据类型,否则就会产生错误。可以使用 tf.cast() 将张量从一种数据类型转换为另一种数据类型

如果在整数张量之间进行除法,最好使用 tf.truediv(a,b),因为它首先将整数张量转换为浮点类,然后再执行按位相除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值