tensorとnumpyの相互変換,および変換の原因
なぜ互いに変換するのか:
1.tensorを操作するには、まずSessionを起動する必要があります.そうしないと、tensor定数のようなtensorに値を再割り当てたり、判断操作をしたりすることはできません.numpy配列に変換すれば処理できます.次のウィジェットでは、tensorをnumpy配列に変換し、tensorに再復元する方法について説明します.
2.TorchのTensorとnumpyのarrayはストレージスペースを共有し、1つを変更すると別の1つも変更されます.
CUDA tensor形式のデータをnumpyに変更する場合は、cpu float-tensorに変換してからnumpy形式に移行する必要があります.
参考1:https://blog.csdn.net/ljs_a/article/details/78758116
参考2:https://blog.csdn.net/u012436149/article/details/54627597
参考3:https://blog.csdn.net/weixin_39449466/article/details/80410314
1.tensorを操作するには、まずSessionを起動する必要があります.そうしないと、tensor定数のようなtensorに値を再割り当てたり、判断操作をしたりすることはできません.numpy配列に変換すれば処理できます.次のウィジェットでは、tensorをnumpy配列に変換し、tensorに再復元する方法について説明します.
2.TorchのTensorとnumpyのarrayはストレージスペースを共有し、1つを変更すると別の1つも変更されます.
# convert Tensor x of torch to array y of numpy:
y = x.numpy();
# convert array x of numpy to Tensor y of torch:
y = torch.from_numpy(x)
# Tensor, CUDA Tensor GPU
CUDA tensor形式のデータをnumpyに変更する場合は、cpu float-tensorに変換してからnumpy形式に移行する必要があります.
x_np = x.data.numpy()
# :
x_np = x.data.cpu().numpy()
参考1:https://blog.csdn.net/ljs_a/article/details/78758116
参考2:https://blog.csdn.net/u012436149/article/details/54627597
参考3:https://blog.csdn.net/weixin_39449466/article/details/80410314