Tensorflow2 的常用函数(三)

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 的常用基础函数告一段落。

猜你喜欢

转载自blog.csdn.net/qq_40575024/article/details/105805689