3.3 获取预训练模型
上一节讲了如何使用预训练模型,接下来介绍三种获取预训练模型的方法,具体如下。
1. 从PyTorch平台获取
PyTorch的工具包torchvision中包含models模块,该模块提供深度学习中各种经典的网络结构以及训练好的模型(如果选择,需设置pretrained=True),包括AlexNet、VGG系列、ResNet系列、Inception系列等。不过,torchvision独立于PyTorch,需要另外安装,使用pip或conda安装即可:
pip install torchvision #或conda install torchvision
2. 从TensorFlow平台获取
从TensorFlow平台获取预训练模型的方法有两种:
1)tensorflow.keras.application中内置了很多预训练模型,如resnet、vgg16、resnet等;
2)TensorFlowHub网站(https://tfhub.dev/google/)上也有很多预训练模型,有需要的读者可自行下载。
TensorFlowHub的目的是为了更好地复用已训练好且经过充分验证的模型,从而节省海量的训练时间和计算资源。这些预训练好的模型,可以直接部署,也可以进行迁移学习(Transfer Learning)。对个人开发者来说,TensorFlowHub是非常有意义的,通过它可以快速复用像谷歌这样的大公司使用海量计算资源训练的模型,而不用自己去获取这些资源,当然,以个人名义去获取资源也是很不现实的。
如果TensorFlowHub网站不能访问,可转换域名到国内镜像(https://hub.tensorflow.google.cn/)下载,模型下载地址也需要相应转换(https://tf.wiki/zh_hans/appendix/tfhub.html)。
3. 从huggingFace-transformers平台获取
huggingFace-transformers是NLP预训练模型库,在GitHub上有超过38000个Star,支持PyTorch 1+及TensorFlow 2.0版本,且可以在PyTorch/TensorFlow 2.0框架之间随意迁移模型。2020年8月,Hugging Face服务商发布了Transformer 3.0版本,到目前为止,该版本提供了超过100种语言的版本,包括BERT、GPT、GPT-2、Transformer-XL、XLNet,XLM、ALBERT、T5、Reformer等20多种预训练语言模型,简单、强大、高性能,是新手入门的不二选择。官网地址为https://github.com/huggingface/transformers。
上面有最新的NLP预训练模型,获取地址:https://github.com/huggingface/transformers #quick-tour。