TensorFlow1.x和TensorFlow2.x的layer实现上的区别

TensorFlow1.x和TensorFlow2.x的layer实现上的区别

  • tf.contrib.layers.layer_norm vs. tf.keras.layers.LayerNormalization
    该layer主要是对输入进行规整操作。计算公式大概是:
    x = ( x - m ) / sqrt(v + esp)
    x *= gamma
    x += beta
    其中,gamma和beta两个参数在训练中得到,m和v是做inference的时候计算,在tf1.0中,m和v是按x所有的值做平均算方差,而在tf2.0中是按行做均值方差。

  • tf.nn.rnn_cell.LSTMCell vs. tf.keras.layers.LSTM
    该层的计算的差异在是否遗忘门输出加上bias,前者在遗忘门输出加了bias=1.0,后者没有添加。在参数存储上,tf1.x上的存储顺序是i,j,f,o,而tf2.x上存储的是i,f,j,o。

上面只是目前实践中发现的差异,后续有其他发现继续更新。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值