tensorflow学习笔记----2.常用函数1

 1.强制tensor转换为该数据类型
 tf.cast(张量名,dtype=数据类型)

x1=tf.constant([1,2,3],dtype=tf.float64)
print(x1)
x2=tf.cast(x1,dtype=tf.int32)
print("x2=",x2)

运行结果:

 

2.计算张量维度上元素的最小值

tf.reduce_min(张量名)

print("min=",tf.reduce_min(x2))

运行结果:

 

3.计算张量维度上元素的最大值

tf.reduce_max(张量名)

print("max=",tf.reduce_max(x2))

运行结果:

4.理解axis
​​​​​在一个二维张量或数组中,可以通过调整axis=0或axis=1控制执行维度。
axis=0代表跨行,纵向操作,axis=1表示跨列,横向操作
如果不指定axis,则所有元素参与计算

x=tf.constant([[1,2,3],[4,5,6]])
print(x)
# 4.对所有的元素求均值
print("所有元素的均值为:",tf.reduce_mean(x))
# 5.对各行求均值
print("各行的均值为:",tf.reduce_mean(x,axis=1))
# 6.对各列求和
print("各列的和为:",tf.reduce_sum(x,axis=0))

运行结果:

tensorflow学习笔记----2.常用函数1_第1张图片

 5.variable

tf.Variable()将变量标记为“可训练",被标记的变量会在反向传播中记录梯度信息。 

神经网络训练中,常用该函数标记训练参数。

 tf.Variable(初始值) w=tf.Variable(tf.random.normal([2,2],mean=0,stddev=1))

(1)随机生成正态分布随机数 #

(2)在给生成的随机数标记为可训练 #

这样,在反向传播中就可以通过梯度下降更新参数w了

6.TensorFlow中的数学运算

对应元素的四则运算:tf.add,tf.subtract,tf.multiply,tf.divide
只有维度相同的张量才可以做四则运算
a=tf.ones([1,3])#先创建一个一行3列的张量,所有元素是1
b=tf.fill([1,3],3.)#再创建一个1行3列的张量,所有元素是3
print("a=",a)
print("b=",b)


#(1) 实现两个张量对应元素相加
# tf.add(张量1,张量2)
print("a+b=",tf.add(a,b))

# (2)实现两个张量对应元素相减
# tf.subtract(张量1,张量2)
print("a-b=",tf.subtract(a,b))

# (3)实现两个张量对应元素相乘
# tf.multiply(张量1,张量2)
print("a*b=",tf.multiply(a,b))

# (4)实现两个张量对应元素相除
# tf.divide(张量1,张量2)
print("a/b=",tf.divide(b,a))

运行结果:

tensorflow学习笔记----2.常用函数1_第2张图片

 7.平方、次方与开方:tf.square,tf.pow,tf.sqrt

8.矩阵相乘

tf.matnul(矩阵1,矩阵2)

a=tf.ones([3,2])
b=tf.fill([2,3],3.)
print("矩阵相乘:",tf.matmul(a,b))

运行结果: 

9.特征和标签对应

tf.data.Dataset.from_tensor_slices()

切分传入张量的第一维度,生成输入特征/标签对,构建数据集
features=tf.constant([12,23,10,17])# 收集的特征
labels=tf.constant([0,1,1,0])#标签
dataset=tf.data.Dataset.from_tensor_slices((features,labels))
print(dataset)
for element in dataset:
    print(element)

运行结果:

 

你可能感兴趣的:(tensorflow,深度学习)