最近学习图像分割处理,遇到代码错误信息提示“No module named ‘tensorflow_core.estimator‘”,百度了找到了解决方法,确实是因为我的tensorflow版本和tensorflow-estimator版本不一致,重新pip install tensorflow-estimator.**.0,这里.**.0保持与我的tensorflow版本一致,之后重新启动conda,试着运行。
报错误信息“AttributeError: 'str' object has no attribute 'decode'”,报错文件为\AppData\Roaming\Python\Python36\site-packages\tensorflow_core\python\keras\saving里的hdf5_format.py文件,该文件第645行的代码:original_keras_version = f.attrs['keras_version'].decode('utf8'),出错在这个地方,修改为original_keras_version = f.attrs['keras_version'].encode('utf8').decode('utf8')。接下来649行、712行、716行这几行代码也做相应的修改。然而,这样并没有解决问题。虽然问题的分析:str.decode 本质是bytes类型的str的decode,python3经常出现 AttributeError: 'str' object has no attribute 'decode',非要这样玩,只能先encode转为bytes,再decode。强制转换忽略错误:
bytes.decode('utf-8','ignore')。这样的命令.decode('utf-8','ignore')依然没有解决问题。在尝试,有可能是h5py模块版本过高的问题,版本确实高了些,3点几的版本。pip uninstall h5py, then pip install h5py2.10 https://pypi.tuna.tsinghua.edu.cn/simple/,这样以后代码又能运行,再接着看是否有问题。