使torchtext与keras一起工作
keras-loves-torchtext的Python项目详细描述
路缘石Torchtext
Keras is love
Keras is life
Keras loves torchtext
torchtext是一个很好的库,它在nlp项目中通常非常繁重的数据组件上放置了一个抽象层,使处理复杂数据集的工作加快了步伐。 可悲的是,由于torchtext是基于pytorch并构建的,因此不能直接将其与keras一起使用。
keras torchtext通过为一些torchtext类提供轻量级包装器,使它们很容易与keras一起工作,从而起到了挽救作用。
安装
pip install keras-loves-torchtext
示例
用WrapIterator
包装一个torchtext.data.Iterator
,并用它训练一个Keras模型:
fromtorchtext.dataimportDataset,Field,IteratorfromklttimportWrapIterator...fields=[('text',Field()),('label',Field(sequential=False))]dataset=Dataset(examples,fields)iterator=Iterator(dataset,batch_size=32)# Keras ❤️ torchtext comes to playdata_gen=WrapIterator(iterator,x_fields=['text'],y_fields=['label'])model.fit_generator(iter(data_gen),steps_per_epoch=len(data_gen))
一次轻松包装多个迭代器:
fromtorchtext.dataimportDataset,Field,IteratorfromklttimportWrapIterator...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))
可以在examples
文件夹中找到更多和完整的工作示例。
文件
待办事项
现在请参见examples
和内联文档。