How to fix ipykernel_launcher.py: error: unrecognized Arguments in jupyter?

Asked

Viewed 440 times

0

I’m following this one tutorial tensorflow after two days preparing the environment in Anaconda I finally managed to perform premade_estimator.py using the cmd

but when I try to run the same code in jupyter, I get this error:

usage: ipykernel_launcher.py [-h] [--batch_size BATCH_SIZE]
                             [--train_steps TRAIN_STEPS]

ipykernel_launcher.py: error: unrecognized arguments: -f C:\Users\david\AppData\Roaming\jupyter\runtime\kernel-4faecb24-6e87-40b4-bf15-5d24520d7130.json

An Exception has occurred, use %tb to see the full traceback.

SystemExit: 2

C:\Anaconda3\envs\python3x\lib\site-packages\IPython\core\interactiveshell.py:2918: 
UserWarning: To exit: use 'exit', 'quit', or Ctrl-D. warn("To exit: use 'exit', 'quit', or Ctrl-D.", stacklevel=1)

I tried to fix it unsuccessfully with those lines:

pip install --ignore-installed --upgrade jupyter

pip install ipykernel
python -m ipykernel install

conda install notebook ipykernel
ipython kernelspec install-self

Any idea will be appreciated! Thank you!

1 answer

0


I did it! The reason why it gives us this error is because the code uses 'argparse` and this module is used to write friendly command lines and apparently this creates a conflict with Jupyter Notebook.

I found the solution in this page:

What we have to do is:

Delete or comment on these lines:

parser = argparse.ArgumentParser()
parser.add_argument('--batch_size', default=100, type=int, help='batch size')
parser.add_argument('--train_steps', default=1000, type=int,
                    help='number of training steps')

and replace args

args = parser.parse_args(argv[1:])

To a dictionary using the library easydict in this way:

args = easydict.EasyDict({
    "batch_size": 100,
    "train_steps": 1000
})

With easydict we can access the dictionary values as attributes for the arguments.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.