PyText基于PyTorch进行语言识别
大家好,我是本栏目的编辑郝帅。现在我给大家解释一下上面的问题。尽管深度神经网络风靡一时,但主框架的复杂性已经成为新机器学习用户的障碍。提出了几种改进和简化高级应用编程接口来构造神经网络模型的建议,这些建议从远处看都很相似,但仔细研究就会发现有所不同。
Keras是领先的高级神经网络API之一。它用Python编写,支持多个后端神经网络计算引擎。
鉴于TensorFlow项目已经采用Keras作为TensorFlow 2.0的高级API,Keras似乎是赢家,如果不一定是赢家的话。在本文中,我们将讨论Keras的原理和实现,重点理解为什么它是低级深度学习API的改进。
即使在TensorFlow 1.12中,官方的TensorFlow入门教程也使用了TensorFlow中嵌入的高级Keras API TF . Keras。相比之下,tensorFlow Core API需要使用TensorFlow来计算图形、TensorFlow、操作和会话,其中一些在您刚开始使用TensorFlow时很难理解。使用低级别的TensorFlow Core API有一些优势,主要是在调试期间,但幸运的是,您可以根据需要混合使用高级和低级别的TensorFlow API。
喀拉斯原理
Keras被创建为用户友好、模块化、易于扩展,并与Python一起使用。该API是“为人类设计的,而不是为机器设计的”,“遵循减少认知负荷的最佳实践”。
神经层、代价函数、优化器、初始化方案、激活函数和正则化方案都是独立的模块,可以组合在一起创建新的模型。新模块可以作为新的类和函数轻松添加。模型是用Python代码定义的,而不是单独的模型配置文件。
为什么是Keras?
使用Keras最大的原因是它的指导原则,主要是关于用户友好的原则。Keras除了易于学习和简化模型构建之外,还具有被广泛采用、支持广泛的生产部署选项、集成至少5个后端引擎(TensorFlow、CNTK、antao、MXNet和PlaidML)以及强大支持多个GPU和分布式训练等优势。此外,Keras还获得了谷歌、微软、亚马逊、苹果、英伟达、优步等公司的支持。
Keras本身不执行自己的低级运算,如张量积和卷积;这取决于后端引擎。虽然Keras支持多个后端引擎,但它的主要(也是默认)后端是TensorFlow,它的主要支持者是Google。Keras API封装在TensorFlow tf.keras中,如前所述,它将成为TensorFlow 2.0的主要TensorFlow API。
要更改后端,只需编辑$HOME/。keras/keras.json文件,并指定另一个后端名称,如an ano或CNTK。或者,您可以通过在shell或Python代码中使用OS . environ[' KERAS _后端']属性定义环境变量来覆盖配置的后端。
Keras模型
该模型是Keras的核心数据结构。Keras中有两种主要类型的模型:顺序模型,以及模型与功能API一起使用的类。
Keras序列模型
顺序模型是层的线性堆叠,可以非常简单地描述层。以下是Keras文档中的一个示例,它用于model.add()来定义顺序模型中的两个密集层:
脸书已经开放了PyText项目,这是一个用于自然语言处理(NLP)的机器学习库,旨在使实验项目与生产系统更容易结合。
PyText是用脸书现有的机器学习PyTorch库构建的,公司内部使用,旨在解决如何使用神经网络(如NLP)进行机器学习。他们在一篇文章中说,这些库通常是“为实验优化的框架和为生产优化的框架之间的权衡”。
脸书的工程师写道,为实验构建的框架允许快速原型制作,但会遭受“生产延迟和内存使用增加”的困扰。另一方面,为生产而构建的框架在负载下工作得更好,但更难快速开发。
PyText的主要区别在于它的工作流程,脸书声称它可以针对实验或生产用途进行优化。框架的组件可以拼接在一起以创建一个完整的NLP管道,或者部分可以分解并在其他上下文中重用。
新的训练模型可以分布在多个节点上,可以同时训练多个模型。PyText也可以使用很多现有的模型进行文本分类,在这些情况下不需要训练。
PyText还通过上下文模型提高理解能力,这是一种丰富模型对先前输入文本理解的方法。例如,聊天机器人可以在讨论中重用早期消息中的信息来塑造他们的答案。
PyText中的一个。
个功能显示了由Python驱动的机器学习系统如何找到避免语言可能出现的性能问题的方法。PyText模型可以以优化的ONNX格式导出,以便使用Caffe2进行快速推理。这样,推理过程不受Python运行时的限制,但Python仍然用于组装管道和编排模型训练。PyTorch本身最近获得了正式的1.0版本,其自身的功能部分旨在加速训练和推理,而不受Python的限制。其中之一,Torch Script,及时编译Python代码以加速其执行,但它只能用于语言的一个子集。
PyText的近期计划包括“支持多语言建模和其他建模功能,使模型更易于调试,并为分布式培训添加进一步优化”,Facebook的工程师说。
上面代码中的注释值得一读。还有一点值得注意的是,与低级TensorFlow API相比,实际代码中有多少。每个层定义需要一行代码,编译(学习过程定义)需要一行代码,拟合(训练),评估(计算损失和度量),以及预测训练模型的输出每行需要一行代码。
Keras功能API
Keras Sequential模型很简单,但在模型拓扑中受到限制。所述Keras功能API是用于与共享层创建复杂的模型,如多输入/多输出模式,有向非循环图(DAG),和模型是有用的。
功能API使用与Sequential模型相同的层,但在将它们组合在一起时提供了更大的灵活性。在功能API中,首先定义图层,然后创建模型,编译它,然后拟合(训练)它。评估和预测与Sequential模型基本相同,因此在下面的示例代码中已省略。
在前面的例子中,我们只使用了Dense图层。Keras有多种预定义的图层类型,还支持编写自己的图层。
核心层包括Dense(点积加偏差),Activation(传递函数或神经元形状),Dropout(在每次训练更新时随机将输入单位的一部分设置为0以避免过度拟合),Lambda(将任意表达式包装为Layer对象),以及其他几个。卷积层(使用滤波器创建要素图)从1D到3D运行,包括最常见的变体,例如每个维度的裁剪和转置卷积层。2D卷积受到视觉皮层功能的启发,通常用于图像识别。
池(缩减)层从1D到3D运行并包括最常见的变体,例如最大和平均池。局部连接的层就像卷积层一样,除了权重是非共享的。循环层包括简单(完全连接的重复),门控,LSTM等; 这些对于语言处理以及其他应用程序非常有用。噪声层有助于避免过度拟合。
Keras通过keras.datasets课程提供了七个常见的深度学习样本数据集。这包括cifar10和cifar100小彩色图像,IMDB电影评论,路透社新闻专题,MNIST手写数字,MNIST时尚图片和波士顿房价。
Keras还提供十种着名的模型,称为Keras应用程序,预先针对ImageNet:Xception,VGG16,VGG19,ResNet50,InceptionV3,InceptionResNetV2,MobileNet,DenseNet,NASNet,MobileNetV2TK。您可以使用它们来预测图像的分类,从中提取特征,以及在不同的类集上微调模型。
顺便说一句,微调现有模型是加速培训的好方法。例如,您可以根据需要添加图层,冻结基础图层以训练新图层,然后解冻一些基础图层以微调培训。您可以通过设置冻结图层layer.trainable = False。
该Keras实例库包含超过40个样本模型。它们涵盖了视觉模型,文本和序列以及生成模型。
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!
-
万象汽车试驾,轻松搞定试驾。只需几步,即可开启您的驾驶体验之旅。首先,通过官网或APP预约试驾时间,选择心...浏览全文>>
-
北汽瑞翔试驾流程主要包括以下几个步骤:首先,客户到达4S店后,由销售顾问接待并了解客户需求。随后,销售顾...浏览全文>>
-
试驾MG4 EV全攻略:MG4 EV是一款主打年轻、智能与续航的纯电车型。外观时尚,车身紧凑,适合城市通勤。内饰...浏览全文>>
-
预约试驾奥迪SQ5 Sportback,可线上与线下结合操作。首先,访问奥迪官网或官方APP,选择“试驾预约”,填写个...浏览全文>>
-
红旗试驾预约通常需要以下条件:1 年龄要求:申请人需年满18周岁,部分门店可能要求20岁以上。2 驾驶证...浏览全文>>
-
特斯拉试驾全攻略试驾特斯拉前,建议提前在官网预约,选择最近的体验中心。到店后,工作人员会引导你完成基础...浏览全文>>
-
宝马预约试驾全攻略想要体验宝马的驾驶乐趣?提前预约试驾是关键。首先,访问宝马官网或使用“宝马中国”官方A...浏览全文>>
-
道郎格试驾,感受豪华与科技的完美融合。一进入车内,高端质感扑面而来,真皮座椅、精致内饰,尽显奢华。智能...浏览全文>>
-
预约奇瑞新能源试驾,新手可按以下步骤操作:1 选择车型:登录奇瑞官网或官方App,浏览新能源车型,如艾瑞...浏览全文>>
-
奔驰GLE试驾预约,开启非凡旅程。作为豪华SUV的典范,GLE集优雅设计与强大性能于一身,为您带来前所未有的驾驶...浏览全文>>
- 特斯拉试驾全攻略
- 宝马预约试驾全攻略
- 奔驰GLE试驾预约,畅享豪华驾乘,体验卓越性能
- 零跑C16试驾全攻略
- 试驾海豚,轻松几步,畅享豪华驾乘
- 奇瑞预约试驾的流程及注意事项
- 小鹏G7试驾,新手必知的详细步骤
- 如何在 IPHONE 16E 和 IPHONE 16 之间进行选择
- 这个隐藏的 ANDROID 设置可以释放大屏幕的全部潜力
- 三星 ONE UI 7 更新:比预期更早到来
- IPHONE 15 PRO 和 PRO MAX 将很快获得视觉智能
- 使用这些必备的 ANDROID 应用程序改变你的主屏幕
- PS5 PRO 销量与 PS4 PRO 竞争
- 超薄 Galaxy S25 Edge揭晓其新功能
- Android 15 QPR2 Beta 2.1 将修复与崩溃相关的问题
- Garmin 的 Fenix 7 Pro Sapphire Solar 降至 591 美元
- Galaxy S25 Ultra 的 S Pen 可能会失去蓝牙功能
- 惠普在 CES 上推出搭载 Copilot+ 的全新一体机和迷你电脑
- 首批 Galaxy S25 系列壁纸来了 但只有两张
- 1,000 马力的 911 Turbo S GT-R 与杜卡迪一较高下