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
File details
Details for the file keras-loves-torchtext-0.0.1.1.tar.gz
.
File metadata
- Download URL: keras-loves-torchtext-0.0.1.1.tar.gz
- Upload date:
- Size: 3.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ae04689f30ea2b3ae5250fac604ab143f19f513ffaa4683dc30009ace68063d |
|
MD5 | 53012fce88ae08d1bdb4666e89b14934 |
|
BLAKE2b-256 | 406c2c95a107df8e3afd0a247212a838fdfbaf780d387ebdcb4d19b600a70faf |
File details
Details for the file keras_loves_torchtext-0.0.1.1-py3-none-any.whl
.
File metadata
- Download URL: keras_loves_torchtext-0.0.1.1-py3-none-any.whl
- Upload date:
- Size: 3.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.19.1 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d34d9308e7dac577330daf8add3e590e86f8267e81bc6e7989f0ba3393541d2e |
|
MD5 | bb7ae80953e946e7917f3bf5e4fe4a25 |
|
BLAKE2b-256 | 2b533869583538fa61e1a559a627c0ee5c2ba41c1a88e3b7d076dfc73f48957d |