使用tfswin导入SwinTransformer时出现global_policy导入错误求助
解决keras.mixed_precision导入global_policy的报错问题
核心结论
这个问题不会自行恢复,本质是tfswin最新版本与你当前TensorFlow 2.10.0的依赖版本不匹配,属于代码依赖冲突问题,不是临时服务/网络故障。
问题原因
TensorFlow 2.10.0对应的Keras版本中,keras.mixed_precision模块还没有global_policy这个API(该API在更高版本的Keras/TensorFlow中才被引入),而你安装的tfswin最新版本依赖了这个高版本API,导致导入报错。
快速修复方案
安装适配TensorFlow 2.10.0的旧版tfswin
pip uninstall tfswin -y pip install tfswin==0.0.6该版本是适配旧版TensorFlow的稳定版本,能正常导入
SwinTransformerLarge224。手动修改tfswin源码(如果指定版本安装失败)
找到报错的tfswin源码文件(路径提示为/usr/local/lib/python3.7/dist-packages/tfswin/xxx.py),将:from keras.mixed_precision import global_policy替换为:
from tensorflow.keras.mixed_precision import get_global_policy同时将代码中调用
global_policy()的地方替换为get_global_policy()。
内容的提问来源于stack exchange,提问作者Anton Kroegeler
相关产品推荐
相关产品推荐

