【tensorflow2】常用函数

 

 

 

 

 

 

 

 

 

 

 

 

 

 

强制类型转换

tf.cast(张量名, dtype=数据类型)

 

计算张量最小值

tf.reduce_min(张量名)

计算张量最大值

tf.reduce_max(张量名)

 

返回行/列最大值的索引

tf.argmax(张量名, axis=操作轴)

 

axis=0 表示操作列

axis=1 表示操作行

若不指定axis,则对所有元素进行操作

 

计算张量沿行/列的平均值

tf.reduce_mean(张量名, axis=操作轴)

计算张量沿行/列的和

tf.reduce_sum(张量名, axis=操作轴)

 

声明可训练参数

tf.Variable(初始值)

神经网络训练中,常用该函数声明待训练参数

 

tensorflow中的数学运算

四则运算:

:tf.add(张量1, 张量2)

:tf.subtract(张量1, 张量2)

:tf.multiply(张量1, 张量2)

:tf.divide(张量1, 张量2)

只有维度相同的张量才可以做四则运算

 

平方:tf.square(张量名)

次方:tf.pow(张量名, n次方)

开方:tf.sqrt(张量名)

 

矩阵乘:tf.matmul(矩阵1, 矩阵2)

 

输入特征 & 标签配对函数

tf.data.Dataset.from_tensor_slices(输入特征, 标签)

 

对函数的某一参数求导

with tf.GradientTape() as tape:

    函数表达式

grad = tape.gradient(函数, 对谁求导)

 

枚举所有元素,并配上索引号

for i, element in enumerate(列表名):

    print(i, element)

 

独热码:在分类问题中,常用独热码做标签

如:苹果、香蕉、橙子,可用独热码表示:100,010,001

将数据转换为one-hot形式的数据

tf.one_hot(待转换数据, depth=分几类)

 

使输出符合概率分布

tf.nn.softmax(列表名)

 

实现参数自更新

可更新的参数要被指定为Variable

w = tf.Variable(初始值)

w.assign_sub(w要自减的内容)

 

 

tensorflow中的 ?;

tf.where(条件语句, 真返回A, 假返回B)

 

返回[0, 1)之间的随机张量

np.random.RandomState.rand(维度)

若维度为空,返回标量

例:

# 可以设置随机数种子,使每次产生的随机数相同

rdm = np.random.RandomState(seed=1)

# 返回一个随即标量,即随机数

a = rdm.rand()

# 产生一个2行3列的随机数矩阵

b = rdm.rand(2, 3)

 

将两个数组按垂直方向叠加

np.vstack((数组1, 数组2))

例:

a = np.array([1, 2, 3])

b = np.array([4, 5, 6])

c = np.vstack((a, b))

 

生成网格坐标点 

# 生成维度相同的等差数组

# x, y = np.mgrid[起始值:结束值:步长, 起始值:结束值:步长]

x, y = np.mgrid[3:5:1, 4:6:1]

# 将多维数组拉伸成一维数组

x = x.ravel()

y = y.ravel()

# x,y配对,生成网格坐标

grid = np.c_[x, y]

print(grid)

 

posted @ 2020-08-14 20:28  狂奔的小学生  阅读(356)  评论(0)    收藏  举报