meshgrid【torch】
与えるベクトルの型はtensor型に指定されている。
今後、引数 indexing が必須となるようだ。
code:p1.py
import torch as pt
def func(x, y, z):
return x**2 + y*z
XX, YY = pt.meshgrid(x, y)
print('# XX:\n', XX)
print('# YY:\n', YY)
'''
# YY:
'''
引数 indexing は、生成されるテンソルの次元サイズを指定する。
ij の場合、動作はnumpy版と同じ。
xyの場合、与えた引数ベクトルサイズの順になる。
code:p.py
import torch as pt
def func(x, y, z):
return x**2 + y*z
XX1, YY1, ZZ1 = pt.meshgrid(x, y, z, indexing='ij')
f1 = func(XX1, YY1, ZZ1)
print(f1.shape)
XX2, YY2, ZZ2 = pt.meshgrid(x, y, z, indexing='xy')
f2 = func(XX2, YY2, ZZ2)
print(f2.shape)
'''
torch.Size(2, 1, 3) <--- 'ij'だと y, z, x の順、numpy版と同じ torch.Size(1, 2, 3) <--- 'xy'だと x, y, z の順 '''