Posted on

tensorflow和keras版本之間不兼容的錯誤

更多資訊請見: https://stackoverflow.com/questions/72255562/cannot-import-name-dtensor-from-tensorflow-compat-v2-experimental

編譯器的錯誤訊息

ImportError: cannot import name 'dtensor' from 'tensorflow.compat.v2.experimental' (C:\Users\user\.conda\envs\py392\lib\site-packages\tensorflow\_api\v2\compat\v2\experimental\__init__.py)

stackoverflow提出的解決方法

tensorflow這可能是由於您和您的keras版本之間不兼容造成的。特別是我在tensorflow和keras中看到了這一點tensorflow==2.6.0,keras==2.9.0但如果其他版本也會導致這種情況,我也不會感到驚訝。

通過以下方式更新您的tensorflow版本:

pip install tensorflow==2.8

或通過以下方式降級您的keras版本:

pip install keras==2.6

我的方法

重新建立一個新的tensorflow環境
參考這篇文章: 使用conda管理python版本和函式庫
用一個新的函式庫來跑tensorflow
並下載正確的套件,在最下方有一個列表: https://www.tensorflow.org/install/pip?hl=zh-tw#package-location

conda create -n tf-gpu python=3.9.2
conda activate tf-gpu
pip install --upgrade pip
pip install tensorflow_gpu-2.6.0-cp39-cp39-win_amd64.whl

結果不行!!
最後還是照著上面的方法降版才OK

pip install keras==2.6