1. ホーム

AttributeError: モジュール 'tensorflow' には 'app' という属性がありません。

2022-02-21 09:10:56
<パス

tensorflowのバージョンは1.14.0です。
次の文は、エラーを報告します。

import tensorflow as tf   
FLAGS = tf.app.flags.FLAGS

  File "E:\CNN\chengxu\SVM-CNN-12.22\lib\network\resnet_cifar.py", line 9, in <module>
    from lib.config.config import FLAGS
  File "E:\CNN\chengxu\SVM-CNN-12.22\lib\config\config.py", line 16, in <module>
    FLAGS = tf.app.flags.FLAGS
AttributeError: module 'tensorflow' has no attribute 'app'


import tensorflow.compat.v1 as tf
FLAGS = tf.app.flags.FLAGS


Webに記載されている解決策を使用する。
(1) import tensorflow as tf を import tensorflow.compat.v1 as tf に変更する。
(2) tf.app.flags を tf.compat.v1.flags に置き換える。
どちらも動作しない

最後に、tensorflow を 2.0.0 にアップグレードします。 pip install --upgrade tensorflow==2.0.0
その後、次のように変更します。

import tensorflow.compat.v1 as tf
FLAGS = tf.app.flags.FLAGS


うまくいった。