tensorflow多维张量计算实例
两个三维矩阵的乘法怎样计算呢?我通过实验发现,tensorflow把前面的维度当成是batch,对最后两维进行普通的矩阵乘法。也就是说,最后两维之前的维度,都需要相同。
首先计算shape为(2,2,3)乘以shape为(2,3,2)的张量。
importtensorflowastf importnumpyasnp a=tf.constant(np.arange(1,13,dtype=np.float32),shape=[2,2,3]) b=tf.constant(np.arange(1,13,dtype=np.float32),shape=[2,3,2]) c=tf.matmul(a,b) #c=tf.matmul(a,b) sess=tf.Session() print("a*b=",sess.run(c)) c1=tf.matmul(a[0,:,:],b[0,:,:]) print("a[1]*b[1]=",sess.run(c1))
运行结果:
计算结果表明,两个三维矩阵相乘,对应位置的最后两个维度的矩阵乘法。
再验证高维的张量乘法:
importtensorflowastf importnumpyasnp a=tf.constant(np.arange(1,36,dtype=np.float32),shape=[3,2,2,3]) b=tf.constant(np.arange(1,36,dtype=np.float32),shape=[3,2,3,2]) c=tf.matmul(a,b) #c=tf.matmul(a,b) sess=tf.Session() print("a*b=",sess.run(c)) c1=tf.matmul(a[0,0,:,:],b[0,0,:,:]) print("a[1]*b[1]=",sess.run(c1))
运行结果:
以上这篇tensorflow多维张量计算实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。