tensorflow的部分函数汇总(非大全,保持更新)

写在前面:

默认已经引入Tensorflow 和Numpy, 且形如:

import numpy as np
import tensorflow as tf

1.ones_like

sess = tf.Session()
ones_like = tf.ones_like([2, 3])
print(sess.run(ones_like))

其会根据传入的tensor的形状,生成个全是1的tensor。

[1 1]

2.ones

ones = tf.ones([2,3])
print(sess.run(ones))
use_list = sess.run(ones)

根据传入的形状,生成一个对应形状的,全部元素为1的张量。

[[1. 1. 1.]
 [1. 1. 1.]]

在tensorflow中,还存在zeros和zeros_like ,其参数和结果与上述类似。

3.fill

print(sess.run(tf.fill([2,3], 3)))

该函数是在上述基础上的深化,可以填充任意数值了。

[[3 3 3]
 [3 3 3]]

4.random_normal ,random_uniform, linspace

# 正态分布随机数
print(sess.run(tf.random_normal([100])))
# 均匀分布随机数
print(sess.run(tf.random_uniform([100])))
# 生成等差数列
# 必须用随机数表示,否则会报错
print(sess.run(tf.linspace(1.0, 10.0, 100)))

注释很详细,不予赘述。

5.concat

t1 = [[1, 2, 3], [4, 5, 6]]
t2 = [[7, 8, 9], [10, 11, 12]]

print(sess.run(tf.concat([t1, t2], 0)))
print(sess.run(tf.concat([t1, t2], 1)))

输出结果形如:

[[ 1  2  3]
 [ 4  5  6]
 [ 7  8  9]
 [10 11 12]]
[[ 1  2  3  7  8  9]
 [ 4  5  6 10 11 12]]

可以看到,concat传入的axis参数决定了拼接的轴向;当axis=0,表示按照列进行拼接,当axis=1,表示按照行拼接。

6.tf.diag,返回一个给定对角元素的对角tensor

diagonal = [1,2,3,4]
print(sess.run(tf.diag(diagonal)))

输出:

[[1 0 0 0]
 [0 2 0 0]
 [0 0 3 0]
 [0 0 0 4]]

7.reduce_sum ,规约累加函数

t1 = [[1, 2, 3], [4, 5, 6]]
print(sess.run(tf.reduce_sum(t1, axis=0)))
print(sess.run(tf.reduce_sum(t1, axis=1)))

输出:

[5 7 9]
[ 6 15]

可以看出,当axis=0的时候,每列自己的结果累加;而axis=1 则是按照行自身累加,但最终得到结果的形状,都是列向量。

你可能感兴趣的:(深度学习,机器学习,python)