首页 > 其他 > 详细

4-3日学习笔记

时间:2020-04-04 00:01:33      阅读:105      评论:0      收藏:0      [点我收藏+]

1.接bert的pooled_output输出

https://cloud.tencent.com/developer/article/1588634 这里面提到是不是那个encoded_layers输出,而是第二项输出,但我之前接LSTM都是直接的第一个输出,也就是每个单词的输出,难道就是只接pooled_output效果会更好吗?

但是我又觉得,如果是这样的话,那么lstm的一个参数seq_length就全部为1吗?那这样就是说time_step为1?这样真的能够学的有效吗? 

我还是不太明白,先搁置https://github.com/bentrevett/pytorch-sentiment-analysis/blob/master/6%20-%20Transformers%20for%20Sentiment%20Analysis.ipynb ,这里面给的教程明明是使用的第0个输出,把它当作了bert的emb,然后输入进GRU,所以使用encoded_layers看起来并没有什么毛病?

 

2.pytest包

python中可以用来测试的包?算了,以后再说,现在用不到。

3.for((i=0;i<5;i++));  

https://www.sololearn.com/Discuss/1725255/why-does-this-exist-for-int-i-0-i-5-i

This kind of loop can be use to create a delay / pause in you program...

主要就是delay的作用。

我又知道了,在shell脚本中,它是进行for循环的意思。。。

4.gradient_accumulation_steps

 

 

5.dataframe.fillna(inplace)参数

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.fillna.html 这里是说,

技术分享图片

 

如果在填充时设置为True的话,那么会改变其他非copy的切片列,这个我不太明白,如果是之前的切片,那就会受到影响?那么如果是fillna之后的切片会受到影响吗?

import pandas as pd
import numpy as np
df = pd.DataFrame([[np.nan, 2, np.nan, 0],
                   [3, 4, np.nan, 1],
                   [np.nan, np.nan, np.nan, 5],
                   [np.nan, 3, np.nan, 4]],
                  columns=list(ABCD))
df1=df.iloc[2]
df=df.fillna(缺失)
df2=df.iloc[2]
print(df1)
print(df2)

#输出:
A    NaN
B    NaN
C    NaN
D    5.0
Name: 2, dtype: float64
A    缺失
B    缺失
C    缺失
D     5
Name: 2, dtype: object

 

可以发现,之前的切片是不会受到影响的,即df1,之后的切片会随之改变即df2,那么fillna时设置inplace=True,结果如下:

 

4-3日学习笔记

原文:https://www.cnblogs.com/BlueBlueSea/p/12629830.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!