当前位置: 首页 > 工具软件 > Keras > 使用案例 >

bert4keras使用笔记

养研
2023-12-01

什么是bert4keras

bert4keras是一个基于keras的预训练模型加载框架,目前支持多种预训练模型(BERT、ALBERT、RoBERTa、ALBERT、NEZHA、GPT2、T5等),并支持多种环境(python 2.7、python 3.x)和后端(keras、tf.keras、tf 1.x、tf 2.x)。
keras-bert依赖于keras-transformer,而keras-transformer依赖于keras-multi-head,keras-multi-head依赖于keras-self-attention

bert4keras的两个步骤

第一部分是tokenizer的建立,bert4keras.tokenizers里边包含了对原版BERT的tokenizer的完整复现,同时还补充了一下常用的功能,简单来说就是利用分词器进行分词,得到位置索引
第二部分就是BERT模型的建立,其主要函数是build_transformer_model,加载模型结构以及权重,将分词后的结果映射到高维,得到词向量。

build_transformer_model结构

def build_transformer_model(
    config_path=None,  # 模型的配置文件(对应的文件为json格式)
    checkpoint_path=None,  # 模型的预训练权重(tensorflow的ckpt格式)
    model='bert',  # 模型的类型(bert、albert、albert_unshared、nezha、electra、gpt2_ml、t5)
    application='encoder',  # 模型的用途(encoder、lm、unilm)
    return_keras_model=True,  # 返回Keras模型,还是返回bert4keras的模型类
    **kwargs  # 其他传递参数
):
 类似资料: