torch.Tensor()
は、テンソル構築中にdtype
が指定されていない場合、torch.FloatTensor()
の単なるエイリアスです。これは、テンソルのデフォルトのタイプです。
numpyユーザー向けのメモ から、torch.Tensor()
はnumpy.empty()
のドロップイン置換であるようです
つまり、本質的にはtorch.FloatTensor()
とtorch.empty()
は、dtype torch.float32
のガベージ値で満たされたテンソルを返すのと同じ働きをします。以下は小さな実行です:
In [87]: torch.FloatTensor(2, 3)
Out[87]:
tensor([[-1.0049e+08, 4.5688e-41, -8.9389e-38],
[ 3.0638e-41, 4.4842e-44, 0.0000e+00]])
In [88]: torch.FloatTensor(2, 3)
Out[88]:
tensor([[-1.0049e+08, 4.5688e-41, -1.6512e-38],
[ 3.0638e-41, 4.4842e-44, 0.0000e+00]])
In [89]: torch.empty(2, 3)
Out[89]:
tensor([[-1.0049e+08, 4.5688e-41, -9.0400e-38],
[ 3.0638e-41, 4.4842e-44, 0.0000e+00]])
In [90]: torch.empty(2, 3)
Out[90]:
tensor([[-1.0049e+08, 4.5688e-41, -9.2852e-38],
[ 3.0638e-41, 4.4842e-44, 0.0000e+00]])
Quick Answer:torch.empty()は、任意のデータ型、torch.Tensorでテンソルを作成します()は、タイプtorch.FloatTensorのテンソルのみを作成します。したがって、torch.Tensor()はtorch.empty()の特殊なケースです
詳細な回答:
torch.empty()は、初期化されていないデータで満たされたテンソルを返します。引数を使用して、テンソルの形状、出力テンソル、データ型を指定できます... (tensor.empty()のドキュメントを参照)
これは、float、int ...のテンソルを作成できることを意味します。データタイプが指定されていない場合、選択されたものがデフォルトtorch.Tensorタイプ(これはデフォルトではtorch.FloatTensorであり、 torch.set_default_tensor_type() )を使用して変更できます
torch.Tensor()は、データ型がtorch.FloatTensorであるtorch.empty()の特別なケースです。