我一直在我的笔记本电脑上使用 Tensorflow 作为 CPU,由于速度太慢,我决定转移到我的台式电脑并使用 Tensorflow 作为 GPU。
问题是,在我的台式计算机中,我无法像这样导入,但我可以在笔记本电脑上执行此操作:
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras.layers import Dropout, Flatten, Dense
from tensorflow.keras.applications import MobileNetV2
所以我决定使用带有tensorflow-gpu作为后端的keras模块,所以我在桌面上的导入如下所示:
from keras.preprocessing.image import ImageDataGenerator
from keras.layers import Dropout, Flatten, Dense
from keras.applications import MobileNetV2
此外,我在笔记本电脑上的 conda 列表如下所示:
keras 2.3.1 pypi_0 pypi
keras-applications 1.0.8 py_0
keras-preprocessing 1.1.0 py_1
tensorboard 2.1.0 py3_0
tensorflow 2.1.0 eigen_py36hdbbabfe_0
tensorflow-base 2.1.0 eigen_py36h49b2757_0
tensorflow-estimator 2.1.0 pyhd54b08b_0
我在桌面上的 conda 列表如下所示:
keras 2.3.1 pypi_0 pypi
keras-applications 1.0.8 py_0
keras-preprocessing 1.1.0 py_1
tensorboard 2.1.0 py3_0
tensorflow 2.1.0 gpu_py36h3346743_0
tensorflow-base 2.1.0 gpu_py36h55f5790_0
tensorflow-estimator 2.1.0 pyhd54b08b_0
tensorflow-gpu 2.1.0 h0d30ee6_0
那么,使用像tensorflow.keras.applications这样的导入和直接使用keras.applications有什么区别,哪个更好或更差?我到处寻找,但在桌面上找不到导入的解决方案,我想修复这个问题,因为我喜欢使用像tensorflow.keras这样的导入。
最佳答案
tensorflow.keras
导入使用 TensorFlow存储库代码,而 keras
导入使用 Keras存储库代码。两者使用独立的方法/类实现,即使 keras
从 tensorflow
导入也是如此。
根据您的使用情况,功能可能会有很大差异,也可能差别不大。建议使用 tensorflow.keras
,因为它可以更好地维护且更新 - 除非您使用 TF <2,其中两者在大多数情况下是相同的,除了performance considerations .
关于python - 使用 import keras 和 import tensorflow.keras 之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61070082/