keras 的 example 文件 imdb_bidirectional_lstm.py 解析

imdb是一个文本情感分析的数据集,通过评论来分析观众对电影是好评还是差评

其网络结构比较简单

________________________________________________________________________________
Layer (type)                        Output Shape                    Param #     
================================================================================
embedding_1 (Embedding)             (None, 100, 128)                2560000     
________________________________________________________________________________
bidirectional_1 (Bidirectional)     (None, 128)                     98816       
________________________________________________________________________________
dropout_1 (Dropout)                 (None, 128)                     0           
________________________________________________________________________________
dense_1 (Dense)                     (None, 1)                       129         
================================================================================
Total params: 2,658,945
Trainable params: 2,658,945
Non-trainable params: 0
________________________________________________________________________________

对imdb数据集稍微分析一下,

通过函数load_data获取到的x_train, y_train,是一堆编号,这个编号不太直接,可以通过下面代码解析出来:

word_index = imdb.get_word_index()

word_index = {k:(v+3) for k,v in word_index.items()}
word_index["<PAD>"] = 0
word_index["<START>"] = 1
word_index["<UNK>"] = 2  # unknown
word_index["<UNUSED>"] = 3

reverse_word_index = dict([(value, key) for (key, value) in word_index.items()])

def decode_review(text):
    return ' '.join([reverse_word_index.get(i, '?') for i in text])

for i in range(10):
    print(decode_review(x_train[i]))
    print(y_train[i])

就可以看到评论的具体内容,而y_train打印出来的是0和1,分别代表差评和好评

x_train和y_train的shape分别为

(25000, 100)
(25000,)

 

——————————————————————————————————

不另开帖子了,把其他几个网络的结构也贴出来备忘:

imdb_cnn_lstm.py的神经网络结构如下:

________________________________________________________________________________
Layer (type)                        Output Shape                    Param #     
================================================================================
embedding_1 (Embedding)             (None, 100, 128)                2560000     
________________________________________________________________________________
dropout_1 (Dropout)                 (None, 100, 128)                0           
________________________________________________________________________________
conv1d_1 (Conv1D)                   (None, 96, 64)                  41024       
________________________________________________________________________________
max_pooling1d_1 (MaxPooling1D)      (None, 24, 64)                  0           
________________________________________________________________________________
lstm_1 (LSTM)                       (None, 70)                      37800       
________________________________________________________________________________
dense_1 (Dense)                     (None, 1)                       71          
________________________________________________________________________________
activation_1 (Activation)           (None, 1)                       0           
================================================================================
Total params: 2,638,895
Trainable params: 2,638,895
Non-trainable params: 0
________________________________________________________________________________

imdb_cnn.py的神经网络结构如下:

____________________________________________________________________________________________________
Layer (type)                                 Output Shape                            Param #        
====================================================================================================
embedding_1 (Embedding)                      (None, 400, 50)                         250000         
____________________________________________________________________________________________________
dropout_1 (Dropout)                          (None, 400, 50)                         0              
____________________________________________________________________________________________________
conv1d_1 (Conv1D)                            (None, 398, 250)                        37750          
____________________________________________________________________________________________________
global_max_pooling1d_1 (GlobalMaxPooling1D)  (None, 250)                             0              
____________________________________________________________________________________________________
dense_1 (Dense)                              (None, 250)                             62750          
____________________________________________________________________________________________________
dropout_2 (Dropout)                          (None, 250)                             0              
____________________________________________________________________________________________________
activation_1 (Activation)                    (None, 250)                             0              
____________________________________________________________________________________________________
dense_2 (Dense)                              (None, 1)                               251            
____________________________________________________________________________________________________
activation_2 (Activation)                    (None, 1)                               0              
====================================================================================================
Total params: 350,751
Trainable params: 350,751
Non-trainable params: 0
____________________________________________________________________________________________________

 

imdb_lstm.py的神经网络结构为:

_________________________________________________________________
Layer (type)                 Output Shape              Param #
=================================================================
embedding_1 (Embedding)      (None, None, 128)         2560000
_________________________________________________________________
lstm_1 (LSTM)                (None, 128)               131584
_________________________________________________________________
dense_1 (Dense)              (None, 1)                 129
=================================================================
Total params: 2,691,713
Trainable params: 2,691,713
Non-trainable params: 0
_________________________________________________________________

——————————————————————

总目录

keras的example文件解析

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
addition_rnn.py 执行序列学习以执行两个数字(作为字符串)的添加。 antirectifier.py 演示如何为Keras编写自定义图层。 babi_memnn.py 在bAbI数据集上训练一个内存网络以进行阅读理解。 babi_rnn.py 在bAbI数据集上训练一个双支循环网络,以便阅读理解。 cifar10_cnn.py 在CIFAR10小图像数据集上训练一个简单的深CNN。 conv_filter_visualization.py 通过输入空间的渐变上升可视化VGG16的过滤器。 conv_lstm.py 演示使用卷积LSTM网络。 deep_dream.py 深深的梦想在克拉斯。 image_ocr.py 训练一个卷积堆叠,后跟一个循环堆栈和一个CTC logloss函数来执行光学字符识别(OCR)。 imdb_bidirectional_lstm.pyIMDB情绪分类任务上训练双向LSTMimdb_cnn.py 演示使用Convolution1D进行文本分类。 imdb_cnn_lstm.pyIMDB情绪分类任务上训练一个卷积堆栈,后跟一个循环堆栈网络。 imdb_fasttext.pyIMDB情绪分类任务上训练一个FastText模型。 imdb_lstm.pyIMDB情绪分类任务上训练一个LSTMlstm_benchmark.py 比较IMDB情绪分类任务上不同的LSTM实现。 lstm_text_generation.py 生成尼采文字的文字。 mnist_acgan.py 在MNIST数据集上实现AC-GAN(辅助分类器GAN) mnist_cnn.py 在MNIST数据集上训练一个简单的convnet。 mnist_hierarchical_rnn.py 训练一个分级RNN(HRNN)来分类MNIST数字。 mnist_irnn.py Le等人在“以简单的方式初始化整流线性单元的反复网络”再现具有逐像素连续MNIST的IRNN实验。 mnist_mlp.py 在MNIST数据集上训练一个简单的深层多层感知器。 mnist_net2net.py 在“Net2Net:通过知识转移加速学习”再现带有MNIST的Net2Net实验。 mnist_siamese_graph.py 从MNIST数据集的一对数字上训练暹罗多层感知器。 mnist_sklearn_wrapper.py 演示如何使用sklearn包装器。 mnist_swwae.py 列出了一个堆栈,其AutoEncoder在MNIST数据集上的剩余块上构建。 mnist_transfer_cnn.py 转移学习玩具的例子。 neural_doodle.py 神经涂鸦。 neural_style_transfer.py 神经样式转移。 pretrained_word_embeddings.py 将预训练的词嵌入(GloVe embeddings)加载到冻结的Keras嵌入层,并使用它在20个新闻组数据集上训练文本分类模型。 reuters_mlp.py 在路透社newswire主题分类任务上训练并评估一个简单的MLP。 stateful_lstm.py 演示如何使用有状态的RNN有效地建模长序列。 variational_autoencoder.py 演示如何构建变体自动编码器。 variational_autoencoder_deconv.py 演示如何使用反褶积层使用Keras构建变体自动编码器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值