在Google Colab笔记本中运行localhost服务器

时间:2020-03-06 20:39:22

标签: python tensorflow jupyter-notebook google-colaboratory

我正在尝试使用Github中的repo这种代码在Google Colab中使用Tensorflow实现Tacotron语音合成,下面是我的代码,在使用localhost服务器之前,该代码一直工作良好,如何运行Google Colab笔记本中的本地主机服务器?

我的代码:

!pip install tensorflow==1.3.0
import tensorflow as tf
print("You are using Tensorflow",tf.__version__)
!git clone https://github.com/keithito/tacotron.git
cd tacotron
pip install -r requirements.txt
!curl https://data.keithito.com/data/speech/tacotron-20180906.tar.gz | tar xzC /tmp
!python demo_server.py --checkpoint /tmp/tacotron-20180906/model.ckpt #requires localhost

不幸的是,从Google Colab在本地模式下运行对我没有帮助,因为要执行此操作,我需要将计算机中的数据下载太大。
以下是我的最后一个输出,在这里我应该打开localhost:8888以完成工作,所以正如我之前提到的,有什么方法可以在Google Colaboratory中运行localhost?

enter image description here

2 个答案:

答案 0 :(得分:5)

您可以使用ngrok或remote.it之类的工具来完成此操作

它们为您提供了一个URL,您可以从任何浏览器访问该URL以访问运行在8888上的Web服务器

示例1:在

上运行的隧道张量板
!wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
!unzip ngrok-stable-linux-amd64.zip

get_ipython().system_raw('tensorboard --logdir /content/trainingdata/objectdetection/ckpt_output/trainingImatges/ --host 0.0.0.0 --port 6006 &')

get_ipython().system_raw('./ngrok http 6006 &')

! curl -s http://localhost:4040/api/tunnels | python3 -c \
 "import sys, json; print(json.load(sys.stdin)['tunnels'][0]['public_url'])"

在colab上运行此安装ngrok,并建立一个类似于http://c11e1b53.ngrok.io/

的链接

Documentaion for NGROK

答案 1 :(得分:2)

使用ngrok运行公开访问服务器的另一种方法:

!pip install pyngrok --quiet
from pyngrok import ngrok

# Terminate open tunnels if exist
ngrok.kill()

# Setting the authtoken (optional)
# Get your authtoken from https://dashboard.ngrok.com/auth
NGROK_AUTH_TOKEN = ""
ngrok.set_auth_token(NGROK_AUTH_TOKEN)

# Open an HTTPs tunnel on port 5000 for http://localhost:5000
public_url = ngrok.connect(port="5000", proto="http", options={"bind_tls": True})
print("Tracking URL:", public_url)