def test_deformable_conv(): if not is_cuda_available(): return conv = M.DeformableConv2d(3, 32, 3) @trace(symbolic=True, capture_as_const=True) def fwd(data, offset, mask): return conv(data, offset, mask) data = Tensor(np.random.random((1, 3, 32, 32))) offset = Tensor(np.ones((32, 3 * 3 * 2, 30, 30)).astype("int32") * 5) mask = Tensor(np.ones((32, 3 * 3, 30, 30)).astype("int32")) out = fwd(data, offset, mask) check_pygraph_dump(fwd, [data, offset, mask], [out])
def test_batch_convbias(): if is_cuda_available(): return @trace(symbolic=True, capture_as_const=True) def fwd(inp, weight, bias): return F.quantized.batch_conv_bias_activation( inp, weight, bias, dtype=dtype.qint8(scale=1.0), nonlinear_mode="relu" ) inp = Tensor(np.random.random((1, 3, 64, 64)), dtype=dtype.qint8(scale=1.0)) weight = Tensor(np.random.random((1, 32, 3, 3, 3)), dtype=dtype.qint8(scale=1.0)) bias = Tensor(np.random.random((1, 32, 1, 1)), dtype=dtype.qint32(scale=1.0)) result = fwd(inp, weight, bias) check_pygraph_dump(fwd, [inp, weight, bias], [result])