快速初始化定制变压器模型

xfmers的Python项目详细描述


关于

xfmers库的目标是提供一个简单的API,用指定的超参数和特性快速初始化变压器。该库生成标准的tf2.0keras模型,可与model.fit()、自动混合精度(AMP)、XLA、Horovod和tf.分配原料药等

包含层/功能:

  • 多头注意力
    • 编码器或解码器(因果)模式
  • 变压器层
    • 空间卷积
    • 可逆层
  • 变压器堆栈(编码器/解码器)
    • 体重分担(阿尔伯特式)
  • 嵌入层
    • 可学习的位置嵌入
    • 因子嵌入参数化(类ALBERT)
  • 其他
    • 培训时间表
    • 激活函数

使用

创建类似ALBERT的转换器

模型可以使用Keras层创建,并使用model.fit()或渐变带进行训练。在

inputs=tf.keras.Input(shape=(None,),name="inputs")padding_mask=layers.PaddingMaskGenerator()(inputs)embeddings=layers.TokenPosEmbedding(d_vocab=vocab_size,d_model=128,pos_length=512,# project embedding from 128 -> 512d_projection=512)(inputs)encoder_block=layers.TransformerStack(layers=3,ff_units=2048,d_model=512,num_heads=8,dropout=0.1,causal=False,# attend pair-wise between all positonsactivation=ops.gelu,weight_sharing=True,# share weights between all encoder layersname="EncoderBlock")enc_outputs=encoder_block({"token_inputs":embeddings,"mask_inputs":padding_mask})preds=layers.LMHead(vocab_size=vocab_size,name="outputs")(enc_outputs)model=tf.keras.Model(inputs=inputs,outputs=preds,name=name)

安装XFERS

Install from Pip

^{pr2}$

支持

  • 核心维护者:Timothy Liu (tlkh)
  • 如果遇到问题或有功能请求,请打开问题

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用php调用java web服务时无法获取输出   java Netbeans:安装IMlet时出错。。。。仿真器错误   初始化期间Eclipse Juno SR 2中的java堆栈溢出   java在3d中寻找两个任意立方体的交集   代码中显示java“org.openqa.selenium.WebDriverException”错误   java使用AtomicInteger作为可变整数的替代品是一种好的做法吗?   当以编程方式设置背景颜色时,java版面在更新后会自动复制   java将字符串拆分为一个带有数字数据的字符串和另一个带有非数字数据的字符串   带有SSL协议的java AsyncHttpClient   C++服务器HTTN到java NtoHS客户端转换   java内存分配是基于引用类还是实例类?   java使用ProjectLombok安全吗?   grails“java版本”在命令提示符下不工作   java无法使用axis2实例化类型ADBDataSource   在Play Framework 2中进行多文件上传的java示例   java如何将二进制补码字符串转换为负十进制数?   windows 7在Java中获取不正确的操作系统名称   java如何禁用p:commandButton的enter键?   java如何从main方法加载servlet   java如何从imageView获取二进制位图