TensorFlow常见方法

TensorFlow


文章目录

  • TensorFlow
  • 一、tf.keras.layers.Dense()
  • 二、tf.keras.layers.BatchNormalization()
  • 三、tf.keras.layers.ReLU()
  • 四、tf.zeros()
  • 五、tf.Variable()
  • 六、tf.keras.Sequential()
  • 七、tf.keras.layers.Dropout()
  • 八、tf.matmul()
  • 九、tf.reduce_sum()
  • 十、tf.stack()


官网:https://tensorflow.google.cn/versions

tf.Keras.Model类:https://blog.csdn.net/qq_30992103/article/details/101034085


一、tf.keras.layers.Dense()

tf.keras.layers.Dense(
    units=10,  # 输出的维度大小
    activation=None,  # 选择使用的(激活函数)
    use_bias=True,  # 是否使用(偏置项)
    kernel_initializer=None,  # 卷积核的初始化器
    bias_initializer=tf.zeros_initializer(),  # 偏置项的初始化器
    kernel_regularizer=None,  # 卷积核的正则化
    activaty_regularizer=None,  # 偏置项的正则化
    kernel_constraint=None,  # 对主权重矩阵进行约束
    bias_constraint=None,  # 对偏置向量进行约束
    trainable=True,  # 可以设置为不可训练,(冻结)网络层
    name=None,  # 层的名字
    reuse=None  # 是否重复使用参数
)

二、tf.keras.layers.BatchNormalization()

Batch normalization会使用当前批次数据的均值和标准差做归一化。
在调用tf.keras.layers.BatchNormalization 时,我们几乎不需要设定任何参数,只需要输入数据就好

tf.keras.layers.BatchNormalization(
    axis=-1,
    momentum=0.99,
    epsilon=0.001,
    center=True,
    scale=True,
    beta_initializer='zeros',
    gamma_initializer='ones',
    moving_mean_initializer='zeros',
    moving_variance_initializer='ones',
    beta_regularizer=None,
    gamma_regularizer=None,
    beta_constraint=None,
    gamma_constraint=None,
    **kwargs
)

三、tf.keras.layers.ReLU()

https://tensorflow.google.cn/versions/r2.3/api_docs/python/tf/keras/layers/ReLU
不用设定任何参数

四、tf.zeros()

shape表示形状一维二维等,如[n,m]表示n行m列

tf.zeros(
    shape,
    dtype=tf.float32,
    name=None
)

五、tf.Variable()

用于创建变量(Variable),变量是一个特殊的张量(),其可以是任意的形状和类型的张量。

tf.zeros(
    shape,
    dtype=tf.float32,
    name=None
)
import tensorflow as tf

w = tf.Variable([6,8,6])	#创建变量w
print(w)	#查看变量的shape,而不是值。
with tf.Session() as sess:
    sess.run(w.initializer)		#初始化变量
    print(sess.run(w))	#查看变量的值

#运行结果:
<tf.Variable 'Variable:0' shape=(3,) dtype=int32_ref>
[6 8 6]

六、tf.keras.Sequential()

Keras有两种类型的模型,tf.keras.Sequential 和 函数式模型(Model)
最常见的模型是层的堆叠:tf.keras.Sequential,层的线性叠加。
https://blog.csdn.net/weixin_43939952/article/details/104037604

tf.zeros(
    shape,
    dtype=tf.float32,
    name=None
)

七、tf.keras.layers.Dropout()

将Dropout应用到输入

tf.keras.layers.Dropout(
    rate, 
    noise_shape=None, 
    seed=None, 
    **kwargs
)

例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

八、tf.matmul()

将矩阵 a 乘以矩阵 b,生成a * b

matmul(
    a,
    b,
    transpose_a=False,
    transpose_b=False,
    adjoint_a=False,
    adjoint_b=False,
    a_is_sparse=False,
    b_is_sparse=False,
    name=None
)

九、tf.reduce_sum()

按一定方式计算张量中元素之和

tf.reduce_sum(
    input_tensor,  # 待处理张量
    axis=None,  # 指定按哪个维度进行加和,默认将所有元素进行加和。axis=0表示跨行,axis=1表示跨列。三维数组拥有三个轴:axis=0,axis=1,axis=2。 四维数组拥有三个轴:axis=0,axis=1,axis=2,axis=3
    keepdims=None, # 默认为False,表示不维持原来张量的维度,反之维持原张量维度
    name=None # 定义该操作名字
    )

十、tf.stack()

将矩阵拼接

t1 = [[1, 2, 3], [4, 5, 6]]
t2 = [[7, 8, 9], [10, 11, 12]]
 
c0=tf.stack([t1, t2], 0)
c1=tf.stack([t1, t2], 1)
c2=tf.stack([t1, t2], 2)
 
 
with tf.Session() as sess:
	print('c0')
	print(sess.run(c0))
	print('c1')
	print(sess.run(c1))
	print('c2')
	print(sess.run(c2))
 
 
 
//结果如下:
c0
[[[ 1  2  3]
  [ 4  5  6]]
 
 [[ 7  8  9]
  [10 11 12]]]
c1
[[[ 1  2  3]
  [ 7  8  9]]
 
 [[ 4  5  6]
  [10 11 12]]]
c2
[[[ 1  7]
  [ 2  8]
  [ 3  9]]
 
 [[ 4 10]
  [ 5 11]
  [ 6 12]]]

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