torch
One橙序猿
我是一只爱搬砖的橙序猿!
展开
-
为什么卷积层不加bias
分子和分母中的bias完全不起作用,再加上BN本身有beta存在,完全不需要卷积的bias了。因为BN的公式求解过程中会将bias抵消吊,而且BN本身x*γ+β 这里β可以等价bias了。:x-mean 变成 (x+bias) - (mean + bias), 那就等于没加一样。这里面的Xi-X 和 分子 x-mean是同样的道理依然会导致bias相互抵消吊。那为什么跟了BN就不用加bias了呢?说归说,我们自己跑下代码验证一下。原创 2022-10-09 09:30:03 · 1978 阅读 · 1 评论 -
Batch Normalization代码分解
batch normalization原创 2022-10-08 14:00:24 · 548 阅读 · 0 评论 -
torch.nn.Conv2d()参数groups
nn.Conv2d, groups原创 2022-08-03 16:12:03 · 636 阅读 · 0 评论 -
Docker部署AI算法教程
docker上部署算法除了一些推理框架外,有时候会自己用torch推理加上一些web应用,下面写下自己用的一套方法。Docker+cuda10.1+miniconda3+torch1.7.1docker要求19.03以上才支持cuda1.安装docker,我这里使用的centos7$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2$ sudo yum-config-manager --add-repo ht原创 2021-11-05 15:39:36 · 1846 阅读 · 0 评论 -
TensorRT与Pytorch Tensor交互方法
TensorRT在执行模型时使用context.execute_async方法,这时候需要参数bindings。bindings:一个是输入,一个是输出,这个参数都是cuda中的数据,所以我们可以直接传torch Tensor的指针即可。self.inputs = torch.zeros_like(self.demo_in)self.out = torch.zeros_like(self.demo_out)context.execute_async(batch_size=self.bat..原创 2021-10-13 16:54:06 · 806 阅读 · 1 评论 -
Torchvision.ops.batched_nms() 和 nms()区别
区别:batched_nms():根据每个类别进行过滤,只对同一种类别进行计算IOU和阈值过滤。nms():不区分类别对所有bbox进行过滤。如果有不同类别的bbox重叠的话会导致被过滤掉并不会分开计算。Torchvision.ops.nms():参数:boxes: Tensor, 预测框scores: Tensor, 预测置信度iou_threshold: float, IOU阈值Torchvision.ops.batched_nm...原创 2021-08-05 14:56:54 · 9196 阅读 · 0 评论