bert模型部分代码记录

bert源码理论有很多,核心结构应该是transformer代码部分,如下。bert的transformer结构用了多层。初始层的输入张量是字符embedding与位置embedding,后面的n层输入张量是前一层的输出张量,中间有存储注意力层的输出张量。存储的注意力层输出张量会做拼接,输出给下面的ln和dense,产生当前层的输出张量。
摘要由CSDN通过智能技术生成

bert源码理论有很多,核心结构应该是transformer代码部分,如下。bert的transformer结构用了多层。初始层的输入张量是字符embedding与位置embedding,后面的n层输入张量是前一层的输出张量,中间有存储注意力层的输出张量。存储的注意力层输出张量会做拼接,输出给下面的ln和dense,产生当前层的输出张量。

def transformer_model(input_tensor,
                      attention_mask=None,
                      hidden_size=768,
                      num_hidden_layers=12,
                      num_attention_heads=12,
                      intermediate_size=3072,
                      intermediate_act_fn=gelu,
                      hidden_dropout_prob=0.1,
                      attention_probs_dropout_prob=0.1,
                      initializer_range=0.02,
                      do_return_all_layers=False):
  """Multi-headed, multi-layer Transformer from "Attention is All You Need".

  This is almost an exact implementation of the original Transformer encoder.

  See the original paper:
  https://arxiv.org/abs/1706.03762

  Also see:
  https://github.com/tensorflow/tensor2tensor/blob/master/tensor2tensor/models/transformer.py

  Args:
    input_tensor: float Tensor of shape [batch_size, seq_length, hidden_size].
    attention_mask: (optional) int32 Tensor of shape [batch_size, seq_length,
      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值