目的是在pycharm中调试nmt代码,主要做了如下工作:

配置pycharm编译环境

在File->Settings->Project->Project Interpreter 设置TensorFlow所在的python环境

 

新建程序主代码

在nmt文件夹之外新建了nmt_main.py代码,copy nmt.py的程序入口代码到其中。如下:

from nmt.nmt import *

FLAGS = None
root_dir = 'D:/tensorflow/nmt-master'


def main(unused_argv):
    default_hparams = create_hparams(FLAGS)
    train_fn = train.train
    inference_fn = inference.inference
    run_main(FLAGS, default_hparams, train_fn, inference_fn)


if __name__ == "__main__":
    sys.argv = ['nmt_main.py', '--src=vi', '--tgt=en', '--vocab_prefix=' + root_dir + '/nmt_data/vocab',
                '--train_prefix=' + root_dir + '/nmt_data/train',
                '--dev_prefix=' + root_dir + '/nmt_data/tst2012', '--test_prefix=' + root_dir + '/nmt_data/tst2013',
                '--out_dir=' + root_dir + '/nmt_data/nmt_model',
                '--num_train_steps=12000', '--steps_per_stats=100', '--num_layers=2', '--num_units=128',
                '--dropout=0.2', '--metrics=bleu']
    nmt_parser = argparse.ArgumentParser()
    add_arguments(nmt_parser)
    # print(nmt_parser)
    FLAGS, unparsed = nmt_parser.parse_known_args()
    # print(unparsed)
    tf.app.run(main=main, argv=[sys.argv[0]] + unparsed)