在keras中实现的自适应softmax

keras-adaptive-softmax的Python项目详细描述


Keras自适应Softmax

TravisCoverageVersionDownloadsLicense

[中文English]

安装

pip install keras-adaptive-softmax

用法

通常,AdaptiveEmbeddingAdaptiveSoftmax应该一起使用AdaptiveEmbedding提供可变长度的嵌入,而AdaptiveSoftmax计算输出和生成的嵌入之间的相似性。

importkerasfromkeras_adaptive_softmaximportAdaptiveEmbedding,AdaptiveSoftmaxinput_layer=keras.layers.Input(shape=(None,))embed_layer=AdaptiveEmbedding(input_dim=30,output_dim=32,cutoffs=[5,15,25],div_val=2,return_embeddings=True,return_projections=True,mask_zero=True,)(input_layer)dense_layer=keras.layers.Dense(units=32,activation='tanh',)(embed_layer[0])softmax_layer=AdaptiveSoftmax(input_dim=32,output_dim=30,cutoffs=[5,15,25],div_val=2,bind_embeddings=True,bind_projections=True,)([dense_layer]+embed_layer[1:])model=keras.models.Model(inputs=input_layer,outputs=softmax_layer)model.compile('adam','sparse_categorical_crossentropy')model.summary()

cutoffsdiv_val控制每个令牌的嵌入长度。假设我们有30个不同的标记,在上面的示例中:

  • 前5个令牌的嵌入长度为32
  • 接下来10个令牌的嵌入长度是16
  • 接下来10个令牌的嵌入长度为8
  • 最后5个令牌的嵌入长度是4

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

推荐PyPI第三方库


热门话题
java变量始终存储0值。为什么?   如何使用Java/REST将Azure blob从一个存储容器移动到另一个存储容器?   java将commons DBCP从1.2升级到1.4,我应该害怕吗?   java如何使用分隔符拆分字符串?   java使用数组读取json对象   java在groovy中切片字符串   交换数组java的两个邻域元素   java移动用于确定字符串是否为回文的逻辑   java Android应用程序在一个活动中崩溃   java Sparkjava将webapp文件夹设置为静态资源/模板的文件夹   java复杂条件表达式,用户易用。   java如何仅在表存在时从表中选择值   java I无法将数据从Recyclerview传递到其他活动   java数据结构最佳设计(大数据)   java Android从DatePickerDialogFragment中删除日历视图   java将数据从Firebase获取到片段   数组。sort()在java中运行不正常