今天在复现super resolution GAN开源项目时报错: module tensorflow has no attribute placeholder 百度说tensorflow版本升级的问题,然后我把tensorflow版本降到1版本,结果更多函数报错,一个让我啼笑皆非的报错是:“TensorLayer does not support Tensorflow version older than 2.0.0.\n”,意思是TensorLayer要用tensorflow 2.0版本。然后我有换回2.0版本的tensorflow。在2.0版本中tl.vis.read_images()函数报错: "TensorLayer.vis has no attribute read_images 各种百度,说tensorflow与tensorlayer版本不匹配,真搞笑我刚换完tensorflow版本,然后继续换百度到的匹配tensorlayer版本,还是报一样的错,太盲目了,然后我就去找tensorlayer的API接口,找read_images()这个函数怎么用的,找到了
tensorlayer.visualize. read_images (img_list, path='', n_threads=10, printable=True)
原来这个函数要改成tl.visualize. read_images(),查的文档版本是1.7.4,然后把环境中的tensorlayer换成1.7.4版本,把函数改为对应版本的API接口有的函数tensorlayer.visualize. read_images (img_list, path=’’, n_threads=10, printable=True)。运行成功啦!
废话有点多,总结一下,在XX has no attribute xx 时,两方面入手,查匹配环境的版本,查匹配函数的API接口。
|