Skip to content

亲,DCNv2中有些地方不太明白,有人帮忙解答一下吗? #62

@liyuyuan6969

Description

@liyuyuan6969
// DCNv2.cu
for (int ibatch = 0; ibatch < data.num_; ++ibatch) {
		_T* maskWorkspacePtr = (_T*)workspace + (maskSize + im2colSize) * ibatch;
		_T* im2colWorkspacePtr = (_T*)workspace + (maskSize + im2colSize) * ibatch + maskSize;
                 // 比如我这里的input的是(1,128,175175),om是(1,27,88,88),这里的inputMask指向的是om的(1,18,88,88)后面的9个维度的指针吗?那这里的maskSize不是与inputMask的大小不一样吗?maskSize的大小是127*127*3*3,不太懂这里的sigmod,这里的maskSize不是应该是9*88*88来表示吗?
		_T* inputMask = om.ptr<_T>(ibatch, om.channel_ / 3 * 2);
		ExecuteKernel(maskSize, sigmoidKernel, stream)(inputMask, maskWorkspacePtr, maskSize);

		_T* datainput = data.ptr<_T>(ibatch);
		_T* offset = om.ptr<_T>(ibatch);

		ExecuteKernel(im2colSize, DCNIm2colKernel, stream)(
			datainput, offset, maskWorkspacePtr, data.height_, data.width_, kernel_size, kernel_size, 1, 1, 1, 1, 1, 1, data.channel_, data.num_, data.channel_, deformable_group,
			out.height_, out.width_, im2colWorkspacePtr, im2colSize);

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions