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重启,

噫,我好了!

相关推荐
Magicdata大数据4 天前
AI辅助教学:调用大模型从教材中生成习题,方便学员练习
java·spring boot·大模型·知识图谱·neo4j·ai辅助教学
星川皆无恙8 天前
基于知识图谱的百科问答系统:Django + Neo4j 与实现
人工智能·python·机器学习·自然语言处理·django·知识图谱·neo4j
心运软件8 天前
Fashion-MNIST 图像分类实战:TensorFlow 五模型对比与 Flask 可视化
分类·flask·tensorflow
Sayai9 天前
Neo4j 社区版高可用实战:DRBD 块级复制 + Keepalived 虚拟 IP 冷备切换(附启停 SOP 与脑裂防范)
运维·neo4j·keepalived·高可用·drbd
智码看视界12 天前
深度学习:环境搭建PyTorch vs TensorFlow 选型
pytorch·深度学习·tensorflow·gpu·环境搭建·cuda·框架选型
喵本喵叁肆13 天前
diffprivlib 中文实战教程 · 第8讲:实战——从零改造一个 DP 模型
python·neo4j·差分隐私
GPU实战笔记14 天前
TensorBoard 空面板排查:日志写入、--logdir 与访问入口分层
深度学习·tensorflow·模型训练·tensorboard
智码看视界15 天前
大数据架构解析—数据血缘:从 SQL 解析到字段级溯源,搭建大数据平台数据治理底座
数据治理·neo4j·元数据·sql解析·数据血缘·datalineage·sqlglot
quweiie25 天前
Neo4j Community 安全访问配置总结
数据库·centos·neo4j
梦帮科技1 个月前
多任务权重流形融合:SLERP 球形线性插值、DARE 稀疏剪枝与多专家模型融合落地
人工智能·深度学习·算法·机器学习·tensorflow·聚类·剪枝