tensorflow.keras.datasets.imdb 中 load_data 函数的解析

       开始接触一点 NLP,一边看 2017 年的 CS224n课程,因为里面的作业似乎是要求用 tensorflow,而 2019 年新的课程是用 pytorch。从 IMDB 数据集开始试试,简单的解析了之后可以看到评论的内容和正负两种评价标签,然后就要对词向量做一个词嵌入(Embedding)的处理,因为网络结构不是用 ANN 而是用循环神经网络 RNN 来做,所以不可以用稀疏向量(Sparse vector)而是要转化成稠密向量(Dense vector)。

      然后原始数据有一些操作,实际上都封装在了这个 load_data 函数,结果就是返回处理好的 train_data,train_labels,test_data,test_labels。所以看一些内置的方法是做了什么处理,也可以启发我们自己在处理时的做法。

def load_data(path='imdb.npz',
              num_words=None,
              skip_top=0,
              maxlen=None,
              seed=113,
              start_char=1,
              oov_char=2,
              index_from=3,
              **kwargs):

         首先是函数定义,有一些参数及默认值的设定。

if 'nb_words' in kwargs:
    logging.warning('The `nb_words` argument in `load_data` '
                    'has been renamed `num_words`.')
    num_words = kwargs.pop('nb_words')
  if kwargs:
    raise TypeError('Unrecognized keyword arguments: ' + str(kwargs))

         如果在传参时还传入了 nb_words,首先提出一个警告,说现在的版本中已经不用这个名字了,然后就把 nb_words 的数值从字典中 pop 出来赋给 num_words,也就是现在版本使用的参数名称。另外,在排除了 nb_words 的存在之后如果字典非空,那么肯定传了多余的没意义的参数,就丢出一个错误。

path = get_file(
    path,
    origin='https://s3.amazo
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值