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

噫,我好了!

相关推荐
mftang2 小时前
TensorFlow Lite Micro:面向TinyML系统的嵌入式机器学习推理框架
人工智能·机器学习·tensorflow
码农学院2 小时前
Neo4j知识图谱赋能跨境电商GEO:LLM实体识别与AI搜索引擎结构化数据输出实战
人工智能·知识图谱·neo4j
TE-茶叶蛋3 小时前
RAG智能电商客服什么时候上Neo4j?
neo4j
hhzz2 天前
(九)在MCU上跑AI推理:ESP-DL vs TFLite Micro,选哪个?怎么优化?
人工智能·单片机·neo4j·esp·ai推理
༄沐࿆风࿆࿆2 天前
neo4j Desktop下载学习笔记
笔记·学习·neo4j
我是唐青枫2 天前
Java Neo4j 实战指南:从图模型、Cypher 到 Spring Boot 关系查询
java·spring boot·neo4j
AI-好学者7 天前
RDF对比与Neo4j性能优化
人工智能·知识图谱·neo4j·knowledge graph
中微极客9 天前
TensorFlow模型量化实战:从精度到延迟的优化指南
人工智能·python·tensorflow
敲代码的猴先生10 天前
论文分享 | TensorAbuse:通过滥用TensorFlow API将AI模型转化为恶意软件
人工智能·python·语言模型·tensorflow·论文笔记
冷小鱼12 天前
Neo4j 深度解析:从原生图存储到 GraphRAG 的知识图谱革命
人工智能·知识图谱·neo4j