tf.nn,tf.layers, tf.contrib模块

转自:https://blog.csdn.net/u014365862/article/details/77833481

我们在使用tensorflow时,会发现tf.nn,tf.layers, tf.contrib模块有很多功能是重复的,尤其是卷积操作,在使用的时候,我们可以根据需要现在不同的模块。但有些时候可以一起混用。

        下面是对三个模块的简述:

        (1)tf.nn :提供神经网络相关操作的支持,包括卷积操作(conv)、池化操作(pooling)、归一化、loss、分类操作、embedding、RNN、Evaluation。

        (2)tf.layers:主要提供的高层的神经网络,主要和卷积相关的,个人感觉是对tf.nn的进一步封装,tf.nn会更底层一些。

        (3)tf.contrib:tf.contrib.layers提供够将计算图中的  网络层、正则化、摘要操作、是构建计算图的高级操作,但是tf.contrib包含不稳定和实验代码,有可能以后API会改变。


以上三个模块的封装程度是逐个递进的。 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`tf.contrib.layers.variance_scaling_initializer()` 是 TensorFlow 中的一个初始化器函数,用于初始化神经网络中的权重。该函数采用了一种比较先进的初始化方法,即"Variance Scaling Initialization",可以有效地缓解梯度消失和梯度爆炸的问题,提高神经网络的训练效果。 该函数的语法如下: ``` tf.contrib.layers.variance_scaling_initializer(factor=2.0, mode='FAN_IN', uniform=False, seed=None, dtype=tf.float32) ``` 参数说明: - `factor`:用于缩放输出的标准偏差的因子。默认值为 2.0。 - `mode`:确定使用的缩放方式。可以是 "FAN_IN"(输入节点数量),"FAN_OUT"(输出节点数量)或 "FAN_AVG"(输入和输出节点数量的平均值)。默认值为 "FAN_IN"。 - `uniform`:如果为 True,则从均匀分布中采样,否则从正态分布中采样。默认值为 False。 - `seed`:随机数生成器的种子。默认为 None。 - `dtype`:所需的初始化数据类型。默认为 tf.float32。 使用示例: ```python import tensorflow as tf # 定义一个全连接层,使用 variance scaling 初始化权重 fc1 = tf.layers.dense(inputs=x, units=256, activation=tf.nn.relu, kernel_initializer=tf.contrib.layers.variance_scaling_initializer()) # 定义一个卷积层,使用 variance scaling 初始化卷积核 conv1 = tf.layers.conv2d(inputs=x, filters=32, kernel_size=[3, 3], padding="same", activation=tf.nn.relu, kernel_initializer=tf.contrib.layers.variance_scaling_initializer()) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值