when I use
std::vector<at::Tensor>  dcnv2_forward(
        at::Tensor im,
        at::Tensor weights,
        at::Tensor Offset,
        at::Tensor Mask,
        int64_t num_deformable_group,
        int64_t kernel,
        int64_t pad,
        int64_t stride,
        int64_t dilation,
        bool use_bias,
        at::Tensor bias
        )
{
....
 at::Tensor out = at::mm(weights,
                        col.reshape(col2d_reshape));
...
}

Bug report :
RuntimeError: /opt/conda/conda-bld/pytorch_1532581333611/work/torch/csrc/autograd/variable.h:127: Variable: Assertionis_variable() || !defined()failed: Tensor that was converted to Variable was not actually a Variable
I guess at::mm need Variable input ,  so which function should use to do multiplication？at::mm or something else?