深度学习 – 语音识别框架wenet中的CTC Prefix Beam Search算法的实现
1 Wenet中的CTC Prefix Beam Search Decode的实现 下面是Wenet网络的流程图 上图来自于:http://placebokkk.github.io/wenet/2021/06/04/asr-wenet-nn-1.html 语音特征数据在经过Encoder后会使用CT…
- 深度学习
- 2023-01-13
Pytorch – 使用pytorch自带的Resnet作为网络的backbone
在使用Pytorch搭建自己的神经网络框架时,经常需要使用Pytorch中内置的torchvision.models中的模型作为特征提取的Backbone,然后再在这个基础上进行更加复杂的网络搭建。 在这里以使用Pytorch中内置的Resnet18为例,如何作为Backbone层进行使用,看以下示…
- Pytorch
- 2023-01-06
TensorRT – workspace的作用
1 TensorRT中workspace的作用 TensorRT提供了workspace作为每层网络执行时的临时存储空间,该空间时共享的,目的是为了减少显存占用。 在使用TensorRT SDK时,在构建Builder时通过调用getWorkspaceSize()来确定workspace的需求,如果…
- TensorRT
- 2022-12-21
Pytorch – torch.topk参数详解与使用
1 torch.topk 形式 torch.topk(input, k, dim=None, largest=True, sorted=True, *, out=None) 或者 Tensor.topk(k, dim=None, largest=True, sorted=True) 功能 返回输入张…
- Pytorch
- 2022-12-15
TensorRT – Using PreviewFeaturekFASTER_DYNAMIC_SHAPES_0805 can help improve performance and resolve potential functional issues
1 问题 今天使用TensorRT 8.5的trtexec工具转换具有动态维度输入的onnx模型时出现了以下的提示信息 Using PreviewFeaturekFASTER_DYNAMIC_SHAPES_0805 can help improve performance and resolve p…
- TensorRT
- 2022-12-15
TensorRT – 使用C++ SDK出现无法解析的外部符号 “class sample::Logger sample::gLogger”错误
1 使用TensorRT C++ SDK编译出现无法解析的外部符号 "class sample::Logger sample::gLogger" 错误 今天在使用TensorRT C++ SDK写模型部署代码的时候, 在代码中有这样一行代码 initLibNvInferPlugins(&sa…
- TensorRT
- 2022-12-12
TensorRT – 使用Polygraphy工具比较onnx模型和TensorRT模型的推理结果是否一致
1 比较onnx模型和TensorRT模型推理结果的必要性 在进行模型部署的时候,如果我们使用TensorRT对模型加速,那么一般都会采用深度学习框架>onnx模型>TensorRT模型的技术路线,在onnx模型转换到TensorRT模型的过程中有可能某些算子会丢失精度,从而影响后续的模型推理结果,…
- TensorRT
- 2022-12-12
Pytorch – 梯度累积/梯度累加trick,在显存有限的情况下使用更大batch_size训练模型
1 batch size对模型训练的影响 小的batch size引入的数据集的数据量较小,随机性越大,在部分情况下模型难以收敛,影响模型训练效率。 而在合理的范围内,越大的batch size本质上是对训练数据更优的一种选择,能够是梯度下降的方向更加准确,震荡越小,有利于收敛的稳定性。 但是如果b…
- Pytorch
- 2022-12-09
Pytorch – reshape和view的用法和区别
1 torch.reshape 形式 torch.reshape(input, shape) 功能 返回一个与输入张量数据和元素数相同的,但是形状为shape的张量。 参数 input:需要被重新定义形状的输入张量 shape:新的形状 使用示例 import torch if __name__ =…
- Pytorch
- 2022-12-09
Pytorch – torch.cat函数
1 torch.cat函数 形式 torch.cat(tensors, dim=0, *, out=None) 功能 在指定的维度连接给定序列的张量,所有张量必须具有相同的形状(连接维度除外)或者为空。 参数 tensors:相同形状的张量序列,非空张量必须具有相同形状(连接维度除外) dim:张量…
- Pytorch
- 2022-12-08
Pytorch – torch.unsqueeze和torch.squeeze函数
Pytorch中,unsqueeze和squeeze为两个对应的反操作函数,其中,unsqueeze主要用于为输入张量升维,squeeze主要用于给张量降维,两者的具体用法可以参考下文。 1 unsqueeze 形式 torch.unsqueeze(input, dim) 或者 Tensor.uns…
- Pytorch
- 2022-12-08
Pytorch – 创建随机Tensor的常用方法
本文对Pytorch中创建随机数Tensor的一些常用方法进行总结,主要包括 randn randn_like rand rand_like randint randint_like 1 torch.randn 形式 torch.randn(*size, *, out=None, dtype=Non…
- Pytorch
- 2022-12-08