安装Tensorflow.js后出现TrackableSaver属性缺失错误求助
问题:安装TensorFlow.js后出现AttributeError错误
安装TensorFlow.js后程序运行报错,此前程序完全正常,怀疑是版本兼容问题。报错堆栈信息如下:
File ~\OneDrive\Masaüstü\Bitirme Proje\neural_network(sinir_ağları).py:61 model = build_model() File ~\OneDrive\Masaüstü\Bitirme Proje\neural_network(sinir_ağları).py:29 in build_model model = keras.Sequential([ File C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\trackable\base.py:205 in _method_wrapper result = method(self, *args, **kwargs) File C:\ProgramData\Anaconda3\lib\site-packages\keras\utils\traceback_utils.py:67 in error_handler raise e.with_traceback(filtered_tb) from None File C:\ProgramData\Anaconda3\lib\site-packages\keras\engine\training.py:3331 in saver_with_op_caching return tf.__internal__.tracking.TrackableSaver( AttributeError: module 'tensorflow.compat.v2.__internal__.tracking' has no attribute 'TrackableSaver'
原本计划将模型转换为TensorFlow.js格式部署到网页,安装TensorFlow.js后出现该错误。
错误原因与解决方案
错误原因
这是TensorFlow与TensorFlow.js版本不兼容导致的问题。安装TensorFlow.js时,可能自动更新了TensorFlow或Keras的版本,而新版本的TensorFlow中,tf.__internal__.tracking.TrackableSaver这个内部API已被移除或重命名,导致原有代码调用失效。
解决方案
检查当前依赖版本
执行命令查看已安装的TensorFlow和TensorFlow.js版本:# Windows系统 pip list | findstr tensorflow # Linux/Mac系统 pip list | grep tensorflow安装兼容版本组合
根据TensorFlow.js的版本要求,安装对应兼容的TensorFlow版本。例如:# 安装指定兼容版本示例 pip install tensorflow==2.14.0 tensorflowjs==4.14.0 --upgrade注意:不同版本的TensorFlow.js对应不同的TensorFlow版本,需保证二者版本匹配。
隔离依赖环境
使用虚拟环境创建独立的运行环境,避免与其他项目的依赖冲突:# 使用conda创建虚拟环境 conda create -n tfjs_env python=3.10 conda activate tfjs_env # 安装指定版本的依赖 pip install tensorflow==2.14.0 tensorflowjs==4.14.0规范Keras导入方式
确保代码中从TensorFlow导入Keras,而非单独安装的Keras包:# 正确导入方式 from tensorflow import keras # 避免单独导入keras # import keras
内容的提问来源于stack exchange,提问作者faik mermer
相关产品推荐
相关产品推荐

