- 1. 概要
- 2. 代入
1. 概要
急に、わたしがやりたいことの話になります。
本ページは、下記のサイトを参考にさせていただきました。
「PyTorch の Tensor の要素の値を取得: item()」
2. 代入
一定の値が入っている「tensor」があって。
それを一定の形式の次元・個数にしたいのですが・・・。
「torch.nn.functional.interpolate」を使っちゃうと、大きさは思い通りになるのですが、必要としない値になっちゃう。
あいているところは、0 でいいんだな。
で、およそこういうソースを書いてみました。
import os
import torch
x = torch.tensor([[[ 0.0, 1.0 ], [ 2.0, 3.0 ], [ 4.0, 5.0 ]]])
nop, sizei, sizej = x.shape
print(x.shape)
print(x, os.linesep)
y = torch.zeros(1, 4, 4)
for i in range(sizei):
for j in range(sizej):
y[0, i, j] = x[0, i, j]
print(y.shape)
print(y)
実行すると、下記の出力結果が得られます。
torch.Size([1, 3, 2])
tensor([[[0., 1.],
[2., 3.],
[4., 5.]]])
torch.Size([1, 4, 4])
tensor([[[0., 1., 0., 0.],
[2., 3., 0., 0.],
[4., 5., 0., 0.],
[0., 0., 0., 0.]]])
思い通りになったじょ。
もっとスマートなやり方があると思うのですが、意図通りの動かし方は、今んとここれしかできないのだ。
|