ModuleNotFoundError:没有名为“tensorflow.python.trackable”的模块

问题描述 投票:0回答:7

声明为:

from tensorflow.python.trackable import base as trackable

但是出现模块未找到错误。

##### File "C:\Users\mahit\anaconda3\lib\site-packages\keras\dtensor\lazy_variable.py", line 26, in <module>
   from tensorflow.python.trackable import base as trackable

ModuleNotFoundError: No module named 'tensorflow.python.trackable'

该代码位于 keras 库内。我不明白为什么会出现此模块未找到错误。因为这是包装中附带的代码。也不确定 trackable 的作用。请帮我解决这个问题。

python tensorflow keras tf.keras site-packages
7个回答
2
投票

我的解决方案是安装2.9.0版本的keras

pip install keras==2.9.0 

1
投票

我摆脱了这个错误:卸载tensorflow并安装tf-nightly。尽管如此,我还是收到了另一个错误: Can't find libdevice directory ${CUDA_DIR}/nvvm/libdevice

在使用 Linux 操作系统的 Python 代码中,可以使用以下命令解决该错误: os.environ['XLA_FLAGS'] = '--xla_gpu_cuda_data_dir=/usr/lib/cuda/'


1
投票

过去一个月我也遇到了同样的问题,但无法解决。最后我卸载了tensorflow并安装了tf-nightly,立即解决了问题。

出现此问题的原因是 Tensorflow 最近将 keras 从默认包中移出,现在只能通过 tf-nightly 安装使用。

希望这能解决问题


1
投票

我有同样的问题,并已检查tensorflow的当前目录,可跟踪文件夹不存在。

所以这是一个简单的方法。

  1. 从 URL 进行 Git 克隆:https://github.com/tensorflow/tensorflow
  2. 找到
    tensorflow -> python -> trackable
  3. 将可跟踪文件夹复制到您的tensorflow安装目录(例如:C:\Users\xxxx naconda3\Lib\site-packages ensorflow\python)。

0
投票

使用

pip uninstall tensorflow
卸载tensorflow并安装
pip install tf-nightly

这个修复对我来说非常有效。


0
投票

我刚刚在 CI 构建中遇到了这个错误,其中的requirements.txt

keras
tensorflow==2.9.1

我认为该错误是由

pip install -r requirements.txt
采用最近发布的 Keras 2.10 版本引起的,该版本可能假设它在 TensorFlow 2.10 旁边运行,并且轻微的不匹配导致了此导入错误。


0
投票

因为

从github下载data_structs.py并重写文件。

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/trackable/data_structs.py

在终端上,通过 pip show tensorflow 查看tensorflow安装位置 复制文件资源管理器中的位置,转到tensorflow/python/trackable 并重写文件。

© www.soinside.com 2019 - 2024. All rights reserved.