のねのBlog

パソコンの問題や、ソフトウェアの開発で起きた問題など書いていきます。よろしくお願いします^^。

visdomを、Google colabで動かす方法

これで、動いてるのかな?

! npm install -g localtunnel
!python3 -m pip install visdom
!python3 -m visdom.server -port 6006 >> visdomlog.txt 2>&1 &
!lt --port 6006 >> url.txt 2>&1 &

#get_ipython().system_raw('/usr/local/bin/python3 -m pip install visdom')
#get_ipython().system_raw('/usr/local/bin/python3 -m visdom.server -port 6006 >> visdomlog.txt 2>&1 &')
#get_ipython().system_raw('lt --port 6006 >> url.txt 2>&1 &')

import time
time.sleep(5)
! cat url.txt
import visdom
time.sleep(5)
vis = visdom.Visdom(port='6006')
print(vis)
time.sleep(3)
vis.text('testing')
! cat visdomlog.txt

How to run Visdom on colab? · Issue #419 · facebookresearch/visdom · GitHub

ログは、エラーが出てない。

/tools/node/bin/lt -> /tools/node/lib/node_modules/localtunnel/bin/client
+ localtunnel@1.9.1
updated 1 package in 0.832s
Requirement already satisfied: visdom in /usr/local/lib/python3.6/dist-packages (0.1.8.8)
Requirement already satisfied: tornado in /usr/local/lib/python3.6/dist-packages (from visdom) (4.5.3)
Requirement already satisfied: torchfile in /usr/local/lib/python3.6/dist-packages (from visdom) (0.1.0)
Requirement already satisfied: pyzmq in /usr/local/lib/python3.6/dist-packages (from visdom) (17.0.0)
Requirement already satisfied: scipy in /usr/local/lib/python3.6/dist-packages (from visdom) (1.1.0)
Requirement already satisfied: six in /usr/local/lib/python3.6/dist-packages (from visdom) (1.11.0)
Requirement already satisfied: pillow in /usr/local/lib/python3.6/dist-packages (from visdom) (4.0.0)
Requirement already satisfied: websocket-client in /usr/local/lib/python3.6/dist-packages (from visdom) (0.54.0)
Requirement already satisfied: numpy>=1.8 in /usr/local/lib/python3.6/dist-packages (from visdom) (1.14.6)
Requirement already satisfied: requests in /usr/local/lib/python3.6/dist-packages (from visdom) (2.18.4)
Requirement already satisfied: olefile in /usr/local/lib/python3.6/dist-packages (from pillow->visdom) (0.46)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/dist-packages (from requests->visdom) (2018.11.29)
Requirement already satisfied: idna<2.7,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests->visdom) (2.6)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests->visdom) (3.0.4)
Requirement already satisfied: urllib3<1.23,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from requests->visdom) (1.22)
your url is: https://odd-panther-75.localtunnel.me
your url is: https://big-grasshopper-66.localtunnel.me
your url is: https://stupid-insect-7.localtunnel.me
WARNING:root:Setting up a new session...
<visdom.Visdom object at 0x7f70c54be240>
/usr/bin/python2: No module named visdom
/bin/bash: /usr/local/bin/python3: No such file or directory
INFO:root:Application Started
INFO:tornado.access:200 POST /env/main (::1) 1.27ms
INFO:tornado.access:101 GET /vis_socket (::1) 0.85ms
INFO:root:Opened visdom socket from ip: ::1
INFO:tornado.access:200 POST /events (::1) 0.89ms


ポートを8097に変えたところ、以下のエラーがでる。

ERROR:visdom:[Errno 111] Connection refused

最終的に、以下を実行したあと、train.pyを動かせばいいと思う。
サーバーは、バックグラウンドで動いているので
"ps -efl"で確認した。

! npm install -g localtunnel
!python3 -m pip install visdom

!python3 -m visdom.server -port 8076 >> visdomlog.txt 2>&1 & <==サーバーを動かす
!lt --port 8076 >> url.txt 2>&1 & <==ポートを中継する

import time
time.sleep(5)
! cat url.txt  <==開くべきURL

f:id:none53:20190128095927p:plain
visdomの例
GitHub - junyanz/pytorch-CycleGAN-and-pix2pix: Image-to-image translation in PyTorch (e.g., horse2zebra, edges2cats, and more)