TensorFlow2学习笔记:1、张量生成
1、张量
TensorFlow中的张量就是一个n维的数组,类型为tf.tensor.类似于numpy中的ndarray。Tensor具有两个重要的属性,包括张量的数据类型(dtype)及张量的形状(shape)。
张量(tensor):多维数组(列表) 阶=维度
0阶 标量scalar 例如:s= 123
1阶 向量vector 例如:s= [1,2,3]
2阶 矩阵matrix 例如:s= [[1,2,3],[4,5,6]]
n阶 张量tensor 可以表示0到n阶列表
2、张量的数据类型
3、创建一个张量
3.1 创建任意张量
语法为:tf.constant(张量内容,dtype=数据类型(可选))
例:
import tensorflow as tf
a=tf.constant([1,5],dtype=tf.int64)
print(a)
print(a.dtype)
print(a.shape)
运行结果:
3.2 创建全0张量
语法:tf.zeros(维度)
- 1维:直接写个数
- 2维:[行,列]
- 多维:[n,m,j,k…]
例:
import tensorflow as tf
a=tf.zeros([3,5])
print(a)
运行结果:
3.3 创建全1张量
语法:tf.ones(维度)
- 1维:直接写个数
- 2维:[行,列]
- 多维:[n,m,j,k…]
例:
import tensorflow as tf
a=tf.ones(6)
print(a)
运行结果:
3.4创建全为指定值的张量
语法:tf.fill(维度,指定值)
- 1维:直接写个数
- 2维:[行,列]
- 多维:[n,m,j,k…]
例:
import tensorflow as tf
a=tf.fill([3,6],8)
print(a)
运行结果:
4、numpy转换为张量
很多时候,数据都是由numpy给出的,我们可以将其转换为一个张量(tensor)
语法:tf.convert_to_tensor(数据名,dtype=数据类型(可选))
例:
import tensorflow as tf
import numpy as np
a=np.arange(0,5)
b=tf.convert_to_tensor(a,dtype=tf.int64)
print(a)
print(b)
运行结果:
5、生成正态分布随机数张量
语法:tf.random.normal(维度,mean=均值,stddev=标准差)
例:
import tensorflow as tf
a=tf.random.normal([2,2],mean=0.5,stddev=1)
print(a)
运行结果:
6、生成截断式正态分布随机数张量
语法:tf.random.truncated_normal(维度,mean=均值,stddev=标准差)
例:
import tensorflow as tf
a=tf.random.truncated_normal([2,2],mean=0.5,stddev=1)
print(a)
运行结果:
7、生成均匀分布随机数张量
语法:tf.random.uniform(维度,minval=最小值,maxval=最大值)
例:
import tensorflow as tf
a=tf.random.uniform([2,4],minval=0,maxval=1)
print(a)
运行结果: