J'ai suivi les instructions du hub Docker Tensorflow pour pouvoir utiliser une image docker prête pour le GPU avec un port exposé pour le développement local de notebooks Jupyter; y compris l'installation du nvidia-docker
Je peux importer des packages sans problème, mais la complétion du code ne fonctionne pas lorsque vous appuyez sur l'onglet. Par exemple:
$ docker --version Docker version 18.09.1, build 4c52b90
Je peux utiliser le code si je tape I manuellement. Je peux exécuter ce qui suit:
docker run -u $(id -u):$(id -g) -it --runtime=nvidia --rm \ -v $(realpath ~/Documents/jupyter_notebooks):/tf/notebooks \ -p 8888:8888 tensorflow/tensorflow:nightly-gpu-py3-jupyter
Fait intéressant, si je tape tf.
et frappe shift-
J'ai utilisé la commande suivante pour extraire l'image du docker et l'exécuter :
import numpy as np # no complaints np.arange(0, 10) # returns expected result
En plus de lier un dossier local au conteneur, cela mappe mon ID utilisateur au conteneur en cours d'exécution, donc je ne travaille pas depuis root em > le dossier personnel de> (mon installation de docker est conçue pour appartenir à root . Je peux ouvrir le répertoire notebook dans le navigateur et démarrer un nouveau notebook Python3, comme d'habitude.
I J'utilise Ubuntu 16.04, j'ouvre des blocs-notes Jupyter dans Chrome (j'utilise l'extension vimium , mais elle est désactivée et j'ai redémarré le conteneur après avoir pensé qu'il pouvait jouer avec les commandes clavier envoyées à Chrome). p >
import tensorflow as tf # works fine tf. <tab> # nothing happens
3 Réponses :
Je suis tombé sur une solution simple et rapide - il suffit d'exécuter l'une des commandes magiques Jupyter:
%config IPCompleter.greedy=True
A également travaillé dans un notebook Jupyter fonctionnant dans PyCharm. Dès que j'ai exécuté cette commande, PyCharm a commencé à indexer le projet, ce qui signifie que l'achèvement du code fonctionnait aussi bien dans les scripts que dans le cahier (qui ne fonctionnait pas non plus!)
Il devrait être possible d'ajouter le config dans un fichier de configuration Jupyter global.
Il existe une deuxième solution possible sur le même thread, en utilisant une extension notebook, mais je ne l'ai pas testée.
p >
Voici la documentation pertinente pour % config
J'ai essayé cela mais cela n'a pas fonctionné pour moi. J'utilise également le docker tensorflow avec gpu sur Ubuntu 18.04: /
J'ai écrit un plugin pour jupyter notebook qui fournit une autocomplétion de code basée sur un modèle d'apprentissage profond. C'est le modèle C / S, et peut être exécuté partout. Vous pouvez essayer ceci: https://github.com/wenmin-wu/jupyter-tabnine a> Cet outil est désormais disponible sur pypi . Exécutez simplement la commande de quatre lignes et profitez-en :)
pip3 install jupyter-tabnine jupyter nbextension install --py jupyter_tabnine jupyter nbextension enable --py jupyter_tabnine jupyter serverextension enable --py jupyter_tabnine
Le plugin tabnine de Wenmin Wu est certainement un meilleur service d'auto-complétion que celui intégré.
Je tiens à souligner qu'IPython utilise Jedi pour effectuer l'auto-complétion et d'autres magies. Cependant, la compatibilité entre le duo est problématique de temps en temps. En plus d'attendre une mise à jour IPython, une solution simple est cette magie:
%config IPCompleter.use_jedi=False