开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第5天,点击查看活动详情
一.Collator
1.percentile
百分位数,是统计数据中使用的度量,指一组观测值中给定的观测值百分比低于该值的值。
a = [1,1,1,2,2]
print(np.percentile(a,60))
#2
2.zip
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
3.hstack
堆叠数组,hstack(tup) ,参数tup可以是元组,列表,或者numpy数组,返回结果为numpy的数组。看下面代码具体理解:
import numpy as np
a=[1,2,3]
b=[4,5,6]
print(np.hstack((a,b)))
输出:[1 2 3 4 5 6 ]
import numpy as np
a=[[1],[2],[3]]
b=[[1],[2],[3]]
c=[[1],[2],[3]]
d=[[1],[2],[3]]
print(np.hstack((a,b,c,d)))
输出:
[[1 1 1 1]
[2 2 2 2]
[3 3 3 3]]
二.sigmoid(x)
构建lstm的cell里具体的隐藏神经元个数
三.train_model
1.torch.optim.Adam(param_lrs,lr=lr)
Adam本质上是带有动量项的RMSprop,它利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率。它的优点主要在于经过偏置校正后,每一次迭代学习率都有个确定范围,使得参数比较平稳。
params(iterable):可用于迭代优化的参数或者定义参数组的dicts。
lr (float, optional) :学习率(默认: 1e-3)
2.torch.optim.lr_scheduler.LambdaLR(optimizer, lambda epoch: 0.6 ** epoch)
- optimizer (Optimizer):要更改学习率的优化
- lr_lambda(function or list):可以为一个lambda函数,也可以传入列表
3..detach().cpu().numpy())
- detach(): 返回一个新的Tensor,但返回的结果是没有梯度的。
- cpu():把gpu上的数据转到cpu上。
- numpy():将tensor格式转为numpy
之前讲过的随机置零和空间置零的区别,在这里再提一下:为什么这次要用到空间特定的维度要置零,是因为要排除干扰,因为横向是维度,表示不同的有毒分类等级,这个句子被标记成这样,那么在其他维度就需要置零。