-
【实验分析】Yelp数据处理
最近可能有几个看效果的实验可能要用到Yelp review的数据,官网(https://www.yelp.com/dataset/documentation/main)下载的数据是原始的数据,我要将它预处理成我要的样子。 数据要求 1. 要得到review的text、user ID和star。 2. 仅保留review条数在REVIEW_NUM(参数可调)以上的user ID。 3. 仅保留符合要求的user ID对应的text、user ID和star。 数据处理 读取数据…
-
【语言特性】keras中TimeDistributed多输入问题
最近实验中使用了层级attention机制,具体代码参考了textClassifier的代码,是用keras实现的,我直接迁移到tf2.0也是很方便。 这个代码中,sentence-level到document-level是通过keras自带的TimeDistributed实现的。TimeDistributed是自动地将相同操作应用于不同的time_step,以达到不同time_step进行相同的计算,并权重共享。 官网中参数介绍如下: * inputs: Input…
-
【语言特性】tf.keras不常见问题汇总
1. tf.keras同样是mse,但是作为loss和metrics的输出结果不一致。 可以参见这个问题。其实就是loss根据Batch算的,而metrics算的是全部的,所以metrics计算的是正确的结果。这个bug我看到在github上面提出来过了,据说已经fix了,但是不知道怎么又在tf2.0中出现了。 2. tf.keras相同模型相同训练集和测试集,相同服务器运行代码,多次的结果对应的…
-
【语言特性】tf.keras多输出和自定义loss
基础Loss tf.keras中自带了很多loss函数,比如回归问题的MSE和分类问题的交叉熵等,通常我们会在model.compile中设置,如下代码所示: model.compile(optimizer='adam', loss='mean_squared_error', metrics=[]) 多个输出,loss计算独立 但是最近做的工作是一个多任务的问题,需要计算多个输出的loss,然后将它们加起来求平均作为最终的Loss,…
-
【基础配置】服务器tensorflow-gpu2.0安装
原来一直用的tensorflow,但是由于它静态图的属性,每次debug都很艰难,要看计算的值都要传出来才能看到,而且要一次搭建成功了才能run。总之说来就是凭着经验和运气在debug,虽然说好像也有一个debug的工具,但是在pycharm上并不可用(或者是我没找到方法)。本来说做完横向就转去学pytorch,实验室似乎除了我和林小可爱就没人用tf了。林海博在此时给我安利了tf2.0,在网上看了一些教程,我也学了两天用它写了个简单的分类的程序,顿时感觉嘤嘤嘤太好用了。本地没有GPU还是跑…
-
【语言特性】Python 常用方法
Dataframe 1. 去掉某个元素为空的一行(以免去停后文本为空) data.dropna(inplace=True) 2. 去掉重复项(但是会导致用range进行遍历的时候在删掉位置报错) data = data.drop_duplicates 3. 遍历 for index, row in data.iterrows(): texts.append(row['text']) labels1.append(row['…
-
【实验分析】GloVe的使用
之前使用的是Word2Vec和一个现成的训练好的词向量,后来补充了一些实验,发现即使都是300维的word embedding,使用word2vec的效果也没有现成的实验结果好。后来看到很多文章用的GloVe的词向量,觉得可以用一下。 理论依据 GloVe是论文Glove: Global vectors for word representation中间提出来的,在写这篇博客的时候我还没看这篇文章,所以这部分过几天看完补上。 实验使用 GloVe的话pycharm安装是不成功的,无论…
-
【实验分析】Evaluation Matrics
因为最近实验歇一阵,所以有时间给我停一下去看一下论文和代码。评估指标的话之前刚来的时候也看过一些,但是那时候也就是看看,也没有写代码,也没有用起来,所以其实后来就忘了,用的时候也就是在用师姐的代码,理解也不够,有时候指标结果不好也说不清为什么。所以现在趁着有机会看一下这些指标。 这里参照了Zhang的论文A review on multi-label learning algorithms和Yang的论文Relevant Emotion Ranking from Text Constr…
-
【实验分析】使用Three.js构建简单城市模型
写这个东西是因为最近要交图形学的大作业了,元旦赶了几天最后写了出来。其实很多都是参考了@mrdoob之前的工作了,所以更多的来说算是一个学习过程。他们具体的代码可以参见这里,演示的效果可以参见这里。我们项目的地址在这里。设计的大体思路我都介绍了一下,有些地方没有贴代码,可以根据github的源码来看。另外使用three.js一定要注意api的更新!官方文档是你的好朋友。 使用手册 程序功能 本程序是基于WebGL和three.js开发的一款模拟城市的程序。程序提供的功能如下: 1.…
-
【实验分析】新浪文本预处理
最近写完模式识别的综述,终于能安安静静坐下来写一段时间的代码,现在的主要工作还是想把师姐的Emotion Detection的Ranking Loss的方法加到LSTM中,虽然怎么加ranking和loss还没有想好。这篇介绍的是文本的数据处理部分。 读取数据 数据这里用的是新浪新闻的数据,一个txt中保存的是一篇新闻对应的信息,包括时间、情感标签(6种)、标题和文本,具体如下。我们需要使用的就是情感标签和文本两个部分。 [url] http://news.sina.com.cn/s/2…