使用Keras做影评情感分类时遇AttributeError: keras无utils属性
解决
AttributeError: module 'keras' has no attribute 'utils'报错 问题根源
TensorFlow 2.12.0与独立Keras 2.12.0版本存在命名空间冲突,导致调用keras.utils时找不到对应模块。另外你的代码存在一处逻辑错误:影评文本数据不需要执行/255.0的预处理(这是图像数据的标准化操作),后续需要修正。
可行解决方案
统一使用TensorFlow内置Keras
修改代码导入与调用方式,避免独立Keras包的干扰:import tensorflow as tf import numpy as np # 修正后的标签预处理 y = tf.keras.utils.to_categorical(y)卸载独立Keras包
TensorFlow已内置完整Keras功能,独立Keras包易引发版本冲突,执行以下命令卸载:pip uninstall keras -y卸载后直接使用
from tensorflow import keras导入,即可正常调用keras.utils。调整utils导入路径
若需保留独立Keras,单独导入utils模块:import tensorflow as tf from tensorflow import keras from keras import utils import numpy as np y = utils.to_categorical(y)
额外提示
影评文本数据的预处理应采用文本专属方式,比如使用tf.keras.preprocessing.text.Tokenizer完成分词、转序列操作,再配合Embedding层处理,而非照搬图像数据的标准化逻辑。
内容的提问来源于stack exchange,提问作者Sanjani Gunathilaka
相关产品推荐
相关产品推荐

