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

噫,我好了!

相关推荐
星马梦缘2 小时前
cannot import name ‘__version__‘ from ‘tensorflow.keras‘ 的解决方案
人工智能·tensorflow·keras
独隅3 小时前
在 MacOS 上部署 Keras 模型的全面指南
人工智能·macos·keras
独隅19 小时前
在 Linux 上部署 TensorFlow 模型的全面指南
linux·运维·tensorflow
独隅1 天前
Keras 全面介绍:从入门到实践
人工智能·深度学习·keras
longxibo1 天前
【flowable 7.2.0 二开之二:自定义表单设计及扩展流程节点属性窗口】
tensorflow
独隅2 天前
在 Windows 上部署 TensorFlow 模型的全面指南
人工智能·windows·tensorflow
songcream13 天前
TensorFlow的一些基本概念
人工智能·python·tensorflow
天天进步20154 天前
探究 Graphiti 在 Neo4j 之上的语义搜索与图遍历优化
人工智能·neo4j
技术小黑4 天前
TensorFlow学习系列09 | 优化猫狗识别
人工智能·学习·tensorflow