← 开源
chengdazhi

Deformable-Convolution-V2-PyTorch

Deformable ConvNets V2 (DCNv2) in PyTorch

Model DevelopmentArchitectureCuda
在 GitHub 打开
增长势头
+024 小时新增 Star0.0%
1.49k
Star
228
Fork
+-1
本周
2
贡献者
创建于 2018-12-12 · 更新于 2026-10-15 · 今日第 10190 名
主要开发者
chengdazhiakashpalrecha

chengdazhi/Deformable-Convolution-V2-PyTorch 排名第 10,190,有 1,485 个星标。

同类别比较

chengdazhi/Deformable-Convolution-V2-PyTorch 排名第 10,190,此处有 8 个同类条目;patrick-kidger/torchtyping 排名第 10,187。

同类别比较
名称排名指标
pathak22/noreward-rl10,175
语言:
Python
星标数:
1,489
分叉数:
306
简介:
[ICML 2017] TensorFlow code for Curiosity-driven Exploration for Deep Reinforcement Learning
karpathy/reinforcejs10,178
语言:
HTML
星标数:
1,488
分叉数:
358
简介:
Reinforcement Learning Agents in Javascript (Dynamic Programming, Temporal Difference, Deep Q-Learning, Stochastic/Deterministic Policy Gradients)
OpenNMT/OpenNMT-tf10,184
语言:
Python
星标数:
1,486
分叉数:
378
简介:
Neural machine translation and sequence learning using TensorFlow
patrick-kidger/torchtyping10,187
语言:
Python
星标数:
1,486
分叉数:
44
简介:
Type annotations and dynamic checking for a tensor's shape, dtype, names, etc.
Hironsan/anago10,199
语言:
Python
星标数:
1,482
分叉数:
359
简介:
Bidirectional LSTM-CRF and ELMo for Named-Entity Recognition, Part-of-Speech Tagging and so on.
fan-ziqi/rl_sar10,200
语言:
C++
星标数:
1,482
分叉数:
201
简介:
Simulation verification and physical deployment of robot reinforcement learning algorithms, suitable for quadruped robots, wheeled robots, and humanoid robots. "sar" represents "simulation and real"
sb-ai-lab/LightAutoML10,201
语言:
Python
星标数:
1,482
分叉数:
74
简介:
Fast and customizable framework for automatic ML model creation (AutoML)
chainer/chainercv10,202
语言:
Python
星标数:
1,481
分叉数:
291
简介:
ChainerCV: a Library for Deep Learning in Computer Vision
关键参数与规格
关键参数与规格
参数值
语言Cuda
类别Model Development
子类别Architecture
星标数1,485
分叉数228
贡献者2
创建日期2018-12-12
更新日期2026-10-15
1 天星标数0
7 天星标数-1
排名10,190
上次排名18,686
排名变化8,496
7 天星标排名17,130
上次 7 天星标排名17,125
7 天星标排名变化-5
总星标排名8,156
上次总星标排名8,146
总星标排名变化-10
国家China
README 摘录

Deformable-ConvNets-V2 in PyTorch This repo is an implementation of Deformable Convolution V2. Ported from the original MXNet implementation. Refer to mmdetection branch in this repo for a complete framework. Results of DCNv2 based on mmdetection code base can be found at model zoo. Many thanks to mmdetection for their strong and clean framework. Operators in master branch are compatible with pytorch_v0. 0 (implemented by Jiarui Xu), please refer to pytorch_1. Thanks to Kai Chen and other

contributors from mmlab, DCNv2 is now included in the official mmdetection repo based on the master branch of this one. It is now written with the new cpp extension apis and it supports both PyTorch 0. 0, with some minor speed and memory optimization. Results and models can be found at Build See and for example usage. Notice This repo provides the deformable conv layer which can reproduce the results in the Deformable ConvNets v2 paper. The major changes are

as follows: To better handle occasions where sampling locations are outside of the image boundary. The efficiency of processing multiple images in a mini-batch is considerably improved. License This repo is released under MIT license.

常见问题

记录了多少星标和分叉?

chengdazhi/Deformable-Convolution-V2-PyTorch 有 1,485 个星标和 228 个分叉。

仓库排名是多少?

chengdazhi/Deformable-Convolution-V2-PyTorch 排名第 10,190。

记录的语言和类别是什么?

chengdazhi/Deformable-Convolution-V2-PyTorch 有 1,485 个星标,语言为 Cuda,类别为 Model Development。

哪个仓库排名最接近?

chengdazhi/Deformable-Convolution-V2-PyTorch 与 patrick-kidger/torchtyping 比较,后者排名第 10,187,有 1,486 个星标。

README

Deformable-ConvNets-V2 in PyTorch

This repo is an implementation of Deformable Convolution V2. Ported from the original MXNet implementation.

Refer to mmdetection branch in this repo for a complete framework. Results of DCNv2 based on mmdetection code base can be found at model zoo. Many thanks to mmdetection for their strong and clean framework.

Operators in master branch are compatible with pytorch_v0.4.1. For operators on pytorch v1.0.0 (implemented by Jiarui Xu), please refer to pytorch_1.0.0 branch.

Thanks to Kai Chen and other contributors from mmlab, DCNv2 is now included in the official mmdetection repo based on the master branch of this one. It is now written with the new cpp extension apis and it supports both PyTorch 0.4.1 and 1.0, with some minor speed and memory optimization. Results and models can be found at https://github.com/open-mmlab/mmdetection/tree/master/configs/dcn.

Build

sh make.sh

See test.py and test_modulated.py for example usage.

Notice

This repo provides the deformable conv layer which can reproduce the results in the Deformable ConvNets v2 paper. The major changes are as follows:

  • To better handle occasions where sampling locations are outside of the image boundary.

    In the previous operator, if the sampling location is outside of the feature map boundary, its sampled value would be zero. Thus, the gradient with respect to learnable offset would be zero. We found such a scheme may deteriate the performance in ImageNet classification (perhaps because the feature maps are of low resolution). For object detection on COCO, both the previous and the updated operators deliver the same results.

    In the new operator, if the sampling location is within one pixel outside of the feature map boundary, bilinear sampling would also be applied. And gradient with respect to learnable offset can be non zero for such locations. This is implemented by padding zeros (by one row/column) outside of the boundaries of feature maps, and performing bilinear sampling on the padded feature maps.

  • The efficiency of processing multiple images in a mini-batch is considerably improved.

    Both the previous and the updated operators follow the following computation pipeline (illustrated by a 3x3 deformable convolution with input data of NxCxHxW and output data of NxC'xHxW):

    for i in range(N/S):
        step 1 (slicing): slicing the input data at the batch dimension from i*S to (i+1)*S, input (NxCxHxW) -> sliced input (SxCxHxW)
        step 2 (deformable im2col): sliced input (SxCxHxW)+sliced offset (Sx18xHxW) -> column (Cx9xSxHxW)
        step 3 (MatMul&reshape): weight matrix (C'x 9C) * column (9CxSHW) -> temp sliced output (C'xSxHxW) -> sliced output (SxC'xHxW)
        step 4 (Merge): merge sliced output to form the whole output data (NxC'xHxW) 
    end
    

    In the previous operator, S is fixed as 1. In the updated operator, S can be set by the im2col_step parameter, whose default value is min(N, 64). The updated operator is significantly faster than the existing one when the image batch size is large.

License

This repo is released under MIT license.

排名相邻
同类项目