从源码角度分区Yarn-Cluster任务提交流程

Yarn Cluster任务提交分为三个部分:

  1. 用户编写好的Spark应用程序提交到Yarn上(截止到ApplicationMaster启动Driver那一步)
  2. Driver对用户的应用程序进行App->Job->Stage->Task划分
  3. Driver分发Task到Executor上

首先,我将自己总结的详细流程介绍一下,

然后,从源码部分一步一步解释上面的具体实现。

阅读全文

基于SA-Conv-CTC/Attention端到端语音识别模型的基本原理、实现方法和主要流程

摘要

我们知道,传统的语音识别系统分为三大组件,分别是词汇字典、声学模型和语言模型,这使得我们不得不单独训练声学和语音模型[1]。近年来,端到端(E2E)语音识别系统越来越受欢迎,与传统的语音识别系统不同,E2E语音识别系统直接将输入的语音转换成字符或单词,只基于配对的语音数据和语言数据,而不依赖其他独立组件,这使得E2E模型开始被广泛应用。随着Self-Attention应用,E2E语音识别模型的性能有了很大的提升,Transformer更是把这种机制发挥到了极致,吸引了大量的学者研究。另一方面,基于CTC/Attention的混合模型在解码方面具有非常突出的优势,它既可以CTC实现输出序列与输入序列的时间顺序对齐,又可以通过Attention把握token在整个序列中的重要程度。本文主要研究2020年提出的一种全新E2E混合模型SA-Conv-CTC/Attention,它基于CTC/Attention,又将Self-Attention与浅卷积的混合编码器应用到CTC/Attention架构中,从而取得了具有竞争力的性能。与主流的混合模型相比,SA-Conv-CTC/Attention降低了约0.8~4.75%的错误率。

关键词:自注意力/卷积混合编码器;连接时序分类/注意力混合模型;自注意力语言模型;端到端的语音识别

阅读全文

集合排序Comparator和Comparable的使用区别

Comparable可以认为是一个内比较器,而Comparator可以认为是一个外比较器。下面看一下如何进行集合排序,常用的方法有: ComparatorComparable

阅读全文