笔者水平有限,有错望纠。
由于我环境是Python3.7,项目中环境是Python2
1.Python3取消了range函数,而把xrang函数改成了range函数,所以直接用range函数即可
2.把339行的shuffled_index = range(len(filenames))改为shuffled_index = list(range(len(filenames)))
3.tfrecord.py第160行把“r”改为“rb”
tfrecord.py第94和96行改为 colorspace = b'RGB' image_format = b'JPEG'
4.tfrecord.py第104行修改为 ‘image/class/text’: _bytes_feature(str.encode(text)),
tfrecord.py第106行修改为 ‘image/filename’:_bytes_feature(os.path.basename(str.encode(filename))),
5.AttributeError: module 'tensorflow' has no attribute 'gfile'
原因:gfile在tf中受版本影响
解决方法:tf.gfile 改成 tf.io.gfile
6.AttributeError: module ‘tensorflow_core._api.v2.io.gfile’ has no attribute ‘FastGFile’
原因:该函数已经废弃了,应该使用tf.gfile.GFile
解决办法:把FastGFile改成GFile就可以了(忘记截图了)
7.AttributeError: module 'tensorflow._api.v2.io.gfile' has no attribute 'Glob'
我查了一下有tf.io.gfile.glob这个函数,我就把tf.io.gfile.Glob改成了tf.io.gfile.glob
8.AttributeError: module 'tensorflow' has no attribute 'Session'
tensorflow2.0版本中的确没有Session这个属性,如果安装的是tensorflow2.0版本又想利用Session属性,可以将tf.Session()更改为tf.compat.v1.Session()
9. module 'tensorflow' has no attribute 'placeholder'
解决法:
import tensorflow.compat.v1 as tf
并在代码中关闭eager运算:
tf.disable_eager_execution()
并把8的错误改回来。