tensorflow中的tensor就是张量,是多维数组,多维列表,用阶表示张量维度
0阶张量表示标量scalar,一个单独的数,例如123
1阶张量表示向量vector,一个一维数组,例如[1,2,3]
2阶张量叫做矩阵matrix,一个二维数组,例如[[1,2,3],[4,5,6],[7,8,9]]
n阶张量叫做张量tensor,n维数组,t=[[[[....n个]]]]
张量表示0-n阶数组
tensorflow数据类型:
tf.int tf.int 32 tf.float32 tf.float64
布尔型 tf.bool tf.constant([True,False])
字符串型 tf.string tf.constant("Hello,world!")
1.如何创建一个tensor
import tensorflow as tf
# 创建一个张量tf.constant(张量内容,dtype=数据类型)
a = tf.constant([1,5],dtype=tf.int64)
print(a)
print(a.dtype)
print(a.shape)
输出a会输出a的所有信息,包括数据内容,形状,类型
2.numpy数组转化为Tensor
import tensorflow as tf
import numpy as np
# 将numpy数据类型转换为tensor数据类型 tf.convert_to_tensor(数据名,dtype=数据类型)
a = np.arange(0,5)
b = tf.convert_to_tensor(a)
print(a)
print(b)
3.创建特殊张量
# 创建全为0的张量 tf.zeros(维度)
# 全为1的张量 tf.ones(维度)
# 创建全为指定值的张量 tf.fill(维度,指定值)
a = tf.zeros([2,3])
b = tf.ones(4)
c = tf.fill([2,2],9)
print(a)
print(b)
print(c)
4.生成随机数
# 生成正态分布随机数,默认均值为0,标准差为1 tf.random.normal(维度,mean=均值,stddev=标准差)
# 生成截断式正态分布随机数 tf.random.truncated_normal(维度,mean=均值,stddev=标准差)
# 生成均匀分布随机数[minval,maxval] tf.random.uniform(维度,minval=最小值,maxval=最大值)
d = tf.random.normal([2,2],mean=0.5,stddev=1)
print(d)
e = tf.random.truncated_normal([2,2],mean=0.5,stddev=1)
print(e)
# 里面的元素符合以0.5为均值,1为标准差
f = tf.random.uniform([2,2],minval=0,maxval=1)
print(f)