错误:来自keras.preprocessing.text import base_filter

时间:2017-03-16 17:07:13

标签: python keras

我刚开始使用Keras。刚尝试导入base_filter进行文本预处理。我做了:

from keras.preprocessing.text import base_filter

我收到了错误:

ImportError: cannot import name 'Base_filter'

令人惊讶的是,我进行了谷歌搜索,找不到任何答案。谁知道出了什么问题? base_filter位于keras

非常感谢。

1 个答案:

答案 0 :(得分:4)

我猜这是来自新版Keras(2.0)的错误。此更改是最近的,教程/文档可能不是最新的。

我们之前有(like in the doc)文本预处理函数中filter=参数的默认值是函数“base_filter()”,此函数将包含要删除的特殊字符列表。

在新版本中,正如您在源代码中看到的那样,默认过滤器不再是base_filter()函数,而是直接列表:

def text_to_word_sequence(text,
                          filters='!"#$%&()*+,-./:;<=>?@[\\]^_`{|}~\t\n',
                          lower=True, split=" "):
    """Converts a text to a sequence of word indices.
    # Arguments
        text: Input text (string).
        filters: Sequence of characters to filter out.
        lower: Whether to convert the input to lowercase.
        split: Sentence split marker (string).
    # Returns
        A list of integer word indices.
    """

请参阅full code here

总而言之,doc不是最新的,Keras 2.0中不再存在函数base_filter()。 base_filter过滤的字符只需替换为字符列表:'!"#$%&()*+,-./:;<=>?@[\\]^_ {|}〜\ t \ n \`

我希望这会有所帮助。