英语Stateful example怎么翻译?

应用层协议分析在状态检测防火墙中的应用的英文翻译

应用层协议分析在状态检测防火墙中的应用的相关资料:

以上内容独家创作,受保护,侵权必究

我们根据此数据(“Shakespear”)中的给定字符序列训练一个模型,让它预测序列的下一个字符(“e”)。通过重复调用该模型,可以生成更长的文本序列。

首先,我们来看一下文本内容。

在训练之前,我们需要将字符串映射到数字表示值。创建两个对照表:一个用于将字符映射到数字,另一个用于将数字映射到字符。

现在,每个字符都有一个对应的整数表示值。请注意,我们按从 0 到 len(unique) 的索引映射字符。

根据给定的字符或字符序列预测下一个字符最有可能是什么?这是我们要训练模型去执行的任务。模型的输入将是字符序列,而我们要训练模型去预测输出,即每一个时间步的下一个字符。

由于 RNN 会依赖之前看到的元素来维持内部状态,那么根据目前为止已计算过的所有字符,下一个字符是什么?

将文本划分为训练样本和训练目标。每个训练样本都包含从文本中选取的 seq_length 个字符。

相应的目标也包含相同长度的文本,但是将所选的字符序列向右顺移一个字符。

将文本拆分成文本块,每个块的长度为 seq_length+1 个字符。例如,假设 seq_length 为 4,我们的文本为“Hello”,则可以将“Hell”创建为训练样本,将“ello”创建为目标。

批处理方法可以让我们轻松地将这些单个字符转换为所需大小的序列。

对于每个序列,复制并移动它以创建输入文本和目标文本,方法是使用 map 方法将简单函数应用于每个批处理:

打印第一个样本输入和目标值:

这些向量的每个索引均作为一个时间步来处理。对于时间步 0 的输入,我们收到了映射到字符 “F” 的索引,并尝试预测 “i” 的索引作为下一个字符。在下一个时间步,执行相同的操作,但除了当前字符外,RNN 还要考虑上一步的信息。

我们使用 tf.data 将文本拆分为可管理的序列。但在将这些数据馈送到模型中之前,我们需要对数据进行重排,并将其打包成批。

使用tf.keras.Sequential来定义模型。对于这个简单的例子,我们可以使用三个层来定义模型:

  • tf.keras.layers.Embedding:嵌入层(输入层)。一个可训练的对照表,它会将每个字符的数字映射到具有 embedding_dim 个维度的高维度向量;

对于每个字符,模型查找嵌入,以嵌入作为输入一次运行GRU,并应用密集层生成预测下一个字符的对数可能性的logits:

现在运行模型以查看它的行为符合预期,首先检查输出的形状:

在上面的示例中,输入的序列长度为 100 ,但模型可以在任何长度的输入上运行:

为了从模型中获得实际预测,我们需要从输出分布中进行采样,以获得实际的字符索引。此分布由字符词汇表上的logits定义。

注意:从这个分布中进行_sample_(采样)非常重要,因为获取分布的_argmax_可以轻松地将模型卡在循环中。

尝试批处理中的第一个样本:

这使我们在每个时间步都预测下一个字符索引:

解码这些以查看此未经训练的模型预测的文本:

Core MVC是一次彻底的转变。它强调整洁的架构,设计模式和可测试性,并且不会试图隐藏Web的工作方式。

Core MVC中的新功能,以及在实践中体验框架的使用方式。

平台的最佳部分。本章将介绍Microsoft创建 Core MVC中的新增的内容。

在Web Forms中,Microsoft试图通过将UI建模为具有层次结构的服务器端对象,来隐藏无状态的HTTP以及当时许多开发人员并不熟悉的HTML。每个控件都会追踪各个请求的状态,在需要时将其渲染为HTML,并自动地将客户端事件(比如点击按钮)与相应的服务器端事件处理代码连接起来。实际上,Web Forms是一个旨在于在Web上也提供传统的事件驱动型GUI的巨大抽象层。

model)提供了一种将应用程序代码从HTML标记中取出并分解为单独的代码隐藏类的方法。这样做是为了分离逻辑和表示,但实际上,这鼓励开发人员把表示逻辑(操纵服务器端的控件等)和其对应的程序逻辑(操纵数据库等)混合在class中的一大坨代码里,导致其难以维护和理解。

  • False sense of separation of concerns: 的早期版本中,渲染出来的HTML不符合Web标准,也很难使用CSS。并且,服务器控件会生成没办法预测也没办法用JavaScript访问的复杂ID属性。在最近的Web Forms版本中,这些问题已经得到了改善,但获得想要的HTML还是一件很难的事情。
  • API和支持实时通信的SignalR。新的框架增加了他们自己的配置和约定,且每个框架都有自己的长处和怪异之处,总体结果来看,就是一团糟。

    Linux and Core是一个全新的框架。它更简单,易于使用,并且甩掉了来自Web Forms的历史遗留问题。而且,它基于.NET Core,因此支持在各种平台和容器上开发Web应用程序和部署。

    • 直接使用默认实现(对于大部分应用程序来说已经足够了)。
    • 继承默认实现类,自定义子类以调整其的行为。
    • Core MVC体系结构为应用程序变得可维护和可测试提供了一个良好的开始,因为可以自然地将不同的问题分解为独立的部分。此外,每个 Core MVC框架都可以被隔离并替换为单元测试,这可以使用任何流行的开源测试框架来执行,比如在第一章中将介绍的xUnit 7。

      The Core platform and the MVC控制器编写干净、简单的单元测试,以及提供框架组件的Mock实现来模拟任何场景。即使你以前从未写过单元测试,这也是一个好的开始。

      Clean URLs were hard to implement in earlier frameworks, but 平台随着每个主要版本的发展而发展,支持了乃至定义了现代编程的最新技术。 Core构建的,因此它的API可充分利用C#程序员熟悉的语言和运行时创新,包括await关键字、扩展方法、lambda表达式、匿名类型、动态类型以及LINQ。

      与以前的Microsoft Web开发平台不同,你可以自由下载 Core MVC的源代码,甚至修改和编译自己的版本。当你的调试跟踪进入到系统组件中,并且想要进入其代码(甚至读取原始程序员的注释)时,这是非常宝贵的。 如果正在构建高级组件,并希望查看存在哪些开发可能性或内置组件实际如何工作,这也很有用。

      我将从”所谓 Core MVC适用于现代Web开发的方式,并描述了每个 Core MVC

我要回帖

更多关于 multiple是什么意思 的文章