Tensorflow(二) —— 创建Tensor类型的数据
1 创建Tensor的方式
- 1、from numpy、list
- 2、zeros、ones
- 3、fill
- 4、random
- 5、constant
- 6、Application
2 from numpy、list
import numpy as np
a = np.arange(20).reshape(2,10)
print("a:",a)
a1 = tf.convert_to_tensor(a)
print("a1:",a1)
b = [[2,5],[3,5]]
print("b:",b)
b1 = tf.convert_to_tensor(b)
print("b1:",b1)
3 tf.zeros
# 创建一个标量
t1 = tf.zeros([])
print("t1:",t1)
# 创建一个向量
t2 = tf.zeros(5)
print("t2:",t2)
t3 = tf.zeros((5)) # () 和 []等价
print("t3:",t3)
# 创建一个matrix
t4 = tf.zeros([5,6])
print("t4:",t4)
# 创建维度在三维及其以上的数列
t5 = tf.zeros([2,2,2])
print("t5:",t5)
4 tf.zeros_like
a = np.arange(20).reshape(4,5)
t1 = tf.zeros_like(a)
print("t1:",t1)
5 tf.ones 和 tf.ones_like
t1 = tf.ones([2,3,4])
print("t1:",t1)
a = np.arange(50).reshape(5,10)
t2 = tf.ones_like(a)
print("t2:",t2)
6 Normal(正态分布)
# 普通正太分布
t1 = tf.random.normal([5,10],mean = 1,stddev = 1)
"""
若不指定均值和标准差,则默认使用分布N(0,1)
"""
print("t1:",t1)
# 截断正太分布
"""
权值初始化的过程中防止出现 Gradient Vanish(梯度消失)
"""
t2 = tf.random.truncated_normal([4,8],mean = 0,stddev = 1)
print("t2:",t2)
7 uniform(均匀分布)
t1 = tf.random.uniform([4,10],minval = 0, maxval = 1)
print("t1:",t1)
t2 = tf.random.uniform([2,5],minval = 0,maxval = 100)
print("t2:",t2)
8 随机打散(random permutation)
old_index = tf.range(3)
print("old_index:",old_index)
new_index = tf.random.shuffle(old_index)
print("new_index:",new_index)
old_t1 = tf.random.normal([3,5,3],mean = 0,stddev = 1)
print("old_t1:",old_t1)
new_t1 = tf.gather(old_t1,new_index)
print("new_t1:",new_t1)
9 各种Tensor的典型应用
# Scalar []
"""
1、计算损失函数loss
2、计算accuracy
"""
out = tf.random.uniform([4,10])
print("out:",out)
y = tf.range(4)
print("y:",y)
y = tf.one_hot(y,depth = 10)
print("y:",y)
loss = tf.keras.losses.mse(y,out)
print("loss:",loss)
loss = tf.reduce_mean(loss)
print("loss:",loss)
# vector
# matrix
# ndim = 3
"""
自然语言处理
"""
# ndim = 4
"""
图片处理
"""
# ndim = 5
"""
加上single_task
"""
本文为参考龙龙老师的“深度学习与TensorFlow 2入门实战“课程书写的学习笔记
by CyrusMay 2022 04 06