Dora89
Dora89

Reputation: 671

AttributeError: module 'tensorflow' has no attribute 'app'

I am following this tutorial and doing a project on custom object-detection using tensorflow.

So when I tried to create TF record for the train images using the following command

python3 generate_tfrecord.py --csv_input=data/train_labels.csv --output_path=data/train.record

I get the following error:

Traceback (most recent call last):
  File "generate_tfrecord.py", line 23, in <module>
    flags = tf.app.flags
AttributeError: module 'tensorflow' has no attribute 'app'

How can I resolve this error?

Upvotes: 55

Views: 105654

Answers (4)

JamesAng
JamesAng

Reputation: 354

use absl if you don't want to downgrade tf.

from absl import app

if __name__ == '__main__':
    
    app.run(main)

Upvotes: 3

shivu kumar
shivu kumar

Reputation: 61

I also got similar error, then installed tensorflow 1.15 version and it worked with following warning.

WARNING:tensorflow:From generate_tfrecord.py:104: The name tf.app.run is deprecated. Please use tf.compat.v1.app.run instead.

So, if you got this error try using tf.compat.v1.app.run instead of tf.app.run as stated in the warning from tensorflow.

Upvotes: 0

ThMore
ThMore

Reputation: 1039

try using import tensorflow.compat.v1 as tf

Upvotes: 103

Rishabh Sahrawat
Rishabh Sahrawat

Reputation: 2507

Which Tensorflow version, are you using? If it is TF2.0 then you need to replace tf.app.flags with tf.compat.v1.flags defined here since it is no longer supported.

Upvotes: 32

Related Questions