菜尼奥排错之keras ‘tensorflow.compat.v2.__internal__‘ has no attribute ‘register_clear_session_function‘

环境版本:

        Ubuntu 16.04.2 LTS

        Nvidia GeForce RTX 3080*2  CUDA Version 11.2

        tensorflow 2.5.0

        keras 2.7.0

报错信息:

训练时报错如下:

AttributeError: module 'tensorflow.compat.v2.__internal__' has no attribute 'register_clear_session_function'

解决方法:

之前python脚本头:

from keras.models import Model
from keras.layers import Input, Conv2D, GlobalAveragePooling2D, Dropout
from keras.layers import Activation, BatchNormalization, Add, Reshape, DepthwiseConv2D
from keras.utils.vis_utils import plot_model
from keras.optimizers import Adam
from keras.preprocessing.image import ImageDataGenerator
from keras.callbacks import EarlyStopping
from keras import backend as K

修改为如下即可:

from tensorflow.python.keras.models import Model
from tensorflow.python.keras.layers import Input, Conv2D, GlobalAveragePooling2D, Dropout
from tensorflow.python.keras.layers import Activation, BatchNormalization, Add, Reshape, DepthwiseConv2D
from tensorflow.python.keras.utils.vis_utils import plot_model
from tensorflow.keras.optimizers import Adam
from tensorflow.python.keras.preprocessing.image import ImageDataGenerator
from tensorflow.python.keras.callbacks import EarlyStopping
from tensorflow.python.keras import backend as K

根本原因:

        tensorflow-gpu 1.12(tf一代keras)的代码在tensorflow2.x(tf2二代keras)使用时,keras模块调用路径变更了而已。诸如此类问题还有一大推。

你可能感兴趣的:(tensorflow,keras,深度学习,计算机视觉,人工智能)