RuntimeError: Can‘t call numpy() on Variable that requires grad. Use var.detach().numpy()

将PyTorch Tensor类型的变量转换成numpy时报错。

出现这个现象的原因是:待转换类型的PyTorch Tensor变量带有梯度,直接将其转换为numpy数据将破坏计算图,因此numpy拒绝进行数据转换。如果自己在转换数据时不需要保留梯度信息,可以在变量转换

tensor1.numpy()

改为

tensor1.detach().numpy()

之前添加detach()调用。

你可能感兴趣的:(pytorch相关,pytorch)