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?
I tried to delete the line of def main():
and keep the rest of the code.
But args = parser.parse_args()
” returned an error:
ipykernel_launcher.py: error: unrecognized arguments: -f.
And when I run . %tb: showing this
JavaScript
x
43
43
1
def main():
2
parser = argparse.ArgumentParser()
3
parser.add_argument('--data_dir', type=str, default='data/tinyshakespeare',
4
help='data directory containing input.txt')
5
parser.add_argument('--input_encoding', type=str, default=None,
6
help='character encoding of input.txt, from https://docs.python.org/3/library/codecs.html#standard-encodings')
7
parser.add_argument('--log_dir', type=str, default='logs',
8
help='directory containing tensorboard logs')
9
parser.add_argument('--save_dir', type=str, default='save',
10
help='directory to store checkpointed models')
11
parser.add_argument('--rnn_size', type=int, default=256,
12
help='size of RNN hidden state')
13
parser.add_argument('--num_layers', type=int, default=2,
14
help='number of layers in the RNN')
15
parser.add_argument('--model', type=str, default='lstm',
16
help='rnn, gru, or lstm')
17
parser.add_argument('--batch_size', type=int, default=50,
18
help='minibatch size')
19
parser.add_argument('--seq_length', type=int, default=25,
20
help='RNN sequence length')
21
parser.add_argument('--num_epochs', type=int, default=50,
22
help='number of epochs')
23
parser.add_argument('--save_every', type=int, default=1000,
24
help='save frequency')
25
parser.add_argument('--grad_clip', type=float, default=5.,
26
help='clip gradients at this value')
27
parser.add_argument('--learning_rate', type=float, default=0.002,
28
help='learning rate')
29
parser.add_argument('--decay_rate', type=float, default=0.97,
30
help='decay rate for rmsprop')
31
parser.add_argument('--gpu_mem', type=float, default=0.666,
32
help='%% of gpu memory to be allocated to this process. Default is 66.6%%')
33
parser.add_argument('--init_from', type=str, default=None,
34
help="""continue training from saved model at this path. Path must contain files saved by previous training process:
35
'config.pkl' : configuration;
36
'words_vocab.pkl' : vocabulary definitions;
37
'checkpoint' : paths to model file(s) (created by tf).
38
Note: this file contains absolute paths, be careful when moving files around;
39
'model.ckpt-*' : file(s) with model definition (created by tf)
40
""")
41
args = parser.parse_args()
42
train(args)
43
Advertisement
Answer
It’s better to use @nbro ‘s answer for Jupyter execution.
JavaScript
1
2
1
args = parser.parse_args(args=[])
2
If you want to manage parameters as class format, you can try this.
JavaScript
1
8
1
class Args:
2
data = './data/penn'
3
model = 'LSTM'
4
emsize = 200
5
nhid = 200
6
7
args=Args()
8