我知道已经有很多与这个类似的问题,但不幸的是我还没有找到如何解决我的问题。
我正在尝试从以下位置运行项目:https://github.com/XJTUWYD/TWN/tree/master/models
简而言之,项目的结构如下: (我没有包含看起来不必要的文件和文件夹。您可以在上面的链接中查看完整的项目)
Project
|___ __init__.py
|___ main.py
|___ nnUtils1.py
|___ models
|___ __init__.py
|___ model.py
|___ alexnet.py
|___ BNN_cifar10.py
然后在 main.py 中我有以下代码:
17: FLAGS = tf.app.flags.FLAGS
18: tf.app.flags.DEFINE_integer('batch_size', 128,
19: """Number of images to process in a batch.""")
20: tf.app.flags.DEFINE_string('model', 'model',
21: """Name of loaded model.""")
..... (中间有一些代码)
216: def main(argv=None): # pylint: disable=unused-argument
217: if not gfile.Exists(FLAGS.checkpoint_dir):
218: gfile.DeleteRecursively(FLAGS.checkpoint_dir)
219: gfile.MakeDirs(FLAGS.checkpoint_dir)
220: model_file = os.path.join('models', FLAGS.model + '.py')
221: assert gfile.Exists(model_file), 'no model file named: ' + model_file
222: gfile.Copy(model_file, FLAGS.checkpoint_dir + '/model.py')
223: m = importlib.import_module('.' + FLAGS.model, 'modelio')
225: data = get_data_provider(FLAGS.dataset, training=True)
226: train(m.model, data,
227: batch_size=FLAGS.batch_size,
228: checkpoint_dir=FLAGS.checkpoint_dir,
229: log_dir=FLAGS.log_dir,
230: num_epochs=FLAGS.num_epochs)
232: if __name__ == '__main__':
234: tf.app.run()
现在,如果我从项目主目录 TWN/ 执行脚本 main.py:
python main.py
然后我得到以下错误:
File "main.py", line 235, in <module>
tf.app.run()
File "C:\Python\lib\site-packages\tensorflow\python\platform\app.py", line 48, in run
_sys.exit(main(_sys.argv[:1] + flags_passthrough))
File "main.py", line 223, in main
m = importlib.import_module('.' + FLAGS.model, 'modelio')
File "C:\Python\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 973, in _gcd_import
File "<frozen importlib._bootstrap>", line 923, in _sanity_check
SystemError: Parent module 'modelio' not loaded, cannot perform relative import
你能帮忙吗?提前致谢!