Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using TensorFlow through Jupyter (Python 3)

Apologies in advance, I think the issue is quite perplexing!

I would like to use TensorFlow through Jupyter, with a Python3 kernel.

However the command import tensorflow as tf returns the error: ImportError: No module named tensorflow when either Python2 or Python3 is specified as the Jupyter kernel.

  • I have Python 2 and Python 3 installed on my Mac and can access both versions through Terminal.
  • I installed TensorFlow for Python 3, however I can only access it via Python 2 on the Terminal.

As such, this question is really two-fold:

  1. I want to get TensorFlow working with Python3
  2. ...which should lead to TensorFlow working with Jupyter on the Python3 terminal.
like image 731
WΔ_ Avatar asked Mar 03 '16 11:03

WΔ_


People also ask

Can we use TensorFlow in Jupyter notebook?

From the picture, python, jupyter and ipython are installed in the same environment. It means, you can use TensorFlow with a Jupyter Notebook.

Does Python 3.7 supports TensorFlow?

TensorFlow is tested and supported on the following 64-bit systems: Python 3.7–3.10.


Video Answer


1 Answers

I had the same problem and solved it using the tutorial Using a virtualenv in an IPython notebook. I'll walk you through the steps I took.

I am using Anaconda, and I installed a new environment tensorflow using these instructions at tensorflow.org. After that, here is how I got tensorflow to work in a Jupyter notebook:

  1. Open Terminal
  2. Run source activate tensorflow. You should now see (tensorflow) at the beginning of the prompt.
  3. Now that we are in the tensorflow environment, we want to install ipython and jupyter in this environment: Run

    conda install ipython 
    

    and

    conda install jupyter
    
  4. Now follow the instructions in the tutorial linked above. I'll repeat them here with a bit more information added. First run

    ipython kernelspec install-self --user 
    

    The result for me was Installed kernelspec python3 in /Users/charliebrummitt/Library/Jupyter/kernels/python3

  5. Run the following:

    mkdir -p ~/.ipython/kernels
    

    Then run the following with <kernel_name> replaced by a name of your choice (I chose tfkernel) and replace the first path (i.e., ~/.local/share/jupyter/kernels/pythonX) by the path generated in step 4:

    mv ~/.local/share/jupyter/kernels/pythonX ~/.ipython/kernels/<kernel_name>
    
  6. Now you'll see a new kernel if you open a Jupyter notebook and select Kernel -> Change kernel from the menu. But the new kernel will have the same name as your previous kernel (for me it was called Python 3). To give your new kernel a unique name, run in Terminal

    cd ~/.ipython/kernels/tfkernel/
    

    and then run vim kernel.json to edit the file kernel.json so that you replace the value of "display_name" from the default (Python 3) to a new name (I chose to call it "tfkernel"). Save and exit vim by typing :wq while in command mode.

  7. Open a new Jupyter notebook and type import tensorflow as tf. If you didn't get ImportError then you are ready to go!
like image 63
Charlie Brummitt Avatar answered Oct 22 '22 02:10

Charlie Brummitt