自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 收藏
  • 关注

原创 b站内容下载

比较好一款下载软件, 无需安装, https://bbdownloader.com/bilibili/zh。直接复制视频地址到这个网站,输入验证码即可下载。

2025-07-29 10:06:11 223

原创 git lfs使用

如果访问不了hugggingface.co用hf-mirror.com替代,国内下载速度还是挺快的。apt install git lfs 或者下载二进制文件加到环境变量。git lfs clone huggingface文件路径。先按照pip install modelscope。

2025-07-28 11:15:28 297

原创 ctc_loss_demo

【代码】ctc_loss_demo。

2025-07-22 18:24:38 121

原创 pcm数据打包

其中每个文件是1000条音频。输入demo.lst。

2025-07-01 14:36:40 118

原创 vscode里几种程序调试配置

调试配置需要先配置tasks.json激活环境,然后配置launch.json。tasks.json 里先激活虚拟环境。launch.json配置。bash启动脚本是这样。或者这种简单配置也行。

2025-05-23 18:55:27 630

原创 python调用底层c++算子示例

python模块底层加速

2025-05-22 10:33:00 313

原创 windterm终端软件使用

windterm使用

2025-04-07 18:21:12 399

原创 唤醒芯片公司调研

做唤醒芯片公司,叫 乐鑫信息科技 公司,主要做aiot唤醒词,nlu, tts芯片, 文档写的不错,很系统。

2024-12-17 17:51:35 146

原创 使用torch模拟 BMM int8量化计算。

视觉模型测试框架参考仓库:

2024-12-11 11:43:34 392

原创 Qwen2-1.5B-Instruct量化评估

lm_head需要w8a8, w4a8g32和w4a16g32损失太大。w4a8g32-mxint太差,w8a8g32-mxint效果可以。w4需要per-block, w8需要per-channel。per-channel损失较大,需要用per-block。omniquant 优化w4。bmm损失在2-3%

2024-12-11 11:29:27 510

原创 vscode调整字体便捷方法

vscode调整字体大小

2024-06-24 15:13:28 4275

原创 文本过滤工具filter_scp.pl使用记录

文件内容筛选工具

2024-05-22 17:43:08 223

原创 语音唤醒相关

和唤醒相关的关键词wake-up word recognition / detection / spotting、voice triggering、voice activation、keyword spotting。其中keyword spotting主要用来待指【关键词检索】任务,有时也用来指语音唤醒,「关键词检索」与「语音唤醒」不同,它是在事先录制好的大量语音中搜索特定的关键词。这是一个离线任务,所以并不需要实时进行语音识别,也可以建立索引以加速检索。tips:掌握关键词是快速入门一个领域好方法,

2021-06-23 17:54:59 1804

原创 sed和awk使用

sed主要用于删除和替换文本,awk主要用于过滤和增加文本。sed按行执行,awk按列执行简述在以下的文章中会介绍使用 linux sed 命令删除和替换文件中指定字符的 20 个例子。sed 替换字符的命令格式 如下:$ sed 's/find/replace/' file示例文件:$ cat fileLinuxSolarisUbuntuFedoraRedHat 1. 删除指定的字符,比如 ‘a’$ sed 's/a//' fileLinuxSolrisUbuntuFe

2021-06-18 14:28:01 899

原创 python split方法

描述split() 通过指定分隔符对字符串进行切片,如果第二个参数 num 有指定值,则分割为 num+1 个子字符串。语法split() 方法语法:str.split(str="", num=string.count(str))参数str – 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。num – 分割次数。默认为 -1, 即分隔所有。返回值返回分割后的字符串列表。实例line = ‘2512-157242-0002 HE WAS GLAD THAT MOT

2021-06-11 15:56:57 727 1

原创 ml_2021_hw3

2021-06-09 17:02:30 505

原创 asr评测指标

2021-06-03 15:51:03 550

原创 vocab生成

在nlp或者asr任务中,通常都需要根据corpus创建词典,并将单词在词典中的位置进行映射。词典中词可以是单个字也可以是字符,需要根据具体应用进行处理,一般在端到端asr任务中,vocab中单位都是字。首先我们拿到的标注文本一般是这样的MDT_F2F_223_158.wav 反正,呃对还有两台平板,然后高中的时候学校不给带手机我们都借他的手机用,他的手机真的借遍了全班MDT_F2F_223_159.wav 那会儿我有一次问他,我说我想借你的苹果四,他说哦,那台就或者是json文件, 一个json

2021-06-02 14:23:18 2702 1

原创 visual-speech

import IPython.display as ipdwave_sample= ipd.Audio(audio)wave_sampleimport matplotlib.pyplot as pltimport librosa.displayx,sr=librosa.load(audio)plt.figure(figsize=(14,5))librosa.display.waveplot(x,sr=sr)X = librosa.stft(x) #短时傅里叶变换Xdb=libro

2021-06-01 16:19:25 167

原创 ctc网络输出解码

图 1 alpha矩阵大小横坐标是声学特征,x1-x6一共有6帧语音,每一帧语音输出是一个v大小概率分布,v是token词典大小,现在假设token单位是字符,并且字典大小是三个字符,[%,c,a,t],所以v的大小是4。前向概率计算参数包括两点:1.所有声学特征输出概率分布矩阵y2 已插入空白符的label序列, 大小为Lyarray([[0.17914049, 0.27980623, 0.26827714, 0.27277615], [0.23065626, 0.226.

2021-05-26 17:36:18 611 1

原创 语音识别训练和解码——声学特征与文本标记如何对齐

语音识别,输入是声学特征的序列,上图中X是经过一定规则提取的39维mfcc向量组成的矩阵,矩阵大小是不固定的,因为输入语音长度不一样,提取的语音帧就不一样,比如有10039,100039, 一般按照25ms一帧,10ms一个帧移,所以一秒中语音有100帧。由于人说话字数不固定的,所以一句话说完时长不一样,这样得到帧矩阵大小就不一样。所以语音识别是典型的seq2seq问题。上图中X是提取的mfcc向量序列,Y是token序列,token的粒度可以是字符,字,词,音素。传统的语音识别一般将Y转换为S,S是相.

2021-05-25 16:34:41 1665

原创 encode-decode结构

encode的输入是变长的序列向量,每个向量之间会在batch内填充为固定长度,神经网络限制,不能输入变长的向量。encode输出固定长度的向量,但序列数量和输入数量保持不变,也就是一个输入产生一个输出。每个输出之间是独立的。encode的网络可以不固定,比如常见nlp任务用rnn,。encode将可变序列编码为固定状态,decode将固定状态输入映射为其它可变序列。decode的网络可以不固定,其中ctc 结合search策略也可以用来做decode。通用的“编码器-解码器”接口定义:fro.

2021-05-25 15:12:20 1211

原创 ls -l du -h du-sh df -h

(base) root@ai-PowerEdge-R740:/data/cn-celeb1# ls -lh cn-celeb.tgz-rw-r--r-- 1 root root 30G 11月 7 2019 cn-celeb.tgz(base) root@ai-PowerEdge-R740:/data/cn-celeb1# du -h cn-celeb.tgz30G cn-celeb.tgz(base) root@ai-PowerEdge-R740:/data/cn-celeb1# ls

2021-05-21 11:49:58 290

原创 kaldi download_and_untar.sh阅读

标题这个脚本解析第一部分:使用方法介绍 1 #!/bin/bash 2 3 # Copyright 2014 Johns Hopkins University (author: Daniel Povey) 4 # Copyright 2016 Tsinghua University (author: Dong Wang) 5 # Apache 2.0 6 7 # Adapted from librispeech recipe local/download_an

2021-05-20 21:45:33 615 1

原创 kaldi parse_options.sh

一般程序里的局部变量我们都会设置默认值,如果没有传真值,程序执行时候使用默认值,这个在python或其它程序里都比较好实现,在shell里如何实现呢?test.sh代码a=1b=1echo "\$0 =${0} \$1=${1} \$2=${2}"echo "default a=${a} b=$b"echo "update a=${a} b=$b"即使我们这样执行 bash test.sh --a 10 --b 22, 执行结果(notebook) root@ai-PowerEdge-R

2021-05-20 11:53:20 762

原创 set -o -e -i pipifail作用

-eExit immediately if a command exits with a non-zero status.pipefailIf set, the return value of a pipeline is the value of the last (rightmost) command to exit with a non-zero status, or zero if all commands in the pipeline exit successfully. This .

2021-05-19 20:50:29 610

原创 shell脚本调试模板

模板内容:#!/bin/bash_DEBUG="off"function DEBUG(){ [ "$_DEBUG" == "on" ] && $@}DEBUG echo 'Reading files'for i in *do grep 'something' $i > /dev/null [ $? -eq 0 ] && echo "Found in $i file"doneDEBUG set -xa=2b=3c=$(( $a + $

2021-05-19 19:15:50 153

原创 kaldi lesson教程示例

创建示例目录第一步:egs目录下创建lesson文件夹,lesson文件夹创建版本标识文件夹v1mkdir lessoncd lessonmkdir v1结果展示(notebook) root@ai-PowerEdge-R740:/opt/asr/kaldi/egs# ls -l lesson/total 4drwxr-xr-x 2 root root 4096 5月 19 10:32 v1为什么lesson下还要创建v1?v1表示第一个版本,方便版本管理和path.sh返回

2021-05-19 17:01:24 1051 3

原创 transformer学习一简介和安装

各种预训练模型文档模型仓库

2021-05-19 16:49:55 771

原创 pytorch中squeeze()和unsqueeze()函数介绍

squeeze() 在原始数据上增加一个维度,但不改变数据特征值大小,每个数据还是三个特征unsqueeze()减少一个维度,只针对该维度是1的维度维度不为1的作用没有效果,c的原来维度为2,强行减少没有效果。...

2021-05-18 16:05:32 325

原创 wandb使用

wandb和tensorboard最大区别是tensorboard的数据是存在本地的,wandb是存在wandb远端服务器,wandb会为开发真创建一个账户并生成登陆api的key。运行自己程序之前需要先登陆wandb第一步 安装wandbpip install wandb第二步 登陆wandb网页,注册账户并获取api keywandb注册首页, 一般用google账户或者github账户注册都行, 注册时注意保存username注册成功会在这个页面有注册信息展示,api key也是在这个页面

2021-05-17 16:45:30 38606 41

原创 paddle安装

安装前配置百度镜像源,pip镜像源配置官网地址 paddle 2.0安装命令python3 -m pip install paddlepaddle-gpu -i https://pypi.tuna.tsinghua.edu.cn/simple虽然指定阿里云镜像,但是安装时候自动选择百度镜像,百度镜像下载非常快。安装完成...

2021-05-17 11:18:29 4545

原创 竞赛结果保存模板

import timedef time_change(timeStamp): timeArray = time.localtime(timeStamp) t = time.strftime("%H:%M", timeArray) day = time.strftime("%Y%m%d", timeArray) return day, tday, t = time_change(time.time())print(day,t)print(day,t[:2], t[-2:

2021-05-13 17:13:21 107

原创 torch.nn.utils.rnn.pad_sequence用法

class MyCollate: def __init__(self, pad_idx): self.pad_idx = pad_idx #填充值 def __call__(self, batch): imgs = [item[0].unsqueeze(0) for item in batch] imgs = torch.cat(imgs, dim=0) targets = [item[1] for item in batch

2021-05-12 16:22:07 5890

原创 数据处理-padding,DataLoader中collate_fn使用

DataLoader可通过collate_fn参数,对Dataset生成的mini-batch的可迭代数据进行后处理,如数据填充。collate_fn应当是一个可调用对象,常见的可以是外部定义的函数或者lambda函数。其接受DataLoader。在不设置collate_fn参数时,DataLoader的mini-batch样本序列样式取决于对应dataset参数的设置。而dataset只要是覆写了__init__、__getitem__和__len__方法的Dataset子类即可,所以其输出形式可以很

2021-05-12 16:04:40 1894

原创 Python_魔法方法__call__使用

概述Python有很多内置魔法方法,一般表现为双下划线开头和结尾。例如 name、doc、new、init、call__等,这些魔法方法会让对象持有特殊行为,今天就介绍,自己平时使用比较多的__call,我称它为:实例魔法方法使用方法什么叫实例魔法方法呢?,就是它可以把类实例当做函数调用。例子class add1(): def __init__(self) -> None: pass def __call__(self, *args) -> in

2021-05-12 11:45:14 500

原创 vscode两个常用快捷键

ctrl + b 召唤左边菜单ctrl + j 召唤右边菜单使用这两个快捷键可以使编码窗口视野更开阔

2021-05-11 15:31:44 193

原创 nn.CrossEntropyLoss()并不要求target与模型最后一层输出一样

CNN( (conv1): Conv2d(1, 8, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (pool): MaxPool2d(kernel_size=2, stride=2, padding=0, dilation=1, ceil_mode=False) (conv2): Conv2d(8, 16, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1)) (fc1): Linear

2021-05-11 15:28:27 473

原创 自定义数据集Dataset

模板from torch.utils.data import DataLoader, Datasetclass CatsAndDogsDataset(Dataset): def __init__(self, csv_file, root_dir, transform=None): self.data = pd.read_csv(csv_file) self.root_dir = root_dir self.transform = transform

2021-05-11 14:28:41 1271

原创 transforms.ToTensor()的作用就是变换图像数据为tensor并shape转化为[channel, h, w]

图片数据封装时候往往需要用到transform, 这个方法一方面将图片数据shape成【channel, w, h】,另一方卖弄将图片array转化为tensorclass CatsAndDogsDataset(Dataset): def __init__(self, csv_file, root_dir, transform=None): self.annotations = pd.read_csv(csv_file) self.root_dir = root_d

2021-05-11 14:16:49 3849 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除