close

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

Hello Guys, How are you all? Hope You all Are Fine. Today We Are Going To learn about How to fix ipykernel_launcher.py: error: unrecognized arguments in jupyter in Python. So Here I am Explain to you all the possible Methods here.

Without wasting your time, Let’s start This Article.

Table of Contents

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

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

    I got it! the reason why we get the error is because this code is using argparse and this module is used to write user-friendly command-line interfaces, so it seems, it has a conflict with Jupyter Notebook.

  2. fix ipykernel_launcher.py: error: unrecognized arguments in jupyter

    I got it! the reason why we get the error is because this code is using argparse and this module is used to write user-friendly command-line interfaces, so it seems, it has a conflict with Jupyter Notebook.

Method 1

A more elegant solution would be:

args, unknown = parser.parse_known_args()

instead of

args = parser.parse_args()

Method 2

I got it! the reason why we get the error is because this code is using argparse and this module is used to write user-friendly command-line interfaces, so it seems, it has a conflict with Jupyter Notebook.

I found the solution in this page:

What we have to do is:

Delete or comment 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:])

for a dictionary using the library easydict in this way:

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

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

Update

After all this year diving deeper in python, I found the solution for this question is way more simple (We don’t need to use any external library or method). argparse is just one of the many ways to pass arguments to a script in python from the terminal. When I tried to do it in a jupyter notebook obviously that wasn’t going to work. We can just replace in the function directly the parameters like:

funtion(batch_size=100, train_steps=1000)

Now, if we have a long list of parameters for our function, we can use *args or **kargs.

*args pass a tuple as parameters in the function, for this case, in particular, it will be:

args = (100, 1000)
function(*args)

**kargs pass a dictionary as arguments to our function:

kargs = {"batch_size": 100,
        "train_steps": 1000}
function(**kargs)

just google it and you will find a really good explanation on how to use them both, here one documentation that I used to study this.

Summery

It’s all About this issue. Hope all Methods helped you a lot. Comment below Your thoughts and your queries. Also, Comment below which Method worked for you? Thank You.

Also, Read