深度学习框架PaddlePdddle学习( 二)

本篇文章将学习paddlepaddle一个sentiment analysis的例子。
这里写图片描述
主要分为几步:
一、下载imdb数据集并进行数据拷贝
运行get_imdb.sh脚本。在虚拟机中用wget方式下载太慢了,我是直接在本机下载后,ftp上传到虚拟机的,稍微修改一下脚本即可。其中imdb是一个著名的互联网电影数据库,这里下载的是Stanford大学提供的数据语料
二、imdb数据集目录结构及说明

  • test
    • neg
      • 0_2.txt
    • pos
      • 1_10.txt
    • labeledBow.feat
    • urls_neg.txt
    • urls_pos.txt
  • train
    • neg
      • 0_3.txt
    • pos
      • 1_10.txt
    • unsup
      • 2_0.txt
    • labeledBow.feat
    • unsupBow.feat
    • urls_neg.txt
    • urls_pos.txt
    • urls_unsup.txt
  • imdb.vocab
  • imdbEr.txt
  • README

数据集说明:
1、总共50000条电影评论及评分语料,25000条用于train训练,25000条用于test测试,属于典型的平衡语料库。
2、imdb.vocab是整个语料的词典,可用于分词,也用于查询单词的id;imdbEr.txt是词典中每个单词的average polarity(类似于TDF之类)。
3、正面pos的评分范围是大于等于7分(总分10分),负面neg的评分范围是小于等于4分。
4、在test和train测试集中,正面pos和负面neg数据各为12500条,数据格式均为文本格式,命名规则为{文件id}_{评分}txt,如:1_10.txt代表id为1的文章,评分是10分。
5、在train测试集中,还有一个未标注的数据集unsup,共50000条,每个文章的评分均是0,此数据集用于非监督学习之用。
6、*.feat文件中存储的是libSVM所需的数据格式,如下:
这里写图片描述
每一行代表一个评论的特征,第一列,如10,代表得分,第二列以后代表特征(词)及其频次,如0:7代表词典(imdb.vocab)中第一个单词(即the)出现了7次。
7、urls_*.txt是评论的url地址,暂时未用到。
8、详细说明,可参看其README文件及paddlepaddle官方文档。

三、数据预处理
这里只用到了标注好的训练和测试数据,运行demo/sentiment/preprocess.sh脚本:

set -e
echo "Start to preprcess..."
data_dir="./data/imdb"
python preprocess.py -i $data_dir
echo "Done."

执行后,会生成一些数据文件:
这里写图片描述
1、dict.txt:在训练数据基础上生成的词典,它与上面imdb的imdb.vocab不一样,这里分词根本没有用到imdb.vocab。
2、labels.list:就两行数据。

neg 0
pos 1

3、test.list和train.list:分别为一行数据。
./data/pre-imdb/test_part_000
./data/pre-imdb/train_part_000

4、test_part_000和train_part_000:标注好的测试和训练数据,其中,训练数据被随机打乱顺序。
这里写图片描述
test_part_000数据
这里写图片描述
train_part_000数据

四、训练数据
运行 demo/sentiment/train.sh:
这里写图片描述
由于是虚拟机单CPU进行训练,每一轮(200个batch)时间较长。每一轮训练完成后,会把模型文件存储到model_output文件夹,如上图。总共跑了七轮,以下是第七轮的log:

I0923 02:12:09.063531  9787 TrainerInternal.cpp:162]  Batch=10 samples=1280 AvgCost=0.000370172 CurrentCost=0.000370172 Eval: classification_error_evaluator=0  CurrentEval: classification_error_evaluator=0 

I0923 02:17:40.628078  9787 TrainerInternal.cpp:162]  Batch=20 samples=2560 AvgCost=0.000381622 CurrentCost=0.000393071 Eval: classification_error_evaluator=0  CurrentEval: classification_error_evaluator=0 

I0923 02:23:12.219902  9787 TrainerInternal.cpp
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值