Tensor型の2次元配列を1次元に変えたい!!
今日やっていたことの中でTensor型の二次元配列を一次元に変えたいということで、実際にはオセロの盤面の8x8の二次元配列を1x128(2プレイヤーのそれぞれの盤面)の一次元配列に変えることでした。
今はまだ8x8を1x64の配列にすることにしかしてないのですが、pytorchのTensorを使って
board_1 = torch.Tensor([
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 1, -1, 0, 0, 0],
[0, 0, 0, -1, 1, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0]
])
board = torch.flatten(board_1, start_dim = 0)
でできました。
torch.flattenは第一引数に変えたい配列、第二引数にstart_dim=変更後の配列、です。
boardをプリントすると
tensor([ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1.,
-1., 0., 0., 0., 0., 0., 0., -1., 1., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0.])
こんな感じ
次回やることはこの 配列の-1の部分を0にすることとこれを二倍にし、反転させた配列を作ることです。
読んでくださってありがとうございました