Posterior a consultar especialistas en esta materia, programadores de deferentes áreas y profesores dimos con la solución al problema y la compartimos en este post.
Solución:
Actualizar
El sitio web de TensorFlow admite cinco instalaciones.
Según tengo entendido, usar la instalación de Pip directamente estaría bien para importar TensorFlow en Jupyter Notebook (siempre que Jupyter Notebook esté instalado y no haya otros problemas) porque no creó ningún entorno virtual.
El uso de virtualenv install y conda install necesitaría instalar jupyter en el entorno TensorFlow recién creado para permitir que TensorFlow funcione en Jupyter Notebook (Consulte la siguiente sección de publicación original para obtener más detalles).
Creo que la instalación de Docker puede requerir alguna configuración de puerto en VirtualBox para que TensorFlow funcione en Jupyter Notebook (ver esta publicación).
Para la instalación desde fuentes, también depende del entorno en el que se construya e instale el código fuente. Si está instalado en un entorno virtual recién creado o en un entorno virtual que no tenía instalado Jupyter Notebook, también deberá instalar Jupyter Notebook en el entorno virtual para usar Tensorflow en Jupyter Notebook.
Publicación original
Para usar tensorflow en Ipython y/o Jupyter(Ipython) Notebook, deberá instalar Ipython y Jupyter (después de instalar tensorflow) en el entorno activado por tensorflow.
Antes de instalar Ipython y Jupyter en el entorno tensorflow, si ejecuta los siguientes comandos en la terminal:
username$ source activate tensorflow
(tensorflow)username$ which ipython
(tensorflow)username$ /Users/username/anaconda/bin/ipython
(tensorflow)username$ which jupyter
(tensorflow)username$ /Users/username/anaconda/bin/jupyter
(tensorflow)username$ which python
(tensorflow)username$ /User/username//anaconda/envs/tensorflow/bin/python
Esto le dice que cuando abre python desde la terminal, está usando el instalado en los “entornos” donde está instalado tensorflow. Por lo tanto, puede importar tensorflow con éxito. Sin embargo, si está intentando ejecutar ipython y/o jupyter notebook, estos no están instalados en los “entornos” equipados con tensorflow, por lo tanto, tiene que volver a usar el entorno normal que no tiene módulo tensorflow, por lo que obtiene una importación error.
Puede verificar esto enumerando los elementos en el directorio envs/tensorflow/bin:
(tensorflow) username$ ls /User/username/anaconda/envs/tensorflow/bin/
Verá que no hay ninguna lista de “ipython” y/o “jupyer”.
Para usar tensorflow con Ipython y/o Jupyter notebook, simplemente instálelos en el entorno de tensorflow:
(tensorflow) username$ conda install ipython
(tensorflow) username$ pip install jupyter #(use pip3 for python3)
Después de instalarlos, debería aparecer un “jupyer” y un “ipython” en el directorio envs/tensorflow/bin/.
Notas: Antes de intentar importar el módulo tensorflow en el cuaderno jupyter, intente cerrar el cuaderno. Y primero “fuente desactivar tensorflow” y luego reactivarlo (“fuente activar tensorflow”) para asegurarse de que todo esté “en la misma página”. Luego vuelva a abrir el cuaderno e intente importar tensorflow. Debería importarse con éxito (al menos funcionó en el mío).
Usé estos siguientes en virtualenv.
pip3 install --ignore-installed ipython
pip3 install --ignore-installed jupyter
Esto reinstala tanto ipython como jupyter notebook en mi entorno virtual de tensorflow. Puede verificarlo después de la instalación por which ipython
y which jupyter
. los bin
estará bajo el entorno virtual.
NOTA Estoy usando python 3.*
Tengo otra solución que no necesitas source activate tensorflow
antes de usar jupyter notebook
cada vez.
Parte 1
En primer lugar, debe asegurarse de haber instalado jupyter en su virtualenv. Si ha instalado, puede omitir esta sección (Usar which jupyter
verificar). Si no, podrías correr source activate tensorflow
y luego instale jupyter en su virtualenv por conda install jupyter
. (Puedes usar pip
también.)
Parte 2
1.Desde dentro de su virtualenv, ejecute
username$ source activate tensorflow
(tensorflow)username$ ipython kernelspec install-self --user
Esto creará una especificación de kernel para su virtualenv y le dirá dónde está:
(tensorflow)username$ [InstallNativeKernelSpec] Installed kernelspec pythonX in /home/username/.local/share/jupyter/kernels/pythonX
Donde pythonX coincidirá con la versión de Python en su virtualenv.
2.Copie el nuevo kernelspec en algún lugar útil. Escoge un kernel_name
para su nuevo núcleo que no es python2
o python3
o uno que hayas usado antes y luego:
(tensorflow)username$ mkdir -p ~/.ipython/kernels
(tensorflow)username$ mv ~/.local/share/jupyter/kernels/pythonX ~/.ipython/kernels/
3.Si desea cambiar el nombre del kernel que IPython le muestra, debe editar ~/.ipython/kernels/
y cambiar el JSON key llamado display_name
ser un nombre que te guste.
4. Ahora debería poder ver su kernel en el menú del cuaderno de IPython: Kernel -> Change kernel
y poder cambiar a él (es posible que deba actualizar la página antes de que aparezca en la lista). IPython recordará qué kernel usar para ese portátil a partir de ese momento.
Referencia.
Reseñas y puntuaciones del artículo
Recuerda que puedes compartir este enunciado si te fue útil.