Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

tf.keras bert

Project description

BERT+ TF Keras For NLP Tasks

说明:本项目处于开发阶段,暂时不可用

简介:以Tensorflow的Keras和Tensorflow hub的Bert预训练模型开发NLP的各种任务。

项目特点

  • 下载稳定,较为典型的测试数据,附带详细介绍
  • 数据接口封装,减少数据的处理工作
  • 模型采用tf.keras完成,方便快捷不失灵活
  • 方便的保存模型和部署

环境

  • Tensorflow:1.13.1
  • Tensorflow-hub

TODO List

句子向量化

  • [x] 但是存在一个重复加载计算图导致速度变慢的问题,体验不佳,后续将改进。 已解决,解决方法是直接使用BERT的分词器,不从hub重新加载,撒花!
  • [ ] 性能测试
  • [x] Batch输入

文本分类

  • [x] 二分类任务

已完成。数据量不大的情况下可以不使用微调,否则参数量增大可能会过拟合。

  • [ ] 多分类任务 BERT的多分类任务和二分类类似,只需要修改标签,然后sigmod换softmax,损失函数也换成多分类交叉熵即可。目前没有稳定的外链数据,所以没写example。
  • [ ] 多标签任务

序列标注

  • [ ] NER

开发中

阅读理解

  • [ ] 斯坦福SQUAD类似的中文检索式阅读理解

未完成

模型保存和部署

  • [x] h5转saved_model。
  • [ ] 最好的方式是可以使用tf.keras.experimental.export_saved_model导出模型,然后直接使用TF serving部署。

TF Data输入

  • [x] 多输入的TF Data写法
  • [x] GPU利用率的比较

其他计划

  • [ ] Tensorflow hub加载本地路径
  • [ ] Windows测试

其他说明

  • 为什么用tf.keras而不是keras tf.keras成为TF2.0的主要模式,由TF团队开发,支持更多TF的特性包括tf.data以及tf serving,TF2.0出了之后项目会迁移到TF2.0,而keras已经较长时间没有重大更新了,所以tf.keras是更好的选择。
  • 由于网络原因,无法下载Tensorflow hub的BERT模型 这里有一份百度云的,链接, 提取码:4pcq,大小为364.1M,linux下载解压后拷贝到/tmp/,完成后的路径为/tmp/tfhub_modules

参考项目

Project details


Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for bert-text, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size bert_text-0.1.0-py3-none-any.whl (2.6 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size bert-text-0.1.0.tar.gz (4.1 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page