Tensor矩阵创建,矩阵乘法,矩阵加法,sess查看

参看 TensorFlow创建常量(tf.constant)详解

创建TensorFlow常量(tf.constant):

创建TensorFlow矩阵


tf.constant(
    value,  
    dtype=None,
    shape=None,
    name='Const',
    verify_shape=False
)
# 后面四个参数可写可不写,第二个参数表示数据类型,一般可以是tf.float32, tf.float64等

eg:


tensor=tf.constant(1)   # 1
tensor=tf.constant([1, 2], dtype=tf.float32)   # [1. 2.]


为查看结果必须创建tf.Session()会话

并用取值函数tensor.eval()查看创建的tensor的值:

参看 【TensorFlow】查看 tensor详细数值


tensor=tf.constant([1, 2], dtype=tf.float32)
sess=tf.Session()
with sess.as_default():
    print('结果是:', tensor.eval())

结果是: [1. 2.]

张量形状:

1.第三个参数表示张量的“形状”,即维数以及每一维的大小。如果指定了第三个参数,当第一个参数value是数字时,张量的所有元素都会用该数字填充:

2.当第一个参数value是一个列表时,注意列表的长度必须小于等于第三个参数shape的大小(即各维大小的乘积),否则会报错:

3.如果列表大小小于shape大小,则会用列表的最后一项元素填充剩余的张量元素:


tensor=tf.constant(-1, shape=[2, 3])
sess=tf.Session()
with sess.as_default():
    print('结果是:', tensor.eval())

结果是: [[-1 -1 -1]
         [-1 -1 -1]]


tensor=tf.constant([1, 2], shape=[1, 4, 3])
sess=tf.Session()
with sess.as_default():
    print('结果是:', tensor.eval())

结果是: [[[1 2 2]
          [2 2 2]
          [2 2 2]
          [2 2 2]]]


参看 tensorflow教程之tf.matmul(a,b)的用法

tensor矩阵相乘 tf.matmul(a,b):

tf.matmul(a,b)与tf.multiply(a,b)的区别,后者是单纯的对应位置数字相乘


import tensorflow as tf
tf.compat.v1.disable_eager_execution()  # tensorflow版本2.0无法兼容版本1.0. 这一句必须加在前面,否则无法执行sess.run()


# 2x3矩阵 乘 3x2矩阵 得  2x2矩阵
a = tf.constant([1, 2, 3, 4, 5, 6], shape=[2, 3])
b = tf.constant([7, 8, 9, 10, 11, 12], shape=[3, 2])
d=tf.matmul(a,b)
with tf.compat.v1.Session() as sess:   # 版本2.0的函数 tf.compat.v1.Session()  版本1.0的函数 tf.compat.v1.Session()
    print(sess.run(d))

[[ 58  64]
 [139 154]]


tensor矩阵相加 tf.add(a,b):

tf.matmul(a,b)与tf.multiply(a,b)的区别,后者是单纯的对应位置数字相乘

import tensorflow.compat.v1 as tf
#tf.disable_v2_behavior()

x=tf.constant([[1,2],[1,2]])  
y=tf.constant([[1,1],[1,2]])
z=tf.add(x,y)
 
x1=tf.constant(1)
y1=tf.constant(2)
z1=tf.add(x1,y1)
 
x2=tf.constant(2)
y2=tf.constant([1,2])
z2=tf.add(x2,y2)
 
x3=tf.constant([[1,2],[1,2]])  
y3=tf.constant([[1,2]])
z3=tf.add(x3,y3)
 
with tf.Session() as sess:
    z_result,z1_result,z2_result,z3_result=sess.run([z,z1,z2,z3])
    print('z =\n%s'%(z_result))
    print('z1 =%s'%(z1_result))
    print('z2 =%s'%(z2_result))
    print('z3 =%s'%(z3_result))

z =
[[2 3]
 [2 4]]
z1 =3
z2 =[3 4]
z3 =[[2 4]
 [2 4]]


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值