wenet--学习笔记(1)

  1. wenet下的runtime中没有server目录下的serverx86:目录更新了,进入libtorch进行操作即可
  2. aishell的目录里有流式解码和非流式解码的配置, 是通过use_dynamic_chunk: true来区分的。 
  3. 没有dynamic chunk就是非流式模型
  4. 目前离线语音指令识别,有没有一些比较好的或者开源的方案呢?wenet+命令词语言模型(n-gram比较简单)
  5. 将wenet轻量化:把层数减少, 做个tiny-wenet ,每层维度也相应减些
  6. 在语音识别过程中受到TTS播报的干扰,这属于AEC
    1. 解决:可以在播报tts时关掉asr
    2. 想支持语音打断,打断TTS的播报,关掉ASR就没办法打断了,可以设计一套aec算法
  7.  AEC:
    1. 从通讯回音产生的原因看,可以分为声学回音(Acoustic Echo)和线路回音(Line Echo),相应的回声消除技术就叫声学回声消除(Acoustic Echo Cancellation,AEC)和线路回声消除(Line Echo Cancellation, LEC)。声学回音是由于在免提或者会议应用中,扬声器的声音多次反馈到麦克风引起的(比较好理解);线路回音是由于物理电子线路的二四线匹配耦合引起的(比较难理解)
    2. 回音的产生主要有两种原因:
      1. 由于空间声学反射产生的声学回音
      2. 由于2-4线转换引入的线路回音:在ADSL Modem和交换机上都存在2-4线转换的电路,由于电路存在不匹配的问题,会有一部分的信号被反馈回来,形成了回音。如果在交换机侧不加回音抵消功能,打电话的人就会自己听到自己的声音。
    3.   回声消除是非常复杂的技术,但可以简单的描述这种处理方法:
      1. 房间A的音频会议系统接收到房间B中的声音
      2. 声音被采样,这一采样被称为回声消除参考
      3. 随后声音被送到房间A的音箱和声学回声消除器中
      4. 房间B的声音和房间A的声音一起被房间A的话筒拾取
      5. 声音被送到声学回声消除器中,与原始的采样进行比较,移除房间B的声音
  8. 训练的epoch数量设置可根据训练损失是否平稳来决定是否增加
  9. 数据大,一个epoch学到的内容就多
  10. 如果需要训练流式模型,就手动把dynamic_chunk=true手动加上
  11. 数据量大就用shard,会打包成tar,效率会高一些
  12. 盘出产是 extFAT 文件系统,每个文件至少要占用 1M,放小文件特别费空间
  13. 关于多机训练:init_method:
    1. 用来表示在启动多进程训练时,各进程的握手方式,主要包括3种方式,即file(共享文件),tcp(套接字)和env(环境变量)。
    2. 多机训练主要使用file和tcp的方式。
    3. 通过file的握手方式须多机之间装有NFS,在指定了各进程君合访问的共享文件路径后,各台机器上的不同进程通过该共享文件完成握手,如file:///export/nfs/ddp_init。
    4. tcp的方式需要给定各机器上不同进程均可访问的网络地址和端口号(未被占用的)来完成各进程的握手,如tcp://127.0.0.1:23456
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: zynq-linux移植学习笔记应包含以下内容: 1. 对zynq架构和硬件资源的理解,包括PS和PL部分的特点。 2. 如何使用Xilinx SDK来编译和配置u-boot和Linux内核。 3. 如何在硬件平台上运行和调试Linux系统。 4. 怎样在Linux系统中配置和使用各种硬件资源,如DMA、Ethernet、Flash等。 5. 如何在Linux系统中移植和运行应用程序,并与硬件资源进行交互。 6. 如何进行系统优化和资源管理,以提高系统性能和稳定性。 ### 回答2: Zynq是一款Xilinx公司开发的一种嵌入式系统芯片,其使用了双核Cortex-A9处理器和可编程逻辑器件(FPGA)的组合。移植Linux到Zynq芯片中,可以使其具备无限的扩展能力,极大地拓展了其应用领域,因此掌握Zynq-Linux移植技术是非常重要的。 Zynq-Linux移植分为四个主要步骤: 第一,准备工作 在移植前,需要确认硬件平台是否支持Linux运行,并且需要对硬件进行配置,最好使用Zynq开发板的官方配置; 第二,内核移植 内核移植是整个移植过程中最关键的一步。需要根据硬件平台的特性对内核进行选择和配置。可以从内核源代码库中获取内核代码,然后进行交叉编译。移植内核的过程中需要注意内核配置参数的设置,同时也要确保内核模块和驱动程序的编写。 第三,文件系统移植 在移植Linux的过程中,文件系统也是非常重要的。可以使用开发板官方Linux镜像,也可以自己编译镜像。移植文件系统还涉及到root文件系统的配置、挂载方式、网络配置和各种服务的配置等问题。 第四,驱动移植 驱动程序是连接硬件和软件的关键部分,需编写相应的驱动程序来实现对硬件的控制。移植驱动程序的过程中需要关注各种硬件接口和设备驱动API的使用,确保驱动程序与硬件配合良好。 总结来说,Zynq-Linux移植技术的掌握需要具备较强的Linux基础知识、驱动开发经验和交叉编译工具链的使用能力。同时,还需要有耐心和细心,对每个步骤进行仔细的分析和处理。 在学习中,需要结合实际开发项目,多进行实践操作才能更好地掌握Zynq-Linux移植技术,为后续项目的开发和应用提供更好的支持。 ### 回答3: Zynq-7000系列是一种由Xilinx开发的SoC(系统级芯片),它将双ARM Cortex-A9处理器和可编程逻辑(FPGA)集成在一起。这使得开发人员可以使用硬件加速加速器来加速运行在Linux上的各种应用。然而,实现这个目标需要进行移植。 在开始Zynq Linux移植学习笔记之前,需要一些基本的知识。首先,需要了解Linux内核的基本工作原理和Linux驱动程序的编写技术。然后,需要了解FPGA和SoC体系结构。 在开始移植之前,需要为SoC开发板选择正确的Linux发行版。这通常需要考虑处理器体系结构,内存大小和设备驱动程序的可用性。另外,还需要考虑是否需要自定义内核或驱动程序以满足应用程序的需求。 接下来,需要编写设备树文件(DT)来描述SoC架构。设备树文件是一种描述硬件配置信息的特殊语言。它会告诉内核有哪些设备可用以及如何访问这些设备。 接下来,需要配置Linux内核以支持Zynq-7000处理器。这可能包括启用适当的内核配置选项,编写设备驱动程序以及配置启动过程。 最后,需要启动Zynq板并验证Linux系统稳定运行。这些步骤包括在启动过程中将设备树文件加载到内存中,以及启动用户空间应用程序。 总之,移植Zynq Linux是一项复杂的任务,需要广泛的专业知识和技术。但是,它可以为开发人员提供强大的硬件加速支持,使他们能够加速处理一系列计算密集型应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值