cannot import name ‘deserialize‘ from ‘tensorflow.keras.models‘ 的解决方案

关于版本不匹配的处理

嗯,报错了,这种版本不匹配的问题就是很恶心,。。。

或者你报错:

回到vscode终端。

先把tensorflow的相关包清理干净

python 复制代码
pip uninstall tensorflow tensorflow-estimator tensorboard keras -y

重装tensorflow和keras,要严格按照这个版本安装:

python 复制代码
pip install tensorflow==2.10.0 keras-rl2==1.0.5   

进到你的keras默认目录,维度在这里"C:\Users\HP\miniconda3\envs\brain\Lib\site-packages\rl"

进入文件夹,要修改两个文件,一个是callbacks.py

对于callbacks.py文件:

  1. 找到 第 8 行 左右的代码:python

    复制代码
    1from tensorflow.keras import __version__ as KERAS_VERSION
  2. 将其删除 ,并替换为下面这行代码:python

    复制代码
    1import tensorflow as tf; KERAS_VERSION = tf.__version__

头部如下:

python 复制代码
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_函数。

python 复制代码
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_objects=custom_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重启,

噫,我好了!

相关推荐
_Rookie._20 小时前
neo4j图形数据库 -基础语法
neo4j
星川皆无恙1 天前
基于BERT+LSTM+CRF与知识图谱的医疗智能问答系统实战:Neo4j图数据库+实体识别+意图分析完整项目
数据库·人工智能·深度学习·bert·lstm·知识图谱·neo4j
希冀1233 天前
【CSS学习第八篇】
css·学习·tensorflow
飞行家贞贞3 天前
Windows 安装 Neo4j(2025最新·极简)
neo4j
ins_lizhiming4 天前
多模态+neo4j+langchain构建知识图谱问答
langchain·知识图谱·neo4j
ZC跨境爬虫5 天前
跟着 MDN 学CSS day_51:支持旧浏览器的布局策略
前端·css·html·tensorflow·媒体
qq_356408665 天前
Neo4j RPM 安装与多实例配置说明
neo4j
ZC跨境爬虫5 天前
跟着 MDN 学CSS day_50:(传统布局方法与网格系统)
前端·css·ui·tensorflow·媒体
ZC跨境爬虫6 天前
跟着 MDN 学CSS day_45:媒体查询入门指南——从语法到移动优先实践
前端·css·ui·html·tensorflow·媒体
ZC跨境爬虫6 天前
跟着 MDN 学CSS day_47:(移动优先实战——从手机到宽屏的响应式进化)
前端·css·html·tensorflow·媒体