AttributeError: the 'module' object does not have the 'main' attribute for tf.app.run ()

I am trying to test a short program, which is pretty simple as shown below.

import numpy as np import tensorflow as tf flags = tf.app.flags FLAGS = flags.FLAGS import tensorvision.train as train import tensorvision.utils as utils flags.DEFINE_string('name', None, 'Append a name Tag to run.') flags.DEFINE_string('hypes', 'hypes/medseg.json', 'File storing model parameters.') if __name__ == '__main__': tf.app.run() 

However, when the program starts, the following error message appears:

 Traceback (most recent call last): File "train.py", line 43, in <module> tf.app.run() File "/devl/tensorflow/tf_0.12/lib/python3.4/site- packages/tensorflow/python/platform/app.py", line 39, in run main = main or sys.modules['__main__'].main AttributeError: 'module' object has no attribute 'main' 
+5
source share
1 answer

You either need the function "def main (args)" in your file:

 import numpy as np import tensorflow as tf flags = tf.app.flags FLAGS = flags.FLAGS import tensorvision.train as train import tensorvision.utils as utils def main(args): flags.DEFINE_string('name', None, 'Append a name Tag to run.') flags.DEFINE_string('hypes', 'hypes/medseg.json', 'File storing model parameters.') if __name__ == '__main__': tf.app.run() 

or tf.app.run () can call an external function

 tf.app.run(my_func) 
+7
source

Source: https://habr.com/ru/post/1265879/


All Articles