Traceback (most recent call last): File "D:/SteganoGAN-master/research/psnr.py", line 22, in <module> _main() File "D:/SteganoGAN-master/research/psnr.py", line 16, in _main sess.run(tf.global_variables_initializer()) AttributeError: module 'tensorflow' has no attribute 'global_variables_initializer'
时间: 2023-07-16 10:11:59 浏览: 91
这个错误提示表明在你的代码中,`tensorflow` 模块没有 `global_variables_initializer` 属性。这通常是因为你所使用的版本过低导致的。
`global_variables_initializer` 是从 TensorFlow 0.12 版本开始引入的 API。如果你的 TensorFlow 版本低于这个版本,那么你需要升级 TensorFlow 到最新版本或者使用其他可用的初始化变量的方法。
如果你已经使用了较新版本的 TensorFlow,那么可能是你的代码中有些地方出现了错误。你可以检查相关的代码段,特别是与变量初始化相关的部分,看看是否有拼写错误或者其他语法错误。
相关问题
Traceback (most recent call last): File "D:/SteganoGAN-master/research/psnr.py", line 25, in <module> _main() File "D:/SteganoGAN-master/research/psnr.py", line 16, in _main t1 = read_img('D:/SteganoGAN-master/research/ruanjian.png') File "D:/SteganoGAN-master/research/psnr.py", line 8, in read_img return tf.image.decode_image(tf.read_file(path)) AttributeError: module 'tensorflow' has no attribute 'read_file'
这个错误提示是说在你的代码中使用了 `tensorflow` 模块中不存在的 `read_file` 属性。
在 `tensorflow` 2.0 版本之后,`read_file` 方法已经被移动到了 `tf.io` 模块中,所以你需要将代码中的 `tf.read_file` 替换为 `tf.io.read_file`。
下面是修改后的代码示例:
```python
import tensorflow as tf
def read_img(path):
return tf.image.decode_image(tf.io.read_file(path))
def _main():
t1 = read_img('D:/SteganoGAN-master/research/ruanjian.png')
t2 = read_img('D:/SteganoGAN-master/research/ruanjian_steg.png')
psnr = tf.image.psnr(t1, t2, max_val=255)
print("PSNR:", psnr)
if __name__ == '__main__':
_main()
```
修改后的代码中使用了 `tf.io.read_file` 方法来读取图像文件,应该可以解决你遇到的问题。
Traceback (most recent call last): File "D:/SteganoGAN-master/research/psnr.py", line 22, in <module> _main() File "D:/SteganoGAN-master/research/psnr.py", line 15, in _main with tf.Session() as sess: AttributeError: module 'tensorflow' has no attribute 'Session'
这个错误是因为你正在使用TensorFlow 2.0或更高版本,而在这些版本中,`tf.Session()`不再被支持。
你可以尝试以下两种方法来解决这个问题:
1. 回退到TensorFlow 1.x版本,这样你就可以使用`tf.Session()`了。可以使用以下命令安装TensorFlow 1.x:
```
pip install tensorflow==1.15
```
2. 改用`tf.compat.v1.Session()`代替`tf.Session()`。如下所示:
```python
import tensorflow.compat.v1 as tf
def _main():
# ...
with tf.Session() as sess:
# ...
```
这样你就可以在TensorFlow 2.x中使用`tf.compat.v1.Session()`来代替`tf.Session()`了。
阅读全文