cannot import name ‘deserialize‘ from ‘tensorflow.keras.models‘ 的解决方案
关于版本不匹配的处理嗯报错了这种版本不匹配的问题就是很恶心。。。或者你报错回到vscode终端。先把tensorflow的相关包清理干净pip uninstall tensorflow tensorflow-estimator tensorboard keras -y重装tensorflow和keras要严格按照这个版本安装pip install tensorflow2.10.0 keras-rl21.0.5进到你的keras默认目录维度在这里“C:\Users\HP\miniconda3\envs\brain\Lib\site-packages\rl”进入文件夹要修改两个文件一个是callbacks.py对于callbacks.py文件找到第 8 行左右的代码python1from tensorflow.keras import __version__ as KERAS_VERSION将其删除并替换为下面这行代码python1import tensorflow as tf; KERAS_VERSION tf.__version__头部如下import warnings import timeit import json from tempfile import mkdtemp import numpy as np import tensorflow as tf from tensorflow.keras import __version__ as KERAS_VERSION from tensorflow.python.keras.callbacks import Callback as KerasCallback, CallbackList as KerasCallbackList from tensorflow.python.keras.utils.generic_utils import Progbar再打开utils.py文件直接复制下面内容覆盖掉前面两个clone_函数。import numpy as np from tensorflow.keras.models import model_from_config, Sequential, Model, model_from_config import tensorflow.keras.optimizers as optimizers import tensorflow.keras.backend as K import tensorflow as tf def clone_model(model, custom_objects{}): # Requires Keras 1.0.7 since get_config has breaking changes. config { class_name: model.__class__.__name__, config: model.get_config(), } clone model_from_config(config, custom_objectscustom_objects) clone.set_weights(model.get_weights()) return clone def clone_optimizer(optimizer): if type(optimizer) is str: print(optimizer) return optimizers.get(optimizer) # Requires Keras 1.0.7 since get_config has breaking changes. params {k: v for k, v in optimizer.get_config().items()} config { class_name: optimizer.__class__.__name__, config: params, } if hasattr(optimizers, optimizer_from_config): # COMPATIBILITY: Keras 2.0 clone optimizers.optimizer_from_config(config) else: clone optimizers.deserialize(config) return clone然后关闭jupyter重启噫我好了