在PyCharm(2024.2版本)中,直接使用from tensorflow import keras
会提示“Cannot find reference ‘keras’ in ‘init.py’ ”,找不到keras,如下图所示。
查阅相关资料,可以发现在tf2.16之后,默认的keras后端升级为了3.0,且直接引用即可。
参考链接:PyCharm cannot parse any content under tensorflow.keras 2.16.2 #73110
以及:Introducing Keras 3.0
TF 2.15: Keras2.0
import tensorflow as tf from tensorflow import keras
TF 2.16: Keras 3.0
import tensorflow as tf import keras
在reddit上也有人讨论:
Because in the old days Keras was entirely separate to Tensorflow. It had a backend for Theano and maybe some other stuff. Then Francois and the TF team at Google decided to bring Keras into TF as their main high level API, trying to address the fragmentation that had been created in TF land. Since TF usage is dwindling in research, and possibly showing signs of similar in industry, Keras is now multi-backend again, supporting TensorFlow, PyTorch, and JAX.
- Very old code will import keras directly, and be referring to Keras 1. This code will usually use > Theano or TensorFlow 1.x as well.
- More recent code will import tensorflow.keras and be referring to Keras 2. This is the majority of the code you’ll find.
- Very recent code (i.e. this year I think) will import keras directly again, or maybe keras_core, and be referring to Keras 3, the latest version.
也就是说,在最新版(2.16.0+)的Tensorflow中,只需要直接引用import keras
即可正常使用keras3.0。经测试,使用keras.models
或keras.layers
均可正常使用,也会有代码补全。