自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 python利用joblib进行并行数据处理

可以利用 joblib 中的 Parallel 和 delayed 进行多CPU并行处理。在数据量比较大的情况下,数据预处理有时候会非常耗费时间。

2023-10-05 22:18:06 7519

原创 音频特征范围

pitch:energy:

2023-02-23 16:07:54 8928 1

原创 tmux命令常见用法

tmux new -s SESSION-NAME (注意:SESSION-NAME表示会话名称,可为字母或数字,例如: # tmux new -s nmt),不能在tmux会话里再新建会话,会报错。# tmux kill-session -t SESSION-NAME (注意:SESSION-NAME表示会话名称,在会话内部外部执行都可,例如: # tmux kill-session -t nmt)3.可以在单个屏幕的灵活布局下开出很多终端,然后就能协同的使用他们。

2022-10-24 22:04:24 10810

原创 将一句汉字文本转化为对应的拼音

语音合成时,数据预处理,需要将一句汉字文本转化为对应的拼音,其中,汉字文本包含标点符号,而拼音含有声调不含标点符号。输出:she4 zhi4 wen2 jian4 ming2 zen3 me5 yang5。输入:“设置文件名,怎么样?

2022-09-22 15:08:11 2525

原创 利用 sox 命令拼接两个wav文件

其中,sox 被称为声音转换、音频处理中的瑞士军刀,它是一个命令行式的音频处理工具,特别适合去进行快速、简单的编辑和进行批处理,如果你需要一个交互、图形界面的音频编辑器,使用audacity。比如,将 sample1.wav 和 sample2.wav 拼接成 sample12.wav。实际场景中,需要将两个wav文件进行拼接操作。

2022-09-15 11:42:03 1772

原创 解决 conda activate 不能使用的问题

可以先使用 source activate 命令进行激活,就会进入到(base)环境中,然后就可以使用 conda activate 命令了。conda 新建了环境后,使用 conda activate 进行激活会显示如下错误。

2022-09-01 17:31:56 10402

原创 python 按照修改时间进行文件读取

用于获取指定路径的最后修改时间。此方法返回一个浮点值,该值表示自纪元以来的秒数。如果文件不存在或无法访问,则此方法会引发OSError。用于把一个时间戳(按秒计算的浮点数)转化为 time.asctime() 的形式。如果参数未给或者为None的时候,默认使用 time.time() 为参数。...

2022-08-04 17:40:47 967

原创 制作github上的demo网页注意事项

2. yml文件对冒号非常敏感,如果title中有冒号,则会编译无法通过,可以用引号把整个title引起来;4. html不支持latex公式,如果想输入特殊字符,比如希腊字母,可以通过 “&str;3. 如果出现标题被覆盖的情况,可以尝试在 Code中添加一个 _layouts/default.html。1. 新建GitHub账号,可以专门一个账号每次用来作为盲审的demo展示账号;6. 如果发现 表格是乱码,可以尝试在表格前面加一个空行;6. 添加文件夹,上传需要展示的文件;...

2022-08-03 00:11:02 480

原创 python 中集合set()常用操作

python中的集合和数学上的集合基本是没有区别的,元素无序且不重复,不可以使用索引访问。 方式2:使用 set(),也可以创建空集合 方式3:将列表转换为集合 方式4:使用生成列生成列表 方式2:通过 update() 方法为集合添加多个元素,对应于列表的extend()2.2 删除元素 方式1:通过 discard() 方法删除指定元素(集合中没有也不会报错) 方式2:通过 remove() 方法删除指定元素(集合

2022-07-06 19:01:03 1918

原创 python 对数值各个数位上的单数操作

如果对数值各个数位上的单数进行操作呢?比如,求解任意给定的某个数字的各个数位上的单数的平方和,(如给定数字123,求解 )思路就是通过循环使用 取余(%)和 取整(//)操作从该数字的个位开始往高位不断取值。代码如下:...

2022-07-06 16:56:55 469

原创 python 中内置函数ord()返回字符串的ASCII数值

注意如下几点: ord() 函数是 chr() 函数(对于 8 位的 ASCII 字符串)的配对函数,它以一个字符串(Unicode 字符)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值。 应用实例:ord()函数的一个应用场景就是,利用哈希表解决字母异位词问题。利用ord()函数求解每个字母的ASCII数值,再利用每个字母和字母a之间的差值,将26个小写英文字母映射到下标分别为0-25的数组上,数组中存放的是每个字母的数目。例如:......

2022-07-05 23:04:51 6914

原创 python 批量处理csv文件

现遇到一个问题如下:需要删除每一个csv文件的前12行数据,然后保存。需要对多个目录下的csv文件进行批量处理。

2022-07-05 18:10:30 3347

原创 python 中defaultdict()对字典进行初始化

defaultdict()的作用在于,即使字典中的key不存在,在查找时也会对它的value赋予一个默认值。应用举例: 题目描述: 2. 使用defaultdict(): 参考:https://www.jianshu.com/p/bbd258f99fd3

2022-07-04 22:09:33 1401

原创 python (一维、二维)列表的初始化

初始一个长度为5的列表, 初始一个2*5的列表 方式2: 初始一个2*5的列表: 方式2: 注意: 下述方式是错误的,这相当于将[0]*5这个一维列表复制了2次,每当改变其中一个一维列表中的元素,剩余列表中的元素也会跟着改变。...

2022-06-26 14:09:45 665 1

原创 PPT 录制视频

有时候,需要使用PPT录制视频,比如在线学术会议需要上传录制好的video。具体如何操作呢?选择 幻灯片放映 --> 录制幻灯片演示 --> 从头开始录制这样录制结束后,每一页会多了一个音频,这就是录入的 旁白。选择 文件 --> 导出 --> 创建视频 可以选择视频的质量、是否使用旁白等设置,也可以对对计时和旁白进行预览,这样就可以得到一个对应的MP4文件了。注意:如果感觉一次性录制整个视频容易出错的话,可以在录制一遍后对部分页面进行重新录制;.

2022-04-20 17:04:27 843

原创 pytorch中 nn.utils.rnn.pack_padded_sequence和nn.utils.rnn.pad_packed_sequence

1. 官方文档:torch.nn — PyTorch 1.11.0 documentation2. 应用背景:在使用pytorch处理数据时,一般是采用batch的形式同时处理多个样本序列,而每个batch中的样本序列是不等长的,导致rnn无法处理。所以,通常的做法是先将每个batch按照最长的序列进行padding处理等长的形式。但padding操作会带来一个问题,那就是对于多数进行padding过的序列,会导致rnn对它的表示多了很多无用的字符,我们希望的是在最后一个有用的字符后就.

2022-04-12 23:27:33 5944 2

原创 pytorch 中注意cuda版本和gpu算力匹配

在安装torch时,一定要注意显卡的cuda版本问题。比如,在 RTX2080上 同样的环境中 程序可以正常运行,而换到A100中,就会报错如下:NVIDIA A100-PCIE-40GB with CUDA capability sm_80 is not compatible with the current PyTorch installation. The current PyTorch install supports CUDA capabilities sm_37 sm_50 sm_60

2022-04-11 23:41:47 21092 1

原创 pytorch 中 torch.nn.Parameter()

一、官方教程:网址:torch.nn.parameter — PyTorch 1.11.0 documentation二、代码解读:torch.nn.Parameter(torch.Tensor) 是一个类,继承了torch.Tensor这个类,有两个参数:data(Tensor): 给定一个tensor; requires_grad: 指定是否需要梯度,默认为True;通俗的解释:首先可以把这个函数理解为类型转换函数,将一个不可训练的类型Tensor转换成可以训练的类型pa

2022-04-07 17:18:13 2105

原创 pytorch 中 区分 torch.tensor() 和 torch.Tensor()

torch.tensor()torch.tensor()仅仅是python函数:https://pytorch.org/docs/stable/torch.html#torch.tensor,将数据的数据类型转化为tensor: data:(其中data可以是:list, tuple, NumPy ndarray, scalar和其他类型。) dtype: 可以使用参数dtype来指定张量的数据类型, requires_grad: 使用参数requires_grad来指定张量是否需要计算梯.

2022-04-07 16:41:49 1936

原创 pytorch 中 多头注意力机制 MultiHeadAttention的代码实现及应用

本文将对Scaled Dot-Product Attention,Multi-head attention,Self-attention,Transformer等概念做一个简要介绍和区分。最后对通用的 Multi-head attention 进行代码实现和应用。一、概念:1. Scaled Dot-Product Attention在实际应用中,经常会用到 Attention 机制,其中最常用的是Scaled Dot-Product Attention,它是通过计算query和key之间的点.

2022-04-07 15:12:34 27060 7

原创 pytorch 中 利用自定义函数 get_mask_from_lengths(lengths, max_len)获取每个batch的mask

在pytorch中,经常会需要通过batch进行批量处理数据,由于每个batch中各个样本之间存在差异,经常会需要进行先padding后mask的操作。尤其是在自然语言处理任务中,每个batch中的每个句子是不等长的。一般都是先通过填充0的方式将每个batch中每一句padding成和最长的句子等长的形式;再模型中或者计算loss的时候,再将padding成0的部分mask掉,从而避免padding带来的影响。所以,每个batch在读取数据时,需要保存下该batch中每个句子的长度(以及最长的句子长

2022-04-06 23:47:42 1153

原创 pytorch 中 x.masked_fill(mask, value)用value填充x中对应mask位置处为True的元素

函数讲解:pytorch 中 x.masked_fill(mask, value)用value填充张量x中对应mask位置处为True的元素。其中,mask的形状要和需要填充的张量x的形状一致。示例:import torchimport numpy as npx = torch.randn(5, 6)mask = torch.tensor([[False, False, True, True, True, True], [False,.

2022-04-06 23:01:49 892 1

原创 推荐一个有效清理电脑桌面广告、流氓软件的方法

很多流氓软件带了各种杂七杂八的广告,隔一会就弹出;或者某些软件卸载了又会自己安装回来,使用电脑管家等软件进行清理也不管用。遇到这种烦人的情况该怎么解决呢?推荐一个好用的软件,亲测有效。SoftCnKiller下载地址:流氓软件清理https://free.lanzoux.com/b0cpu1guf参考:https://blog.csdn.net/hfhbutn/article/details/104799162...

2022-04-05 22:53:52 1161

原创 pytorch 中判断和指定模型和数据在GPU或CPU上

有时候,需要查看模型和数据是在GPU上,还是在CPU上;或者需要将模型和数据放在指定的GPU或者CPU上,那该怎么做呢?1. 判断模型是在GPU上还是CPU上model = nn.LSTM(input_size=10, hidden_size=4, num_layers=1, batch_first=True)print(next(model.parameters()).device) 2.判断数据是在GPU上还是CPU上data = torch.ones([2, 3])print(d

2022-04-03 19:15:27 16866

原创 python中的padding操作代码实现

pad_1D:例如:每个batch中的音素的padding,每个音素先用一个一维int编号表示,每句话的音素序列是不等长的,需要将每个batch中的所有句子的音素序列按照最长的padding成等长的形式。代码及输入输出格式:import numpy as npdef pad_1D(inputs, PAD=0): def pad_data(x, length, PAD): x_padded = np.pad( x, (0, length - x

2022-04-02 23:51:53 2893

原创 pytorch中如何使用预训练好的BERT当作embedding

1. 安装相应的包pip install pytorch_pretrained_bert==0.6.2 -i https://pypi.tuna.tsinghua.edu.cn/simple2. 下载相应的预训练模型 bert-base-chinese。3. 代码示例:import torchfrom pytorch_pretrained_bert import BertTokenizer, BertModeltokenizer = BertTokenizer.from_.

2022-04-02 19:03:50 10568 2

原创 解决overleaf无法登录的问题

有时候,登录overleaf时,会如下如下问题,导致无法登录:该如何解决呢?这一般是网络的问题,可以尝试换个网络后再试一下,比如手机开个热点等。如此,就可以解决上述问题。

2022-03-31 20:03:25 5183

原创 python 中查看某个函数的功能

python中,只需要掌握两个帮助函数,就可以查看所有的遇到的函数的用法和功能,具体如下:dir():列出指定类或模块包含的全部内容(包括函数、方法、类、变量等)。 help():查看某个函数或方法的帮助文档。可以在交互式的解释器中进入python直接输入上述命令,也可以在非交互式的解释器中将该命令的内容进行打印输出。例如:...

2022-03-30 23:47:14 2789

原创 pytorch 中 torch.linspace()在某区间生成均匀的N个点

函数详解:torch.linspace(start, end, steps, out)功能:在区间【start,end】上生成均匀的N个点。 参数: start(float):区间的起点; end(float):区间的终点; steps(int):生成的点数; out(Tensor,optional):结果张量。 注意:start 可以比 end 小,也可以比 end 大,也可以和 end 相等。示例:import torcha = torch.linspace(0

2022-03-30 23:28:18 592

原创 python 中random.shuffle()函数将序列的所有元素进行随机排序

一、函数详解:二、示例:import randoma = [1,2,3,4,5,6]random.shuffle(a)print(a) ## [1, 5, 6, 3, 2, 4]三、应用:可以用来划分数据集,如划分为训练集、验证集。import randomimport os## 超参in_dir = 'folder1/number.txt'out_dir = 'folder1'val_size = 3## 读数据with open(in_dir

2022-03-29 14:37:50 6038

原创 python 中利用字典给所有的符号编号

有时候,需要将某些特定的符号进行编号,变成计算机可以处理的形式,从而让程序可以进行后续操作,比如进一步进行one-hot编码或者Embedding嵌入。那么,如何快速给特定的符号进行快速的编码呢?具体如下:例如,给所有的大小写英文字母进行编码,并且进行正向和反向映射:symbols = list("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz")# Mappings from symbol to numeric ID and vice

2022-03-26 22:22:07 1437

原创 python 中字典(Dictionary)get()函数返回指定键的值

读取字典中的指定键的值,一般分为两种方法,第一种是常见的dict[key];第二种则是使用dict.get(key)函数。具体如下:一. 函数详解:二. get() 方法 VS dict[key] 访问元素的区别:三. 嵌套字典使用:实例:## 嵌套字典a = {'path': {'corpus_path':'/data/datasets/LibriTTS', 'raw_path':'/data/training_data/ra

2022-03-26 16:29:13 5511

原创 pytorch中判断某一个Tensor的维度数是几

1. 正常情况下,判断一个Tensor的维度是通过tensor.shape进行判断,例如:import torchx = torch.randint(low=-10,high=10,size=(3,6))print(x)print(x.shape)由此可以判断是2维(第1维有3个元素,第2维有6个元素)。2. 但有时候,需要在代码中判断某一个Tensor到底是1维还是2维还是3维等,该如何判断呢?可以通过 len(tensor.shape) 判断,例如:import tor...

2022-03-24 22:12:18 16308 2

原创 pytorch中 torch.bucketize(input, boundaries)根据boundaries返回input中每个元素的区间索引

在pytorch中,函数torch.bucketize(input, boundaries)可以根据boundaries序列返回input中每个元素的区间索引。详细介绍如下:函数详解:torch.bucketize(input, boundaries, out_int32=False, right=False, out=None) --> Tensor功能:返回input中每个元素的所属的桶的索引,桶的边界由boundaries设置。返回的是和input相同大小的新的Tensor。 参

2022-03-23 23:07:28 1926

原创 python 中np.arange()生成(起点、终点、可小数步长)的排列

有时候,需要用到固定小数步长的某一区间内的排列,如[0, 0.2, 0.4, 0.6],此时,由于常用的range()函数只支持固定整数步长,所以就无法通过range()函数来实现。这种情况下,就可以通过numpy.arange()函数实现,具体如下:numpy.arange()返回值:返回一个有起点和终点的可固定小数步长的排列; 参数:一个参数时,参数值为终点,起点取默认值0,步长取默认值1; 两个参数时,第一个参数值为起点,第二个参数值为终点,步长取默认值1; 三个参数时,第一个参数

2022-03-20 14:34:33 6453

原创 pytorch中的 torch.round()函数

函数详解:torch.round(input, out=None)说明:返回一个新张量,将输入input张量的每个元素舍入到最近的整数。参数:input(Tensor):输入张量 out(Tensor,可选):输出张量import torcha = torch.randn(4)print(a) ## tensor([-0.8229, -0.6338, -1.3387, -0.0584])print(torch.round(a)) ## tens

2022-03-19 23:42:51 10416

原创 python 利用 str.isdigit() 函数判断字符串是否只包含数字

有时候,需要判断某一字符串是否只包含数字。可以通过 str.isdigit() 函数进行判断。具体实例如下:a = '123678'if a.isdigit(): print('该字符串只包含数字')else: print('不只有数字')>>> 该字符串只包含数字...

2022-03-19 12:25:18 1347

原创 python 利用 np.load() 读取.npy文件

如何读取.npy文件呢?需要利用 numpy.load() 函数进行读取。具体实例如下:import numpy as npa = np.load('DataBaker-duration-000001.npy')print(a) ## [11 8 8 10 13 6 11 17 8 15 15 7 14 10 17]

2022-03-19 12:18:05 9171

原创 python 利用os.rename()批量给文件改名

有时候,需要批量给整个文件夹下的所有文件改名,在数据量很大的情况下,手动地逐一进行改名是不现实的,所以就需要让程序自动批量给文件改名。具体来说,可以通过os.rename()函数进行操作。实例:import os path = '' #获取该目录下所有文件,存入列表中f= os.listdir(path)for i in f: #设置旧文件名(就是路径+文件名) old_name = os.path.join(path, i)

2022-03-19 12:01:21 8065

原创 利用Linux中file命令查看音频文件的采样率

有时,在处理音频文件时,需要知道该音频文件的采样率,那如何查看呢?可以通过Linux中的file命令来查看音频文件的采样率。具体如下:$ file xxxx.wav实例:$ file Dataset/DYBW/re_1_24/spk_0000/0001_0001_0001.wav>> Dataset/DYBW/re_1_24/spk_0000/0001_0001_0001.wav: RIFF (little-endian) data, WAVE audio, Microso

2022-03-19 11:40:48 3930

空空如也

空空如也

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

TA关注的人

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