Pytorch 张量可以';不要用粗体字签名(2)

Pytorch 张量可以';不要用粗体字签名(2),pytorch,autograd,Pytorch,Autograd,rho和mu的大小是[16,99,5],temp_time的大小是[16,99100],我想计算for循环中所示的所有_基的值,我对这些张量进行切片、未求和变形,以确保它们的尺寸一致,但最后一行中有一个错误: 按位\u xor():不带out=。。。参数不支持自动微分,但其中一个参数需要梯度。 文件“…”,第47行,在计算中为无偏积分 全部基础[:,:,i]=全部基础[:,:,i]+(单位时间的切片*单位时间的切片*单位时间的切片^(单位时间的切片-1)) 我不知道如何解决这个问题。你能给我一些

rho和mu的大小是[16,99,5],temp_time的大小是[16,99100],我想计算for循环中所示的所有_基的值,我对这些张量进行切片、未求和变形,以确保它们的尺寸一致,但最后一行中有一个错误:

按位\u xor():不带out=。。。参数不支持自动微分,但其中一个参数需要梯度。

文件“…”,第47行,在计算中为无偏积分 全部基础[:,:,i]=全部基础[:,:,i]+(单位时间的切片*单位时间的切片*单位时间的切片^(单位时间的切片-1))


我不知道如何解决这个问题。你能给我一些帮助吗?非常感谢。

这是否回答了您的问题?不确定您是想在:temp\u time^(ρ-1的切片)使用位异或还是功率。如果你的意思是权力的话,也许就用**来代替^。非常感谢你帮助我,尽管我问了这个天真的问题。。。
rho = base[0][:,1:,:]
mu = base[1][:,1:,:]
diff_time = (time[:, 1:] - time[:, :-1]) * non_pad_mask[:, 1:]
temp_time = diff_time.unsqueeze(2) * \
           torch.rand([*diff_time.size(), num_samples], device=data.device) 
temp_time /= (time[:, :-1] +1).unsqueeze(2) 
all_base = torch.zeros(rho.size())
for i in range(rho.size()[2]):
    slice_of_mu = mu.clone()[:,:,i]
    slice_of_mu = slice_of_mu.unsqueeze(2)
    slice_of_rho = rho.clone()[:,:,i]
    slice_of_rho = slice_of_rho.unsqueeze(2)
    all_base[:,:,i] = all_base[:,:,i] + ( slice_of_mu * slice_of_rho * temp_time ^ ( slice_of_rho - 1 ) )