#はじめに
Jupyter labやJupyter notebookが非常に便利なツールであることは言うまでもないことです。
しかし、落ちているブログラムをJupyterで編集しようとして、
def main():
parser = argparse.ArgumentParser(description='ChainerMN example: MNIST')
parser.add_argument('--batchsize', '-b', type=int, default=100,
help='Number of images in each mini-batch')
parser.add_argument('--communicator', type=str,
default='hierarchical', help='Type of communicator')
parser.add_argument('--epoch', '-e', type=int, default=20,
help='Number of sweeps over the dataset to train')
parser.add_argument('--gpu', '-g', action='store_true',
help='Use GPU')
parser.add_argument('--out', '-o', default='result',
help='Directory to output the result')
parser.add_argument('--resume', '-r', default='',
help='Resume the training from snapshot')
parser.add_argument('--unit', '-u', type=int, default=1000,
help='Number of units')
args = parser.parse_args()
......
usage: ipykernel_launcher.py [-h] [--batchsize BATCHSIZE]
[--communicator COMMUNICATOR] [--epoch EPOCH]
[--gpu] [--out OUT] [--resume RESUME]
[--unit UNIT]
ipykernel_launcher.py: error: unrecognized arguments: -f /run/user/1218/jupyter/kernel-662a3733-81e6-4d71-9647-27185d96086a.json
An exception has occurred, use %tb to see the full traceback.
SystemExit: 2
この様なエラーメッセージに出くわしたことはありませんか?
コマンドライン引数は jupyter では対応できないんだ、なんて思っていませんか?
#解決策
これを、
args = parser.parse_args()
こう変えます。
args = parser.parse_args(args=[])
なんとこれだけで、同様のエラーが出なくなり、
コマンドラインで実行しているようにJupyter上で実行できます。
ちなみに上の状態では全く引数を指定してない状態を示します。
##引数の指定がある場合は
引数の指定がある際は、arg=[ ]の[ ]内に
コマンドラインで打ち込む順にリストに入れます。
例えば以下の様に引数を指定プログラム実行するとします。
$ python test.py --batchsize 200 --epoch 100 -g
この実行と同じ引数指定をして、jupyter上で実行する場合は、該当部分を、
args = parser.parse_args(args=['--batchsize','200','--epoch','100','-g'])
とすれば、実行できます。
皆さんよきJupyter生活を!!
####reference
https://blog.csdn.net/u012869752/article/details/72513141