nlp大作业准备(5)

90 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 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

之前讲过的随机置零和空间置零的区别,在这里再提一下:为什么这次要用到空间特定的维度要置零,是因为要排除干扰,因为横向是维度,表示不同的有毒分类等级,这个句子被标记成这样,那么在其他维度就需要置零。