2021/5/31更新
Pytorch nn.Softmax()函数
这个函数的公式是
展开就是:
import torch
import torch.nn as nn
import numpy as np
a = np.array([[0.5, 0.7],[0.8, 0.4]])
b = torch.from_numpy(a)
f = nn.Softmax(dim = 1)
c = f(b)
c
运行示意:
这个函数中用到了一个参数dim,dim=0时:结果的单列元素之和为1;dim=1时:结果的单行元素之和为1。
另一方面,因为这个函数用的是,所以它能够使元素间差距稍微较大的时候,softmax之后的值会拉开非常大的距离,而元素间差距较小时,softmax之后的值之间的距离会很小,很平滑。
当元素间差都不变,都一样时,softmax生成的矩阵就不变。
2021/7/9更新
python3自带的split和re包里的split的区别:
这个函数就是分割字符串的意思,把字符串分割成列表
python3自带的只允许有一个分割符,re包允许有多个分割符,它们一起用[]列表装起来即可。
两种方法都会把 分割符 吞掉。
sentence = "布偶猫超可爱!它有长长的毛,和乖巧的性格。"
#py3 split()
sentence.split("!")
#['布偶猫超可爱','它有长长的毛,和乖巧的性格。']
import re
re.split("[!,。]",sentence)
#['布偶猫超可爱','它有长长的毛','和乖巧的性格']