You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Keras时遇AttributeError:keras.layers无TextVectorization属性

问题原因

你的环境中同时安装了独立版Keras 3.1.1和TensorFlow 2.16.1,两者的keras命名空间存在冲突:

  • 执行import keras时,Python可能优先导入TensorFlow内置的keras模块(而非独立Keras),导致API结构不匹配:
    1. TensorFlow内置的keras.layers未直接暴露TextVectorization(需通过tf.keras.layers.TextVectorization访问);
    2. TensorFlow的keras模块没有__version__属性,版本信息需通过tf.keras.__version__获取。
解决方案

选择以下两种方案之一,彻底避免命名空间冲突:

方案一:仅使用TensorFlow内置的Keras(推荐)

TensorFlow 2.16+已内置Keras 3的全部功能,无需单独安装独立Keras:

  1. 卸载冲突包:
    pip uninstall -y keras tensorflow
    
  2. 重新安装指定版本的TensorFlow:
    pip install tensorflow==2.16.1
    
  3. 修改代码,统一使用tf.keras的导入方式:
    import os
    os.environ["KERAS_BACKEND"] = "tensorflow"
    
    import pandas as pd
    import pathlib
    import random
    import string
    import re
    import numpy as np
    import tensorflow as tf
    
    MAX_SEQUENCE_LENGTH = 40
    INP_VOCAB_SIZE = 15000
    
    input_vectorization = tf.keras.layers.TextVectorization(
        max_tokens=INP_VOCAB_SIZE,
        output_mode="int",
        output_sequence_length=MAX_SEQUENCE_LENGTH
    )
    
  4. 若需查看版本,使用tf.keras.__version__代替keras.__version__。

方案二:仅使用独立版Keras

若倾向于使用独立Keras,需确保导入的是独立库而非TensorFlow内置模块:

  1. 卸载冲突包:
    pip uninstall -y keras tensorflow
    
  2. 重新安装独立Keras和TensorFlow(TensorFlow作为后端依赖):
    pip install keras==3.1.1 tensorflow==2.16.1
    
  3. 修改代码,使用独立Keras的正确导入方式:
    import os
    os.environ["KERAS_BACKEND"] = "tensorflow"
    
    import pandas as pd
    import pathlib
    import random
    import string
    import re
    import numpy as np
    import keras
    from keras.layers import TextVectorization
    
    MAX_SEQUENCE_LENGTH = 40
    INP_VOCAB_SIZE = 15000
    
    input_vectorization = TextVectorization(
        max_tokens=INP_VOCAB_SIZE,
        output_mode="int",
        output_sequence_length=MAX_SEQUENCE_LENGTH
    )
    
  4. 查看版本可直接使用keras.__version__。
注意事项
  • 不要同时混用import keras和import tf.keras,否则会持续出现命名空间冲突;
  • 建议使用虚拟环境安装依赖,避免全局环境依赖混乱。

内容的提问来源于stack exchange,提问作者Leila Saxby

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 13:23:41