1. Numpy
1.1 np.hstack & np.vstack
- np.hstack: horizontal,横向组合数组,往右排
- np.vstack: vertical,纵向组合数组,往下排
numpy中的hstack()、vstack()、stack()、concatenate()函数详解 - 云+社区 - 腾讯云
1.2 np.random
提供了各种随机数的函数,涵盖整型、浮点型、指定值域、多维随机。详见:
- 有些函数无参数使用是具有相同功能的
- np.random.random()和np.random.uniform()都可以返回0-1的随机数。
- np.random.choice()和np.random,randint()也有类似功能
- 关于可以指定size的函数,每一次随机之间是相互独立的,也就是随机出来的多维向量可能有重复的出现。
2. Pytorch
API链接:PyTorch documentation — PyTorch 1.11.0 documentation
1.1 torch.max()
torch.max()用法_西电小猪猪的博客-CSDN博客_torch.max
max既可以返回最大值,也能返回索引,对于高维数组是可以指定搜索维度的。dim = 0 表示按列求最大值,并返回最大值的索引;dim = 1 表示按行求最大值,并返回最大值的索引。
tensor.max用法类似,只不过不再需要输入tensor,而是直接调用即可。
1.2 unsqueeze()
升维运算,因为torch里单取一行一列一种操作会把tensor搞成1维的,为了和其他tensor同维度所以需要升维。
pytorch函数unsqueeze函数的理解_ljwwjl的博客-CSDN博客_unsqueeze函数
1.3 zero_grad()
每次计算中梯度是会累积的,所以常规做法是每次都要清一次梯度,然后通过loss重算一次:
机器学习9:关于pytorch中的zero_grad()函数_小娜美要努力努力的博客-CSDN博客_pytorch zero_grad
1.4 Categorial
专门用于做分布(distribution的相关操作)以及随机action的
probs = self.net(state)
m = Categorical(probs)
action = m.sample()