神经网络学习-tensorflow2.0-tesor的创建
Tensor的创建:
1. tf.convert_to_tensor():使用numpy创建并转化为tensor或者直接创建tensor
examples:
input: tf.convert_to_tensor(np.ones([3,3]))
output:
tf.Tensor(
[[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]], shape=(3, 3), dtype=float64)
input: tf.convert_to_tensor([3,3])
output: tf.Tensor([3 3], shape=(2,), dtype=int32)
2.tf.zeros():直接创建指定尺寸且元素全部为0的tensor
examples:
input: tf.zeros([3,3])
output:
tf.Tensor(
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]], shape=(3, 3), dtype=float32)
input: tf.zeros([])
output: tf.Tensor(0.0, shape=(), dtype=float32)
此时创建的为一个标量。
3.tf.zeros():直接创建指定尺寸且元素全部为1的tensor
examples:
input: tf.ones([])
output: tf.Tensor(1.0, shape=(), dtype=float32)
此时创建的为一个标量。
input: tf.ones([2,3])
output:
tf.Tensor(
[[1. 1. 1.]
[1. 1. 1.]], shape=(2, 3), dtype=float32)
4.tf.ones_like()与tf.zeros_like():括号内输入一个tersor变量(如a),输出为一个与a的shape相同的ones或zeros
examples:
input:
a=tf.ones([2,3])
b=tf.zeros_like(a)
print(b)
output:
tf.Tensor(
[[0. 0. 0.]
[0. 0. 0.]], shape=(2, 3), dtype=float32)
5.tf.fill([shape],a):创建一个元素全部为a的tensor
example:
input: tf.fill([2,2],5)
output:
tf.Tensor(
[[5 5]
[5 5]], shape=(2, 2), dtype=int32)
6.tf.random.truncated_normal([shape],mean=a,stddev=b)或tf.random.normal([shape],mean=a,stddev=b):创建一个大小为shape的tensor,其元素的取值从均值为a,标准差为b的正态分布图中随机抽取。
(若不对mean和stddev赋值则默认为标准正态分布,即均值为0,标准差为1;加truncated会使得取值的效果更好)
7.tf.random.uniform([shape],minval=a,maxval=b,dtype=type):创建一个大小为shape的tensor,其元素的取值从范围为从a到b的均匀分布中随机抽取
(括号中的语句可指定元素类型为type,元素类型默认为float)
8.tf.constant():直接创建tensor
9.tf.random.shuffle(a):将a中的元素随即打乱
example:
input:
a=tf.range(10)
b=tf.random.shuffle(a)
print(a,"\n",b)
output:
tf.Tensor([0 1 2 3 4 5 6 7 8 9], shape=(10,), dtype=int32)
tf.Tensor([3 6 2 1 0 7 4 8 9 5], shape=(10,), dtype=int32)

浙公网安备 33010602011771号