ImportError: cannot import name ‘model_from_config‘ from ‘tensorflow.keras.models‘ 的解决方案
不慌这是因为我们使用的keras-rl2库试图从 TensorFlow/Keras 中导入一个名为model_from_config的函数但这个函数在新版本的 TensorFlow通常是 2.16.0 及以上中已经被移除或移动了。在你的默认路径找到C:\Users\HP\miniconda3\envs\brain\Lib\site-packages\rl\util.py看看源码发现是社区库的更新跟不上rl2那我们就手写一个转接接口假装这个函数还存在但是当Agent调用这个函数的时候会自动调用到rl2的库里。def model_from_config(config, custom_objectsNone): from tensorflow.keras.layers import deserialize as layer_deserialize from tensorflow.keras.models import deserialize as model_deserialize # 使用 Keras 官方的反序列化逻辑 return model_deserialize(config, custom_objectscustom_objects)还是在utils.py中把utils的导入注释掉然后开头添加这个函数即可import numpy as np #from tensorflow.keras.models import model_from_config, Sequential, Model, model_from_config #from tensorflow.keras.utils import model_from_config from tensorflow.keras.models import Sequential, Model import tensorflow.keras.optimizers as optimizers import tensorflow.keras.backend as K import tensorflow as tf def model_from_config(config, custom_objectsNone): from tensorflow.keras.layers import deserialize as layer_deserialize from tensorflow.keras.models import deserialize as model_deserialize # 使用 Keras 官方的反序列化逻辑 return model_deserialize(config, custom_objectscustom_objects) def clone_model(model, custom_objects{}): #REMAIN重启jupyter从头运行一遍到这里成功啦