Tensorflow2 的常用函数(21-25)
21. np.vstack() 垂直
对应垂直元素相加,体会一下。
import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.vstack((a, b))
print("c:\n", c)
c:
[[1 2 3]
[4 5 6]]
22. np.hstack() 水平
对应水平元素相加
import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
c = np.hstack((a, b))
print("c:\n", c)
c:
[1 2 3 4 5 6]
23. np.mgrid()生成等间隔数值点
mgrid[::,::]。生成二维数据,第一维 如果是2:5:1,则从2开始,步长1 。数据是2,3,4,共三行。第二维表示列,步长原理同行。如下面的例子,表示两行三列的数据,左闭右开。.ravel()是拉直的意思。
# 生成等间隔数值点
x, y = np.mgrid[1:3:1, 2:4:0.5]
# 将x, y拉直,并合并配对为二维张量,生成二维坐标点
grid = np.c_[x.ravel(), y.ravel()]
print("x:\n", x)
print("y:\n", y)
print("x.ravel():\n", x.ravel())
print("y.ravel():\n", y.ravel())
print('grid:\n', grid)
结果:
x:
[[1. 1. 1. 1.]
[2. 2. 2. 2.]]
y:
[[2. 2.5 3. 3.5]
[2. 2.5 3. 3.5]]
x.ravel():
[1. 1. 1. 1. 2. 2. 2. 2.]
y.ravel():
[2. 2.5 3. 3.5 2. 2.5 3. 3.5]
grid:
[[1. 2. ]
[1. 2.5]
[1. 3. ]
[1. 3.5]
[2. 2. ]
[2. 2.5]
[2. 3. ]
[2. 3.5]]
24. tf.losses.categorical_crossentropy() 交叉熵损失函数
该函数用于比较交叉熵的大小。交叉熵越小,表示概率分布越接近。主要损失函数中使用。
下面的例子中,肯定是0.9的值更靠近1,因此交叉熵较小。
import tensorflow as tf
loss_ce1 = tf.losses.categorical_crossentropy([1, 0], [0.7, 0.3])
loss_ce2 = tf.losses.categorical_crossentropy([1, 0], [0.9, 0.1])
print("loss_ce1:", loss_ce1)
print("loss_ce2:", loss_ce2)
结果:
loss_ce1: tf.Tensor(0.35667497, shape=(), dtype=float32)
loss_ce2: tf.Tensor(0.105360545, shape=(), dtype=float32)
25. 小结
至此,tensorflow2 的常用基础函数告一段落。