剖析 | torch.nn.functional.softmax维度详解
生活随笔
收集整理的這篇文章主要介紹了
剖析 | torch.nn.functional.softmax维度详解
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
寫代碼,看代碼都要心中有數(shù),輸入是什么,輸出是什么,結(jié)果是如何計(jì)算出來的。
一維數(shù)據(jù):
# -*- coding: utf-8 -*- import torch import numpy as np import torch.nn.functional as Fa = [1, 2, 3] a = torch.from_numpy(np.array(a, dtype=np.float)) b1 = F.softmax(a, dim=0) b2 = F.softmax(a, dim=-1) print(b1) print(b2)運(yùn)行結(jié)果:
?dim=0,列和為1,列的和為1,由于只有一個(gè)維度,行在規(guī)模上是沒有的,雖然眼睛看起來是1行3個(gè)數(shù),但是實(shí)際上只有一個(gè)列維度是3,所以是列和為1,一共3列,那么計(jì)算出來的三個(gè)數(shù)的和應(yīng)該是1,運(yùn)行結(jié)果中可以看出,確實(shí)是,dim=-1和dim=0的結(jié)果一致,是循環(huán)所致。
二維數(shù)據(jù):
# -*- coding: utf-8 -*- import torch import numpy as np import torch.nn.functional as Fa = [[1, 2, 3],[4,5,6]] a = torch.from_numpy(np.array(a, dtype=np.float)) b1 = F.softmax(a, dim=0) b2 = F.softmax(a, dim=1) b3 = F.softmax(a, dim=-1) print(b1) print(b2) print(b3)運(yùn)行結(jié)果:
?
dim=-1和dim=1的結(jié)果一樣,循環(huán)所致。?
三維數(shù)據(jù):
# -*- coding: utf-8 -*- import torch import numpy as np import torch.nn.functional as Fa = [[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [1, 2, 4]]] a = torch.from_numpy(np.array(a, dtype=np.float)) b1 = F.softmax(a, dim=0) b2 = F.softmax(a, dim=1) b3 = F.softmax(a, dim=2) b4 = F.softmax(a, dim=-1) print(b1) print(b2) print(b3) print(b4)運(yùn)行結(jié)果:
dim=-1和dim=2的結(jié)果一樣,原因嘛,循環(huán)所致。
總結(jié)
以上是生活随笔為你收集整理的剖析 | torch.nn.functional.softmax维度详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PyTorch | Tensor、Num
- 下一篇: 折腾 | pytoch、cuda版本问题