サイズがtorch.Size([4, 3, 966, 1296])
のpytorch
テンソルがあります
次のコードを使用して、numpy
配列に変換します。
imgs = imgs.numpy()[:, ::-1, :, :]
誰でもこのコードが何をしているのか説明できますか?
変換したいテンソルには4つの次元があります。
[:, ::-1, :, :]
:
は、最初の次元をそのままコピーして変換する必要があることを意味します。3番目と4番目の次元についても同様です。
::-1
は、2番目の軸については軸を逆にすることを意味します
.detach()も使用する必要があると思います。 TensorをCUDAとGPUを使用するColabのnumpy配列に変換する必要がありました。私は次のようにしました:
# this is just my embedding matrix which is a Torch tensor object
embedding = learn.model.u_weight
embedding_list = list(range(0, 64382))
input = torch.cuda.LongTensor(embedding_list)
tensor_array = embedding(input)
# the output of the line bwlow is a numpy array
tensor_array.cpu().detach().numpy()
一部の卒業生が変数に添付されている場合、この構文を使用できます。
y=torch.Tensor.cpu(x).detach().numpy()[:,:,:,-1]