TasNet-master学习

test_conv_tasnet

  1. torch.rand():  均匀分布,返回服从分布的初始化后的tensor,张量的形状是其参数size定义

x = torch.rand(3, 32000);

#rand(*size, out=None, dtype = None)

torch.rand(*sizes,out = None) -->Tensor

返回一个张量,包含了从区间【0,1)的均匀分布中抽取的一组随机数。张量的形状由参数sizes定义

参数:

  • sizes(int...)-整数序列。定义了输出张量的形状
  • out(Tensor,optinal)-结果张量

2. scipy.stats(): 生成服从指定分布的随机数

   print_stats(x, sample_rate)

3. Conv-TasNet

class TasNet(nn.Model):

4.一维卷积nn.Conv1d

self.encoder = nn.Conv1d(1, self.enc_dim, self.win, bias=False, stride=self.stride)

卷积计算:_n{out}=\left [ \frac{_n{in}+2p-k}{s} \right ]+1

5.separation:

由卷积的一维扩张卷积块组成的时间卷积网络(TCN)估计每个spk的mask,使网络可以对语音信号的长期依赖性进行建模。经过4个repeat,d = 8,增加感受野。

这里用TCN,和传统卷积不同的是,膨胀卷积允许卷积时的输入存在间隔采样,采样率受途中的d控制。最下面一层的d=1,表示输入时每个点都采样,中间层d=2,表示输入时每2个点采样一个作为输入。膨胀卷积使用有效窗口的大小随着指数呈指数增长。这样卷积网络用比较小的层,就可以获得很大的感受野。

后面再用卷积先扩大通道数,对不同说话人进行不同通道的区分,然后就可以分离为不同说话人个数的mask

6.TCN模块

self.TCN = models.TCN(self.enc_dim, self.enc_dim, self.feature_dim, self.feature_dim * 4,
                              self.layer, self.stack, self.kernel, causal=self.causal)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值