nlp - Tensorflow 和 Bert 它们到底是什么,它们之间有什么区别?
问题描述
我对 NLP 很感兴趣,我想出了 Tensorflow 和 Bert,它们似乎都来自 Google,而且它们似乎都是当今情感分析的最佳选择,但我不明白它们到底是什么,有什么区别他们之间...有人可以解释一下吗?
解决方案
Bert 和 Tensorflow 不是什么不同的东西,BERT 的实现不仅有 2 种,而且还有很多。大多数基本上是等价的。
您提到的实现是:
谷歌的原始代码,在 Tensorflow 中。https://github.com/google-research/bert Huggingface 在 Pytorch 和 Tensorflow 中的实现,它重现了与原始实现相同的结果,并使用与原始 BERT 文章相同的检查点。https://github.com/huggingface/transformers 这些是不同方面的差异:
就结果而言,使用一个或另一个没有区别,因为它们都使用相同的检查点(相同的权重)并且它们的结果已被检查为相等。在可重用性方面,HuggingFace 库可能更具可重用性,因为它是专门为此设计的。此外,它还让您可以自由选择 TensorFlow 或 Pytorch 作为深度学习框架。在性能方面,它们应该是相同的。在社区支持方面(例如在 github 或 stackoverflow 中提出问题),HuggingFace 库更适合,因为有很多人在使用它。除了 BERT,HuggingFace 的变形金刚库还实现了许多模型:OpenAI GPT-2、RoBERTa、ELECTRA...
推荐阅读
- javascript - BigBlueButton 自定义 HTML 5 客户端
- python - RuntimeError:大小不匹配,m1:[4 x 784],m2:[4 x 784] 在 /pytorch/aten/src/TH/generic/THTensorMath.cpp:136
- firebase - Firebase TLS 限制
- c - 尝试在c中使用memmove时如何使用SIGSEGV?
- java - 搜索子主题列表
- assembly - 如何在 Raspberry Pi 的 ARM 程序集中输出字符串的长度?
- c - 如何获取一个字符串并将其区分为不同的字符串,每个字符串有 2 个字符?
- c# - Razor 页面方法 RedirectToPage 调用操作,但不加载页面(无 MVC)
- r - 在使用 httr::content() 之前如何检查 503 错误?
- sql - 给定日、月和年,计算周末日期