iPython 笔记本中的 Argparse:无法识别的参数:-f [英] Argparse in iPython notebook: unrecognized arguments: -f

查看:33
本文介绍了iPython 笔记本中的 Argparse:无法识别的参数:-f的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将 .py 文件传递​​给 ipython 笔记本环境.我以前从来没有直接处理过 argparse.如何重写 main() 函数?

I am trying to pass a .py file to ipython notebook environment. I have never had to deal directly with argparse before. How do I rewrite the main() function?

我试图删除 def main(): 行并保留其余代码.

I tried to delete the line of def main(): and keep the rest of the code.

但是 args = parser.parse_args()" 返回了一个错误:

But args = parser.parse_args()" returned an error:

ipykernel_launcher.py:错误:无法识别的参数:-f.

ipykernel_launcher.py: error: unrecognized arguments: -f.

当我运行 .%tb:显示这个

def main():
parser = argparse.ArgumentParser()
parser.add_argument('--data_dir', type=str, default='data/tinyshakespeare',
                   help='data directory containing input.txt')
parser.add_argument('--input_encoding', type=str, default=None,
                   help='character encoding of input.txt, from https://docs.python.org/3/library/codecs.html#standard-encodings')
parser.add_argument('--log_dir', type=str, default='logs',
                   help='directory containing tensorboard logs')
parser.add_argument('--save_dir', type=str, default='save',
                   help='directory to store checkpointed models')
parser.add_argument('--rnn_size', type=int, default=256,
                   help='size of RNN hidden state')
parser.add_argument('--num_layers', type=int, default=2,
                   help='number of layers in the RNN')
parser.add_argument('--model', type=str, default='lstm',
                   help='rnn, gru, or lstm')
parser.add_argument('--batch_size', type=int, default=50,
                   help='minibatch size')
parser.add_argument('--seq_length', type=int, default=25,
                   help='RNN sequence length')
parser.add_argument('--num_epochs', type=int, default=50,
                   help='number of epochs')
parser.add_argument('--save_every', type=int, default=1000,
                   help='save frequency')
parser.add_argument('--grad_clip', type=float, default=5.,
                   help='clip gradients at this value')
parser.add_argument('--learning_rate', type=float, default=0.002,
                   help='learning rate')
parser.add_argument('--decay_rate', type=float, default=0.97,
                   help='decay rate for rmsprop')
parser.add_argument('--gpu_mem', type=float, default=0.666,
                   help='%% of gpu memory to be allocated to this process. Default is 66.6%%')
parser.add_argument('--init_from', type=str, default=None,
                   help="""continue training from saved model at this path. Path must contain files saved by previous training process:
                        'config.pkl'        : configuration;
                        'words_vocab.pkl'   : vocabulary definitions;
                        'checkpoint'        : paths to model file(s) (created by tf).
                                              Note: this file contains absolute paths, be careful when moving files around;
                        'model.ckpt-*'      : file(s) with model definition (created by tf)
                    """)
args = parser.parse_args()
train(args)

推荐答案

Jupyter 执行最好使用@nbro 的答案.

It's better to use @nbro 's answer for Jupyter execution.

args = parser.parse_args(args=[])

如果你想以类格式管理参数,你可以试试这个.http://35.192.144.192:8000/arg2cls.html

If you want to manage parameters as class format, you can try this. http://35.192.144.192:8000/arg2cls.html

class Args:
  data = './data/penn'
  model = 'LSTM'
  emsize = 200
  nhid = 200

args=Args()

这篇关于iPython 笔记本中的 Argparse:无法识别的参数:-f的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆