VSCode mit Github und Colab verbinden - mit Colab-ssh

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
say_hello
User
Beiträge: 51
Registriert: Sonntag 14. Oktober 2012, 12:33

Moin liebe Python-Community,

Cloud-Instanzen wie Google Colab usw. bieten kostenlose oder sehr kostengünstige Optionen für Speicher, GPU-Computing, gebrauchsfertige Container und eine Jupyter-Notebook-/Lab-IDE für an. Insgesamt gibts hier viele Möglichkeiten.

Dennoch: Ich persönlich mag auch IDEs wie VSCode, um selbst kleine Projekte zu entwickeln. Angesichts der Tatsache, dass VSCode ssh-Remote-Zugriff auf Maschinen und (darüber hinaus sogar auch) auf Docker-Container bietet, frage ich mich, was sind hier die besten Optionen, um dies zu realisieren?

Frage: gibt es neben Colab-ssh noch weitere - gegebenenfalls vielleicht bessere Möglichkeiten?

Hintergrund: will einen Remote-Computer von Google Colab mit Vs Code einrichten. Dabei arbeitet man auf dem Jupyter-Notebook innerhalb von Colab, das im Browser des lokalen Computers gehostet wird.

Die Verbindung von Colab & Vs Code und GitHub, sie ermöglicht uns:
- das lokale Repository auf Colab einbringen
- Jupyter Notebook in Colab mithilfe der Portweiterleitung ausführen

Wir haben ja das von Google Colab gehostete Jupyter-Notebook, deren GPUs, (bedingungsetzend ist hier lediglich die Internetgeschwindigkeit) und die anderen Ressourcen zuzugreifen. Man kann darüber hinaus auch mit dem lokalen Vs Code-Editor auf diese Ressourcen zugreifen (was den Vorteil bietet, dass wir in den Repositories navigieren können, die mehrere Ordner und voneinander abhängige Codedateien enthalten).

Der Vorteil - es ist also so als ob wir auf dem lokalen Computer mit Vs Code-Navigationsfunktionen, GUI usw. arbeiten, während wir in Wirklichkeit auf die Computer von Colab zugreifen. Das ist - finde ich - sehr sehr praktisch. Es gibt noch mehr Vorteile - denn über das gerade gesagte hinaus, gibt es darüber hinaus kann man die lokalen Dateien auf GitHub hochlegen - und sie auf den Colab-Computer klonen. Der Vorteil für das Arbeiten: Die Dateien können also Colab entwickelt bzw. bearbeitet werden. Die Verbindung von Colab & Vs Code und GitHub, sie ermöglicht uns sehr viel - aufs Ganze gesehen, dann auch dass man am Ende des Tages dann die ganze Arbeit auf GitHub sichern kann, indem man die aktualisiertes Repository einfach zurück auf GitHub verschiebt. Das ist alles sehr praktisch.

Mir geht es hier um die konkrete Umsetzung:

ich hab von der Lösung mit Colab-ssh erfahren: GitHub - WassimBenzarti/colab-ssh: Connect to Google Colab using SSH
https://github.com/WassimBenzarti/colab-ssh
Colab-ssh is a light-weight library that allows you to connect to a remote Jupyter Notebook using an SSH Tunnel and optionally via VSCode.
Open Google Colab and run this code in one of the code cells

Code: Alles auswählen

# Install colab_ssh on google colab

!pip install colab_ssh --upgrade

from colab_ssh import launch_ssh_cloudflared, init_git_cloudflared

launch_ssh_cloudflared(password="<PUT_YOUR_PASSWORD_HERE>")


# Optional: if you want to clone a Github or Gitlab repository

repository_url="<PUT_YOUR_REPOSITORY_URL_HERE>"

init_git_cloudflared(repository_url)
und darüber hinaus...:

Code: Alles auswählen

Make sure you replace <PUT_YOUR_PASSWORD_HERE> with a password of your choice and <PUT_YOUR_REPOSITORY_URL_HERE> with the link to your Github/Gitlab
repository (if you use the git integration).
The output of this snippet will look similar to the following screenshot: launch_ssh_cloudflared output
warning If it's the first time you launch colab-ssh on your machine, it's important to follow the instructions in the "Client machine configuration" section. To show the steps that you need to do, just click "Client machine configuration". Don't worry, you don't have to repeat these steps again for each notebook.

grey_question Things doesn't work ? or looking for a way to connect using Ngrok ? Check the colab-ssh ngrok documentation
GitHub - WassimBenzarti/colab-ssh: Connect to Google Colab using SSH
https://github.com/WassimBenzarti/colab-ssh

ich hab noch eine Methode gefunden, die ohne den Gebrauch von ssh auskommt:

Is it possible to connect vscode (on a local machine) with Google Colab (the free service) runtime?

GitHub - WassimBenzarti/colab-ssh: Connect to Google Colab using SSH
https://github.com/WassimBenzarti/colab-ssh

ich hab noch eine Methode gefunden, die ohne den Gebrauch von ssh auskommt:

Is it possible to connect vscode (on a local machine) with Google Colab (the free service) runtime?
vgl. https://stackoverflow.com/questions/595 ... ab-the-fre

Code: Alles auswählen

# Install jupyterlab and ngrok

!pip install jupyterlab==2.2.9 pyngrok -q

# Run jupyterlab in background

!nohup jupyter lab --ip=0.0.0.0 &

# Make jupyterlab accessible via ngrok

from pyngrok import ngrok

print(ngrok.connect(8888))

It will then show a JupyterLab URL

Code: Alles auswählen


http://f1fe6fb39df6.ngrok.io  # for example

You can click it to run JupyterLab now. Or use the URL with VSCode for remote Jupyter kernel.

You can also use my lib

rary to make it short.

!pip install kora -q

from kora import jupyter

jupyter.start(lab=True)

vgl. GitHub - WassimBenzarti/colab-ssh: Connect to Google Colab using SSH
https://github.com/WassimBenzarti/colab-ssh

ich hab noch eine Methode gefunden, die ohne den Gebrauch von ssh auskommt:

Is it possible to connect vscode (on a local machine) with Google Colab (the free service) runtime?
vgl. https://stackoverflow.com/questions/595 ... ab-the-fre


Wie würdet Ihr denn ansetzen und vorgehen!?
Antworten