A more elegant and convenient CRF built on tensorflow-addons.
Project description
keras-crf
A more elegant and convenient CRF built on tensorflow-addons.
Python Compatibility is limited to tensorflow/addons, you can check the compatibility from it's home page.
Installation
pip install keras-crf
Usage
Here is an example to show you how to build a CRF model easily:
import tensorflow as tf
from keras_crf import CRFModel
# build backbone model, you can use large models like BERT
sequence_input = tf.keras.layers.Input(shape=(None,), dtype=tf.int32, name='sequence_input')
outputs = tf.keras.layers.Embedding(21128, 128)(sequence_input)
outputs = tf.keras.layers.Dense(256)(outputs)
base = tf.keras.Model(inputs=sequence_input, outputs=outputs)
# build CRFModel, 5 is num of tags
model = CRFModel(base, 5)
# no need to specify a loss for CRFModel, model will compute crf loss by itself
model.compile(
optimizer=tf.keras.optimizers.Adam(3e-4)
metrics=['acc'],
)
model.summary()
# you can now train this model
model.fit(dataset, epochs=10, callbacks=None)
The model summary:
Model: "crf_model"
__________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
==================================================================================================
sequence_input (InputLayer) [(None, None)] 0
__________________________________________________________________________________________________
embedding (Embedding) (None, None, 128) 2704384 sequence_input[0][0]
__________________________________________________________________________________________________
dense (Dense) (None, None, 256) 33024 embedding[0][0]
__________________________________________________________________________________________________
crf (CRF) [(None, None), (None 1320 dense[0][0]
__________________________________________________________________________________________________
decode_sequence (Lambda) (None, None) 0 crf[0][0]
__________________________________________________________________________________________________
potentials (Lambda) (None, None, 5) 0 crf[0][1]
__________________________________________________________________________________________________
sequence_length (Lambda) (None,) 0 crf[0][2]
__________________________________________________________________________________________________
kernel (Lambda) (5, 5) 0 crf[0][3]
==================================================================================================
Total params: 2,738,728
Trainable params: 2,738,728
Non-trainable params: 0
__________________________________________________________________________________________________
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file keras_crf-0.3.0.tar.gz.
File metadata
- Download URL: keras_crf-0.3.0.tar.gz
- Upload date:
- Size: 7.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a291bef9941cc45c675a31bd68a8548cf2f851d22c1769a9cd292ae2cab6746
|
|
| MD5 |
2da3af98c836c83cb4d9d6cddc86656a
|
|
| BLAKE2b-256 |
c8e32dbacbfcccce3afd37910896f7dfbea6eed3e72659e5de97393d4cc395d4
|
File details
Details for the file keras_crf-0.3.0-py3-none-any.whl.
File metadata
- Download URL: keras_crf-0.3.0-py3-none-any.whl
- Upload date:
- Size: 8.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b36e1fe8817bf8bae64049f744486c10ffb4c1fdf22232b9326b7c85c1919f2
|
|
| MD5 |
2619109d5e5ed45210cfc10c1b17f73a
|
|
| BLAKE2b-256 |
ae31053c867acd214e0b436d8b9600d1d6904c7d05c8a553764b82e1815d03c9
|