How to use torch.nn.ConvTranspose1d to take the derivative of torch.nn.Conv1d function

pytorch 1.0/ WINDOWS /python3.6/cpu
torch.nn.ConvTranspose1d(in_channels, out_channels, kernel_size, stride=1, padding=0, output_padding=0, groups=1, bias=True, dilation=1)
how to filling parameters to take the derivative of torch.nn.Conv1d function?

import torch

import torch.nn.functional as F
b=[[[5.,2.]],[[3.,2.]]]
c=[[[2.,4.]],[[6.,3.]]]
aa = torch.tensor(b,requires_grad=True)
bb = torch.tensor(c,requires_grad=True)
output =F.conv1d(aa,bb,padding=3,stride=2)
dd=F.conv_transpose1d(output,aa,padding=3,stride=2,dilation=1)
print(dd,dd.size())
z=torch.sum(output)
z.backward()
print(aa.grad,aa.grad.size())

tensor([[[70., 56.]],

[[42., 56.]]], grad_fn=<SqueezeBackward1>) torch.Size([2, 1, 2])

tensor([[[7., 8.]],

[[7., 8.]]]) torch.Size([2, 1, 2])

how to filling parameters so that the dd result is aa.grad?