Make torchtext work with Keras
Project description
Keras ❤️ torchtext
Keras is love
Keras is life
Keras loves torchtext
torchtext is a great library, putting a layer of abstraction over the usually very heavy data component in NLP projects, making the work with complex datasets a pace. Sadly, as torchtext is based and built on PyTorch, using it with Keras is not directly possible.
Keras ❤️ torchtext is to the rescue by providing lightweight wrappers for some Torchtext classes, making them easily work with Keras.
Installation
pip install keras-loves-torchtext
Examples
Wrap a torchtext.data.Iterator
with WrapIterator
and use it to train a Keras model:
from torchtext.data import Dataset, Field, Iterator
from kltt import WrapIterator
...
fields = [('text', Field()),
('label', Field(sequential=False))]
dataset = Dataset(examples, fields)
iterator = Iterator(dataset, batch_size=32)
# Keras ❤️ torchtext comes to play
data_gen = WrapIterator(iterator, x_fields=['text'], y_fields=['label'])
model.fit_generator(iter(data_gen), steps_per_epoch=len(data_gen))
Easily wrap multiple iterators at once:
from torchtext.data import Dataset, Field, Iterator
from kltt import WrapIterator
...
fields = [('text', Field()),
('label', Field(sequential=False))]
dataset = Dataset(examples, fields)
splits = dataset.split()
iterators = Iterator.splits(splits, batch_size=32)
train, valid, test = WrapIterator.wraps(iterators, x_fields=['text'], y_fields=['label'])
model.fit_generator(iter(train), steps_per_epoch=len(train),
validation_data=iter(valid), validation_steps=len(valid))
loss, acc = model.evaluate_generator(iter(test), steps=len(test))
Further and full working examples can be found in the examples
folder.
Documentation
Todo
See examples
and inline documentation for now.
Project details
Release history Release notifications | RSS feed
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
Hashes for keras-loves-torchtext-0.0.1.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ae04689f30ea2b3ae5250fac604ab143f19f513ffaa4683dc30009ace68063d |
|
MD5 | 53012fce88ae08d1bdb4666e89b14934 |
|
BLAKE2b-256 | 406c2c95a107df8e3afd0a247212a838fdfbaf780d387ebdcb4d19b600a70faf |
Hashes for keras_loves_torchtext-0.0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d34d9308e7dac577330daf8add3e590e86f8267e81bc6e7989f0ba3393541d2e |
|
MD5 | bb7ae80953e946e7917f3bf5e4fe4a25 |
|
BLAKE2b-256 | 2b533869583538fa61e1a559a627c0ee5c2ba41c1a88e3b7d076dfc73f48957d |