Skip to main content

Keras Adaptive Softmax

Version License

[中文|English]

Install

pip install keras-adaptive-softmax

Usage

Generally, AdaptiveEmbedding and AdaptiveSoftmax should be used together. AdaptiveEmbedding provides variable length embeddings, while AdaptiveSoftmax calculates the similarities between the outputs and the generated embeddings.

import keras
from keras_adaptive_softmax import AdaptiveEmbedding, AdaptiveSoftmax

input_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()

cutoffs and div_val controls the length of embeddings for each token. Suppose we have 30 distinct tokens, in the above example:

  • The lengths of the embeddings of the first 5 tokens are 32
  • The lengths of the embeddings of the next 10 tokens are 16
  • The lengths of the embeddings of the next 10 tokens are 8
  • The lengths of the embeddings of the last 5 tokens are 4

Metadata

Release files for keras-adaptive-softmax 0.9.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for keras-adaptive-softmax 0.9.0
File Size Uploaded
keras-adaptive-softmax-0.9.0.tar.gz 15.2 kB Details

Release files / keras-adaptive-softmax-0.9.0.tar.gz

Download URL keras-adaptive-softmax-0.9.0.tar.gz
Size 15.2 kB
Tags Source
SHA-256 checksum
How to use checksums
a0fe19ab75b62b63e150b4c4266b3fdc169d42eebe8ee77400b19b547ab5af38
BLAKE2b-256 checksum
How to use checksums
9c509a1df7260fa0ee12a1adb36af030c5af25139e3d9231367411ab4f6a87d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.1.2 requests-toolbelt/0.9.1 tqdm/4.55.2 CPython/3.7.4

Release history Release notifications | RSS feed

This release

0.9.0 This release

1 release file

0.8.0

1 release file

0.6.0

1 release file

0.5.0

1 release file

0.4.0

1 release file

0.3.0

1 release file

0.2.1

1 release file

0.2.0

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page