新闻详情

新闻详情

首页 / 资讯中心 / 详情

ESPnet ASR2 实战:基于自监督离散 token 与 E-Branchformer 的高效端到端 ASR(LibriSpeech960)

发布时间:2026/9/25 3:30:38来源:尧图网络
ESPnet ASR2 实战:基于自监督离散 token 与 E-Branchformer 的高效端到端 ASR(LibriSpeech960)
人工智能语音音频深度学习NLP【免费下载链接】espnetEnd-to-End Speech Processing Toolkit项目地址https://gitcode.com/gh_mirrors/es/espnet点击查看免费下载本技术指南以 ESPnet 仓库中 egs2/librispeech/asr2/README.md 为骨架系统讲解 ESPnet 的ASR2 recipe用自监督模型WavLM-large提取的特征经 K-means 聚类与 BPE 编码得到离散 token序列再以 E-Branchformer Transformer 训练端到端 ASR 模型。这是论文Exploration of Efficient End-to-End ASR using Discretized Input from Self-Supervised LearningInterSpeech 2023的官方复现路径。读完本文你将掌握离散 token 化流水线的原理与脚本、三套训练配置的逐项参数含义、asr2.sh的完整 Stage 流程以及如何在一张/两张 A100 上复现 LibriSpeech960 的 WER/CER/TER 结果。一、为什么需要离散 token 输入ASR2 的核心思想传统端到端 ASR 以 80 维 Fbank 或原始波形作为输入特征。ASR2 的思路与之不同先用自监督语音模型SSL如 WavLM、HuBERT抽取深层表征再经 K-means 聚类把连续特征离散化为有限的 token 序列最后把 token 当作另一种语言的文本来训练序列到序列Seq2Seq模型。这一做法即论文中所述Discretized Input from SSL带来的收益是输入序列长度大幅缩短训练速度显著提升文档中 35 个 epoch 仅需 1218.5 小时自监督特征自带语音单元语义降低了模型从原始信号学习的负担训练/解码可以复用机器翻译MT式的 token 序列框架工程上高度可复用。从源码结构看ASR2 的模型类 ESPnetDiscreteASRModel 直接继承ESPnetMTModelMT 的 encoder-decoder 模型基类并且 recipe 中的训练、解码分别调用espnet2.bin.mt_train与espnet2.bin.mt_inference印证了离散 token 序列 → Seq2Seq这一设计。本 recipe 的参考论文与引用信息见原文档为Chang, Xuankai, et al. Exploration of Efficient End-to-End ASR using Discretized Input from Self-Supervised Learning. InterSpeech 2023.二、实验总览三套配置与运行环境原文档记录了同一 recipe 下的三个实验变体差异集中在K-means 聚类数、BPE 词表大小、输入下采样方式Conv1d与 GPU 数量变体K-means 聚类数源端 BPE 词表输入层硬件35 epoch 耗时1gpu 基准10005000conv1d2A100 × 118.5 小时32 min/epochconv1d3 下采样10005000conv1d3A100 × 113.8 小时24 min/epoch2000 聚类扩展20006000conv1d2A100 × 212 小时21 min/epoch三个实验的公共环境以第一个实验为例其余两个环境信息见原文档python 3.9.16espnet 版本espnet 202304pytorch 1.13.1实验日期2023 年 6 月Git hash 分别为161e4bb5092b…1gpu 基准、ac5ffad321c6…conv1d3 与 2000 聚类对应的三份训练配置与一份解码配置均位于egs2/librispeech/asr2/下conf/tuning/train_discrete_asr_e_branchformer1_1gpu.yaml1000 聚类 / 1 GPUconf/tuning/train_discrete_asr_e_branchformer1_conv1d3_1gpu.yaml1000 聚类 / Conv1d3 下采样 / 1 GPUconf/tuning/train_discrete_asr_e_branchformer1.yaml2000 聚类 / 2 GPUconf/decode_ctc0.3.yaml解码配置此外egs2/librispeech/asr2/conf/tuning/下还有一份train_discrete_asr_e_branchformer1_codec8.yaml说明该 recipe 除 SSL-K-means 外还支持神经编解码器codectoken 化路线对应asr2.sh中的tokenization_choicecodec本文以 SSL 离散 token 为主线展开。三、训练配置逐项精读train_discrete_asr_e_branchformer1_1gpu.yaml以 1 GPU 基准配置为例完整参数如下原文档直接指向该文件本文逐项注解# Trained with A100 (40 GB) x 1 GPUs for Kmeans1Knbpe5K. It takes 32 minutes per epoch. # BPE-Dropoutsubword regularization src_tokenizer_encode_conf: enable_sampling: true # 开启后使用 bpe-dropout alpha: 0.4 nbest_size: -1 frontend: embed # embedding positional encoding frontend_conf: embed_dim: 512 positional_dropout_rate: 0.1 specaug: specaug specaug_conf: apply_time_warp: false time_warp_window: 5 time_warp_mode: bicubic apply_freq_mask: false freq_mask_width_range: - 0 - 10 num_freq_mask: 0 apply_time_mask: true time_mask_width_ratio_range: - 0. - 0.05 num_time_mask: 10 encoder: e_branchformer encoder_conf: output_size: 256 attention_heads: 4 attention_layer_type: rel_selfattn pos_enc_layer_type: rel_pos rel_pos_type: latest cgmlp_linear_units: 1024 cgmlp_conv_kernel: 31 use_linear_after_conv: false gate_activation: identity num_blocks: 12 dropout_rate: 0.1 positional_dropout_rate: 0.1 attention_dropout_rate: 0.1 input_layer: conv1d2 layer_drop_rate: 0.0 linear_units: 1024 positionwise_layer_type: linear use_ffn: true macaron_ffn: true merge_conv_kernel: 31 decoder: transformer decoder_conf: attention_heads: 4 linear_units: 2048 num_blocks: 6 dropout_rate: 0.1 positional_dropout_rate: 0.1 self_attention_dropout_rate: 0.1 src_attention_dropout_rate: 0.1 layer_drop_rate: 0.0 model: discrete_asr model_conf: ctc_weight: 0.3 lsm_weight: 0.1 length_normalized_loss: false share_decoder_input_output_embed: false share_encoder_decoder_input_embed: false use_amp: true num_att_plot: 1 log_interval: 1000 num_workers: 4 batch_type: numel batch_bins: 280000000 accum_grad: 2 max_epoch: 35 patience: none init: none best_model_criterion: - - valid - acc - max keep_nbest_models: 10 optim: adam optim_conf: lr: 0.006 weight_decay: 0.000001 scheduler: warmuplr scheduler_conf: warmup_steps: 150003.1 源端 BPE-Dropoutsrc_tokenizer_encode_conf离散 token 序列在进入编码器之前先经过 sentencepiece BPE 编码。enable_sampling: true开启BPE-Dropoutsubword regularization训练时按概率对子词切分做采样alpha: 0.4控制采样强度nbest_size: -1表示从完整 n-best 列表中采样。这是一种数据增强能显著缓解 OOV 与过拟合问题。注意这里的 BPE 是施加在离散语音 token源语言侧之上的而非目标文本侧。3.2 前端与 SpecAugfrontend/specaug由于输入已不是频谱前端不再使用传统的 Fbank 提取而是frontend: embed直接把离散 token 索引映射为 512 维 embedding 并叠加位置编码positional_dropout_rate: 0.1。SpecAugment 只保留时间掩码apply_time_mask: true、num_time_mask: 10掩码宽度为帧长的 0%5%关闭了频域掩码与时间扭曲因为输入是 token 序列频域掩码没有意义。3.3 编码器E-Branchformerencoder: e_branchformerE-Branchformer 是 Branchformer 的改进版在每一层并行使用两个分支全局分支相对位置自注意力与局部分支卷积 gated MLPcgMLP最后通过卷积合并。本配置的关键参数output_size: 256模型宽度embedding 512 → 编码器内部 256attention_heads: 4、attention_layer_type: rel_selfattn、pos_enc_layer_type: rel_pos、rel_pos_type: latest使用最新式相对位置编码的自注意力cgmlp_linear_units: 1024、cgmlp_conv_kernel: 31cgMLP 分支的 FFN 宽度与卷积核大小merge_conv_kernel: 31两分支合并卷积的核大小use_linear_after_conv: false、gate_activation: identityinput_layer: conv1d2输入下采样层为 2 层 Conv1d序列长度缩减约 4 倍这是1gpu 基准与2000 聚类两个变体的选择conv1d3 变体仅把这里改为input_layer: conv1d33 层 Conv1d下采样更狠因此每个 epoch 更快num_blocks: 12、dropout_rate: 0.1含 attention/positional 各类 dropoutuse_ffn: true、macaron_ffn: true启用 FFN 与 macaron-FFN 分支linear_units: 1024。3.4 解码器Transformerdecoder: transformer标准 6 层 Transformer 解码器4 头注意力、linear_units: 2048、num_blocks: 6各类 dropout 均为 0.1layer_drop_rate: 0.0关闭 layer-drop。3.5 模型与损失model: discrete_asrmodel_conf中的关键超参对应源码类ESPnetDiscreteASRModelespnet2/asr/discrete_asr_espnet_model.py的构造参数ctc_weight: 0.3CTC 与注意力损失的混合权重源码中assert 0.0 ctc_weight 1.0。CTC 损失帮助对齐注意这里 CTC 施加在离散源 token序列上lsm_weight: 0.1标签平滑强度length_normalized_loss: false不做长度归一化share_decoder_input_output_embed/share_encoder_decoder_input_embed是否共享输入/输出/编解码 embedding本实验均关闭源是语音离散 token、目标是文本词表不同不共享合理。3.6 训练策略use_amp: true混合精度训练batch_type: numelbatch_bins: 280000000按总元素数动态组 batch1 GPU 版2 GPU 版为batch_bins: 768000000、accum_grad: 1、num_workers: 8conv1d3 版为batch_bins: 420000000、accum_grad: 1max_epoch: 35、best_model_criterion: valid acc max、keep_nbest_models: 10以验证集准确率为准保存 10 个最佳模型解码时使用valid.acc.ave.pth平均模型优化器 Adamlr: 0.006、weight_decay: 1e-6 warmup 调度warmup_steps: 15000。3.7 解码配置decode_ctc0.3.yamlbeam_size: 20 ctc_weight: 0.3 lm_weight: 0.0 maxlenratio: 1.0 minlenratio: 0.0 penalty: 0.0解码采用 beam searchbeam_size: 20ctc_weight: 0.3与训练一致lm_weight: 0.0表示本实验不使用外部语言模型重打分asr2.sh中use_lmtrue默认训练 LM但推理权重为 0 或按需调整maxlenratio/minlenratio/penalty控制输出长度与长度惩罚。四、离散 token 生成流水线从 WavLM 特征到 token 序列在进入模型训练前run.sh通过如下参数定义离散化管线见 egs2/librispeech/asr2/run.shkmeans_featurewavlm_large/21 # 使用 wavlm_large 的第 21 层 nclusters2000 src_lang$(echo ${kmeans_feature}_km${nclusters} | tr / _) # wavlm_large_21_km2000 tgt_langen src_nbpe6000 # 2000 聚类时源端 BPE 词表 60001000 聚类时用 5000 tgt_nbpe5000 # 目标英文 BPE 词表 5000 # ts: true sequence保留重复rm: deduplicated sequence去重 src_caserm tgt_casets管线由asr2.shStage 5 调用 scripts/feats/perform_kmeans.sh 完成包含四个子阶段对应脚本--stage 1 --stop-stage 4SSL 特征抽取对音频提取 WavLM-large 第 21 层表征--feature_type wavlm_large --layer 21底层经 s3prl 加载upstreamwavlm_large见asr2.sh中的s3prl_conf与kmeans_feature_conf拼装逻辑。storage_save_modetrue时采用边抽取边聚类的流式模式以节省磁盘。K-means 训练从训练集按portion0.1抽样特征训练聚类模型nclusters即聚类中心数模型保存在exp/kmeans/wavlm_large_21_${nclusters}clusters/km_${nclusters}.mdl。伪标签生成对全部数据训练/验证/测试集用聚类模型把特征帧映射为簇索引产出pseudo_labels_km${nclusters}.txt。索引转 CJK token 文本把数字索引映射为 CJK 字符asr2.sh用chr(0x4e00 i)生成distinct_cjk_token_lists得到text.${src_case}.${src_lang}。src_case的两种模式决定了源序列形态asr2.sh中awk逻辑tstrue sequence保留原始离散 token 序列含重复帧rmremove repetition去掉相邻重复 tokenif ($i ! $(i-1))序列更短文档中各实验的src_case即rm。目标文本text.${tgt_case}.${tgt_lang}即原始英文转写。随后 Stage 7 分别用 sentencepiece 训练源端 BPE词表src_nbpe与目标端 BPE词表tgt_nbpe并生成blank/unk/sos/eos开头的 token_list。五、asr2.sh端到端 Recipe 的 17 个 Stageasr2.shegs2/librispeech/asr2/asr2.sh是 ASR2 的完整执行脚本共 17 个 Stage默认从 stage 1 跑到 10000由各开关自动跳过不需要的 StageStage内容说明1数据准备local/data.sh 下载 LibriSpeechopenslr 资源 12并生成data/train_960、data/dev、data/test_clean、data/test_other等2速度扰动--speed_perturb_factors 0.9 1.0 1.1生成 3 倍扰动数据run.sh默认开启3音频格式化format_wav_scp.sh统一为 flac/16k输出dump/audio_raw4时长过滤移除时长 0.1s 或 30s 及空文本的样本min/max_wav_duration5离散 token 化见第四节SSL 特征 → K-means → 伪标签 → CJK token 文本6特征目录整理把 token 文本复制到dump/raw并生成lm_train.txt7BPE 与 token_list分别为源语音 token与目标英文文本训练 sentencepiece8–11LM / N-gram训练 Transformer LMespnet2.bin.lm_train、计算困惑度、可选用lmplz训练 N-gram12–13ASR collect-stats 与训练调用espnet2.bin.mt_train --collect_stats统计 shape再训练discrete_asr模型输出目录exp/asr_${asr_tag}14–15解码与评分espnet2.bin.mt_inference生成 1best 结果sclite计算 char/word/bpe 三级 WER/CER/TER16打包espnet2.bin.pack打包 zip 模型含 kmeans 模型、BPE 模型、RESULTS.md 等17上传 HuggingFace需设置hf_repo并安装 git-lfs关键设计点训练/解码复用 MT 工具链Stage 12/13 使用mt_train、Stage 14 使用mt_inference--train_data_path_and_name_and_type同时传入text.${src_case}.${src_lang}类型src_text,text与text.${tgt_case}.${tgt_lang}类型text,text印证了离散语音 token 当作源语言文本的翻译式建模input_src_typeSSL 路线为texttoken 已落盘为文本codec 路线为kaldi_ark模型选择默认解码inference_asr_modelvalid.acc.ave.pth10 个最佳模型的平均--download_model可直接从 Model Zoo 拉取预训练模型跳过训练目录命名规则asr_tag由配置文件名 源/目标 token 类型 _sp速度扰动自动拼接因此实验目录形如asr_train_discrete_asr_e_branchformer1_1gpu_raw_wavlm_large_21_km1000_bpe_rm5000_bpe_ts5000_sp。六、复现步骤在满足 ESPnet 环境espnet 202304 及以上、pytorch 1.13、A100 GPU的前提下cd egs2/librispeech/asr2 # 1) 在 db.sh 中设置 LIBRISPEECH 数据路径 # 2) 按需修改 run.sh 顶部的 kmeans_feature / nclusters / src_nbpe / tgt_nbpe # 3) 一键执行默认 2000 聚类、2 GPU 配置35 epochs ./run.sh # 指定单 GPU 配置1000 聚类 / 5000 BPE ./run.sh \ --nclusters 1000 \ --src_nbpe 5000 \ --ngpu 1 \ --asr_config conf/tuning/train_discrete_asr_e_branchformer1_1gpu.yaml三个实验的 token 规模对应关系为1000 聚类 ↔src_nbpe50002000 聚类 ↔src_nbpe6000见run.sh注释 I use src_nbpe6000 for 2000-cluster kmeans。若已有训练好的模型可跳过训练直接用--download_model指定模型 ID 进行解码与评测。七、实验结果WER / CER / TER以下结果均来自原文档解码配置统一为decode_ctc0.3valid.acc.ave平均模型。7.1 变体一E-Branchformer WavLM-large Layer21 Kmeans1000 nBPE5000A100 × 118.5h/35 epochs实验目录exp/asr_train_discrete_asr_e_branchformer1_1gpu_raw_wavlm_large_21_km1000_bpe_rm5000_bpe_ts5000_spWERdatasetSntWrdCorrSubDelInsErrS.Errdecode_ctc0.3_asr_model_valid.acc.ave/dev_clean27035440298.11.80.20.22.127.6decode_ctc0.3_asr_model_valid.acc.ave/dev_other28645094895.83.90.30.44.642.7decode_ctc0.3_asr_model_valid.acc.ave/test_clean26205257697.91.90.20.32.429.3decode_ctc0.3_asr_model_valid.acc.ave/test_other29395234395.93.80.30.54.643.6CERdatasetSntWrdCorrSubDelInsErrS.Errdecode_ctc0.3_asr_model_valid.acc.ave/dev_clean270328845699.50.30.20.20.727.6decode_ctc0.3_asr_model_valid.acc.ave/dev_other286426595198.50.90.60.51.942.7decode_ctc0.3_asr_model_valid.acc.ave/test_clean262028153099.50.30.20.20.729.3decode_ctc0.3_asr_model_valid.acc.ave/test_other293927275898.70.70.50.51.843.6TERdatasetSntWrdCorrSubDelInsErrS.Errdecode_ctc0.3_asr_model_valid.acc.ave/dev_clean27036801097.61.70.70.32.727.6decode_ctc0.3_asr_model_valid.acc.ave/dev_other28646311094.54.11.40.76.242.7decode_ctc0.3_asr_model_valid.acc.ave/test_clean26206581897.21.80.90.33.129.3decode_ctc0.3_asr_model_valid.acc.ave/test_other29396510194.73.61.70.76.043.67.2 变体二Conv1d 下采样 3 层A100 × 113.8h/35 epochs实验目录exp/asr_train_discrete_asr_e_branchformer1_conv1d3_1gpu_raw_wavlm_large_21_km1000_bpe_rm5000_bpe_ts5000_spWERdatasetSntWrdCorrSubDelInsErrS.Errdecode_ctc0.3_asr_model_valid.acc.ave/dev_clean27035440297.81.90.20.32.430.0decode_ctc0.3_asr_model_valid.acc.ave/dev_other28645094895.64.00.40.44.843.8decode_ctc0.3_asr_model_valid.acc.ave/test_clean26205257697.81.90.30.32.530.2decode_ctc0.3_asr_model_valid.acc.ave/test_other29395234395.64.00.30.54.846.3CERdatasetSntWrdCorrSubDelInsErrS.Errdecode_ctc0.3_asr_model_valid.acc.ave/dev_clean270328845699.40.30.30.20.830.0decode_ctc0.3_asr_model_valid.acc.ave/dev_other286426595198.40.90.70.52.143.8decode_ctc0.3_asr_model_valid.acc.ave/test_clean262028153099.40.30.30.20.830.2decode_ctc0.3_asr_model_valid.acc.ave/test_other293927275898.60.80.60.51.946.3TERdatasetSntWrdCorrSubDelInsErrS.Errdecode_ctc0.3_asr_model_valid.acc.ave/dev_clean27036801097.21.90.90.33.130.0decode_ctc0.3_asr_model_valid.acc.ave/dev_other28646311094.34.21.50.86.543.8decode_ctc0.3_asr_model_valid.acc.ave/test_clean26206581897.11.91.00.33.230.2decode_ctc0.3_asr_model_valid.acc.ave/test_other29396510194.43.81.70.76.346.37.3 变体三Kmeans2000 nBPE6000A100 × 212h/35 epochs实验目录exp/asr_train_discrete_asr_e_branchformer1_raw_wavlm_large_21_km2000_bpe_rm6000_bpe_ts5000_spWERdatasetSntWrdCorrSubDelInsErrS.Errdecode_ctc0.3_asr_model_valid.acc.ave/dev_clean27035440298.01.80.20.22.227.5decode_ctc0.3_asr_model_valid.acc.ave/dev_other28645094895.93.70.30.44.541.7decode_ctc0.3_asr_model_valid.acc.ave/test_clean26205257697.91.90.20.32.429.2decode_ctc0.3_asr_model_valid.acc.ave/test_other29395234395.83.80.40.54.643.3CERdatasetSntWrdCorrSubDelInsErrS.Errdecode_ctc0.3_asr_model_valid.acc.ave/dev_clean270328845699.40.30.30.20.827.5decode_ctc0.3_asr_model_valid.acc.ave/dev_other286426595198.50.90.60.41.941.7decode_ctc0.3_asr_model_valid.acc.ave/test_clean262028153099.50.30.30.20.729.2decode_ctc0.3_asr_model_valid.acc.ave/test_other293927275898.70.70.60.51.843.3TERdatasetSntWrdCorrSubDelInsErrS.Errdecode_ctc0.3_asr_model_valid.acc.ave/dev_clean27036804997.41.80.80.32.927.5decode_ctc0.3_asr_model_valid.acc.ave/dev_other28646304894.63.91.50.66.041.7decode_ctc0.3_asr_model_valid.acc.ave/test_clean26206576997.31.81.00.33.029.2decode_ctc0.3_asr_model_valid.acc.ave/test_other29396526894.63.61.80.65.943.3横向对比三组结果可看出增大聚类数1000 → 2000与 BPE 词表5000 → 6000在 dev/test 各集合上有细微提升如 test_other WER 4.6 → 4.6、dev_other WER 4.6 → 4.5S.Err 41.7 → 41.7 区间而更激进的下采样conv1d3以约 5 小时/35 epoch 的加速换取约 0.20.3 个点的 WER 代价。需要说明的是这三组属于同一实验设置下的工程探索记录并非相互对照的严格消融实验。八、源码级补充ESPnetDiscreteASRModel的实现要点模型的实现文件为 espnet2/asr/discrete_asr_espnet_model.py核心类ESPnetDiscreteASRModel第 21 行继承ESPnetMTModelMT 基类构造参数与model_conf一一对应vocab_size/token_list目标文本词表、src_vocab_size/src_token_list离散 token 词表、frontend、specaug、encoder、decoder、ctc以及ctc_weight、lsm_weight、length_normalized_loss、share_*_embed等。训练时使用espnet2.bin.mt_train推理使用espnet2.bin.mt_inference见asr2.shStage 12–14 的命令拼装因此它天然支持 CTC/注意力联合训练、BPE-Dropout 采样等机制与配置中src_tokenizer_encode_conf、ctc_weight: 0.3直接对应。若希望深入扩展例如更换 SSL 模型、使用 codec token 或联合 BPE可参考同目录下的其他配置与脚本编解码器 token 路线conf/tuning/train_discrete_asr_e_branchformer1_codec8.yaml 与 scripts/feats/codec_tokenization.shK-means 聚类工具链scripts/feats/perform_kmeans.sh、scripts/feats/feats_clustering.sh、scripts/feats/audio_tokenization.sh评测脚本scripts/utils/show_asr_result.sh九、小结与适用前提ASR2 recipe 展示了自监督离散 token Seq2Seq这条高效 ASR 路线的完整工程闭环WavLM-large 特征 → K-means 聚类 → BPE 子词化 → E-Branchformer/Transformer 训练 → CTC注意力联合解码。其适用前提包括硬件为 A10040GB级 GPU单卡 18.5h、双卡 12h 完成 35 epochsESPnet 版本 202304 及以上且依赖 s3prl加载 WavLM、sentencepieceBPE、kaldi 工具链sclite 评分等组件预训练权重可从 HuggingFace 模型仓库espnet组织下以ls960_asr2命名的模型下载后直接解码。对于希望在更少资源下复现或迁移到其他语料/语言的开发者可从修改run.sh的kmeans_feature、nclusters、src_nbpe三项入手管线其余部分无需改动。赞分享人工智能语音音频深度学习NLP【免费下载链接】espnetEnd-to-End Speech Processing Toolkit项目地址https://gitcode.com/gh_mirrors/es/espnet点击查看免费下载相关推荐ESPnet CHiME4 ASR2 Recipe 实战基于 WavLM 离散 Token 与 E-Branchformer 的端到端语音识别ESPnet CHiME4 ASR2 Recipe 实战基于 WavLM 离散 Token 与 E Branchformer 的端到端语音识别 本篇技术指南聚人工智能语音音频深度学习NLPESPnet ASR2 模板深度解析基于自监督离散单元的端到端语音识别Discrete Units ASRESPnet ASR2 模板深度解析基于自监督离散单元的端到端语音识别Discrete Units ASR 本篇技术指南系统讲解 ESPnet2 中 AS人工智能语音音频深度学习NLPESPnet 离散 Token ASR2 实战Libriheavy small 上基于 WavLM K-Means E-Branchformer 的带大小写与标点识别ESPnet 离散 Token ASR2 实战Libriheavy small 上基于 WavLM K Means E Branchformer 的带人工智能语音音频深度学习NLP上一篇Win11DisableRoundedCorners终极方案完全禁用Windows 11窗口圆角下一篇macOS 下 pgvector 编译失败一次跑通向量搜索扩展的完整流程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

开源AI开放学堂:30天打造免费AI学习与工具聚合平台 2026/9/25 4:12:00

开源AI开放学堂:30天打造免费AI学习与工具聚合平台

这个世界太魔幻了。我见过太多人囤了一堆AI课程,结果发现内容还不如官方文档写得清楚;也见过不少团队靠卖“AI赚钱秘籍”月入百万,但学员连Prompt都不会写。所以当我自己花了30天,和三个朋友一起爆肝开源了一个网站,把…

阅读更多 →
highlight.io 全栈可观测性搜索查询语法完全指南:表达式、键值、通配符、正则与逻辑组合 2026/9/25 4:12:00

highlight.io 全栈可观测性搜索查询语法完全指南:表达式、键值、通配符、正则与逻辑组合

可观测性后端 【免费下载链接】highlight highlight.io: The open source, full-stack monitoring platform. Error monitoring, session replay, logging, distributed tracing, and more. 项目地址: https://gitcode.com/gh_mirrors/hi/highlight 点击查看 免费下…

阅读更多 →
从0到1搭建个性化推荐系统:架构、召回、精排与冷启动全解析 2026/9/25 4:11:54

从0到1搭建个性化推荐系统:架构、召回、精排与冷启动全解析

1. 从一个猜想的验证说起我第一次认真琢磨个性化推荐系统,是因为一个特别朴素的问题:我盯着购物App首页那排"猜你喜欢"看了十分钟,发现它推的东西居然真的是我最近想买但还没搜过的。那一刻我意识到,推荐系统不是简单的…

阅读更多 →
Apereo CAS 基于 LDAP 的代理认证(Surrogate Authentication)存储配置指南 2026/9/25 4:11:54

Apereo CAS 基于 LDAP 的代理认证(Surrogate Authentication)存储配置指南

后端认证鉴权单点登录 【免费下载链接】cas Apereo CAS - Identity & Single Sign On for all earthlings and beyond. 项目地址: https://gitcode.com/gh_mirrors/ca/cas 点击查看 免费下载 导读 代理认证(Surrogate Authentication,又…

阅读更多 →
RocketRide local_text_output 节点详解:把管道文本可靠写入本地文件系统的设计与实现 2026/9/25 4:11:53

RocketRide local_text_output 节点详解:把管道文本可靠写入本地文件系统的设计与实现

【免费下载链接】rocketride-server High-performance AI pipeline engine with a C core and 50 Python-extensible nodes. Build, debug, and scale LLM workflows with 13 model providers, 8 vector databases, and agent orchestration, all from your IDE. Includes VS C…

阅读更多 →
OpenCV 三维直方图可视化:基于 viz 模块的 3D Histogram 交互式渲染实战 2026/9/25 4:11:46

OpenCV 三维直方图可视化:基于 viz 模块的 3D Histogram 交互式渲染实战

计算机视觉图像处理机器学习 【免费下载链接】opencv_contrib 项目地址: https://gitcode.com/gh_mirrors/ope/opencv_contrib 点击查看 免费下载 本教程对应 opencv_contrib 仓库 modules/viz 模块的官方示例 histo3D.cpp 及其配套文档 histo3D.markdown。你将学习…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉