神经网络学习-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)

 

 

 

 
posted @ 2020-10-04 15:46  ladadee  阅读(166)  评论(0)    收藏  举报