pytochによくあるTensorタイプの詳細
Tensorには異なるデータタイプがあります。それぞれのタイプにはCPUとGPUバージョン(HalfTensorを除く)があります。デフォルトのTensorはFloat Tensorで、toch.set_を通過できます。default_tensor_typeはデフォルトのtensorタイプを修正します(デフォルトのタイプがGPU tenssorであれば、すべての操作はGPUで行います)。
Tensorのタイプは分析メモリの占有に役立ちます。例えば、一つのsizeは(1000,1000,000)Float Tensorで、それは1000*1000*1000=10^9の要素があります。各要素は32 bit/8=4 Byteメモリを占有します。HalfTensorはGPU版のために設計されたもので、同じ元素の個数はHalfTensorの半分しか現存占有していないので、GPUの現存不足を大幅に緩和できますが、HalfTensorが表す数値の大きさと精度が限られているため、オーバーフローなどの問題が発生する可能性があります。
データの種類
CPU Tensor
GPU Tensor
32 bit浮動小数点
toch.Float Tensor
toch.cudia.Float Tensor
64 bit浮動小数点
toch.Double Tensor
touch.cuda.Double Tensor
16 bit半精度浮動小数点
N/A
toch.cuda.HalfTensor
8 bit符号なし整形(0~255)
toch.ByteTensor
toch.cuda.ByteTensor
8 bit符号整形(-128~127)があります。
toch.Chihard Tensor
touch.cudc.hard Tensor
16 bit符号整形があります。
toch.ShotTensor
toch.cuda.ShotTensor
32 bit符号整形があります。
toch.IntTensor
toch.cuda.IntTensor
64 bit符号整形があります。
toch.LongTensor
toch.cudia LongTensor
各データタイプの間で相互に変換できます。type(new_)type)は一般的なやり方で、float、long、halfなどのショートカットもあります。CPU tensorとGPU tensorの互換は、tenssor.cuaとtenssor.cpuの方法で実現されます。
例えば:
Tensorのタイプは分析メモリの占有に役立ちます。例えば、一つのsizeは(1000,1000,000)Float Tensorで、それは1000*1000*1000=10^9の要素があります。各要素は32 bit/8=4 Byteメモリを占有します。HalfTensorはGPU版のために設計されたもので、同じ元素の個数はHalfTensorの半分しか現存占有していないので、GPUの現存不足を大幅に緩和できますが、HalfTensorが表す数値の大きさと精度が限られているため、オーバーフローなどの問題が発生する可能性があります。
データの種類
CPU Tensor
GPU Tensor
32 bit浮動小数点
toch.Float Tensor
toch.cudia.Float Tensor
64 bit浮動小数点
toch.Double Tensor
touch.cuda.Double Tensor
16 bit半精度浮動小数点
N/A
toch.cuda.HalfTensor
8 bit符号なし整形(0~255)
toch.ByteTensor
toch.cuda.ByteTensor
8 bit符号整形(-128~127)があります。
toch.Chihard Tensor
touch.cudc.hard Tensor
16 bit符号整形があります。
toch.ShotTensor
toch.cuda.ShotTensor
32 bit符号整形があります。
toch.IntTensor
toch.cuda.IntTensor
64 bit符号整形があります。
toch.LongTensor
toch.cudia LongTensor
各データタイプの間で相互に変換できます。type(new_)type)は一般的なやり方で、float、long、halfなどのショートカットもあります。CPU tensorとGPU tensorの互換は、tenssor.cuaとtenssor.cpuの方法で実現されます。
例えば:
# tensor,
torch.set_default_tensor_type('torch.IntTensor')
a=torch.Tensor(2,3)
print(a) #a IntTensor
以上のpytouchでよく見られるTensorのタイプの詳細は小編集が皆さんに提供した内容の全部です。参考にしていただければと思います。よろしくお願いします。