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

噫,我好了!

相关推荐
哥本哈士奇(aspnetx)14 小时前
Neo4j 笔记(四):一篇文章如何入库的
neo4j
longxibo2 天前
【flowable 7.2.0 二开之三:基于 Flowable 7.2 的审批流系统解压即用】
java·tensorflow·jar
哥本哈士奇2 天前
Neo4j 基础教程(二):Cypher CRUD 完全指南
neo4j
哥本哈士奇2 天前
Neo4j 基础教程(一):安装与快速入门
neo4j
哥本哈士奇2 天前
Neo4j 基础教程(三):数据建模与程序连接实战
neo4j
大龄程序员狗哥3 天前
第27篇:PyTorch动态图 vs TensorFlow静态图——深度框架核心机制对比(原理解析)
pytorch·tensorflow·neo4j
许彰午3 天前
# 一个Java老鸟的TensorFlow入门——从计算图到GradientTape
java·tensorflow·neo4j
独隅5 天前
EasyOCR跨框架部署:从PyTorch到TensorFlow Lite的转换全面指南
人工智能·pytorch·tensorflow
西兰先森5 天前
使用Antv G6渲染neo4j知识图谱数据
python·知识图谱·neo4j
万粉变现经纪人5 天前
如何解决 pip install jaxlib[cuda] 报错 CUDA 版本与轮子标签不匹配 问题
人工智能·python·深度学习·tensorflow·pandas·scikit-learn·pip