复现《21个项目玩转深度学习》第三章代码

时间:2024-05-31 09:46:49

笔者水平有限,有错望纠。

由于我环境是Python3.7,项目中环境是Python2

1.Python3取消了range函数,而把xrang函数改成了range函数,所以直接用range函数即可

复现《21个项目玩转深度学习》第三章代码

2.把339行的shuffled_index = range(len(filenames))改为shuffled_index = list(range(len(filenames)))

复现《21个项目玩转深度学习》第三章代码

3.tfrecord.py第160行把“r”改为“rb”

tfrecord.py第94和96行改为  colorspace = b'RGB'     image_format = b'JPEG'

复现《21个项目玩转深度学习》第三章代码

复现《21个项目玩转深度学习》第三章代码

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))),
复现《21个项目玩转深度学习》第三章代码

5.AttributeError: module 'tensorflow' has no attribute 'gfile'

原因:gfile在tf中受版本影响

解决方法:tf.gfile 改成 tf.io.gfile

复现《21个项目玩转深度学习》第三章代码

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的错误改回来。