Description
I have trouble making the TensorBoard browser interface available on localhost
, from external systems, and via an SSH tunnel at the same time. I use LocalForward 6006 localhost:6006
in my client SSH config, using the Windows 10 OpenSSH server and client.
Basically, in the default configuration (no extra parameter), tensorboard is available on localhost:6006
(as expected), but not via hostname:6006 on either client or server (as expected) and not via localhost:6006
on the SSH client system (not as expected).
When I use bind_all
, it's accessible via localhost:6006
from client and server (as expected), but not via hostname:6006
on the server or client (not as expected). I had a similar issue in the default configuration of TB 1.14, if I recall correctly.
--host 0.0.0.0
works the same as bind_all
.
--host hostname
makes it available via hostname:6006
on both, but not via localhost:6006
(all as expected).
So in summary,
- default config should make it available via port forwarding but doesn't, and
bind_all
should make it available viahostname:6006
but doesn't.
Steps to reproduce (required)
This is the code that I use to start tensorboard:
# [X] localhost [X] port forwarding [ ] hostname
remote_argv = ["--bind_all"]
# [X] localhost [X] port forwarding [ ] hostname
# remote_argv = ["--host", "0.0.0.0"]
# [ ] localhost [ ] port forwarding [X] hostname
# remote_argv = ["--host", hostname]
# [X] localhost [ ] port forwarding [ ] hostname
remote_argv = remote_argv if remote else []
argv = ("tensorboard.exe",
"--logdir", log_dir,
"--port", str(port),
*remote_argv,
)
with open(log_file, 'w') as stdout:
proc = subprocess.Popen(argv, stdout=stdout, stderr=subprocess.STDOUT)
Diagnostics
Diagnostics output
--- check: autoidentify
INFO: diagnose_tensorboard.py version 4725c70c7ed724e2d1b9ba5618d7c30b957ee8a4
--- check: general
INFO: sys.version_info: sys.version_info(major=3, minor=7, micro=4, releaselevel='final', serial=0)
INFO: os.name: nt
INFO: os.uname(): N/A
INFO: sys.getwindowsversion(): sys.getwindowsversion(major=10, minor=0, build=18362, platform=2, service_pack='')
--- check: package_management
INFO: has conda-meta: False
INFO: $VIRTUAL_ENV: None
--- check: installed_packages
INFO: installed: tensorboard==2.0.0
INFO: installed: tensorflow-gpu==1.14.0
INFO: installed: tensorflow-estimator==1.14.0
--- check: tensorboard_python_version
INFO: tensorboard.version.VERSION: '2.0.0'
--- check: tensorflow_python_version
INFO: tensorflow.__version__: '1.14.0'
INFO: tensorflow.__git_version__: 'unknown'
--- check: tensorboard_binary_path
INFO: which tensorboard: b'C:\\Users\\bersbersbers\\AppData\\Local\\Programs\\Python\\Python37\\Scripts\\tensorboard.exe\r\n'
--- check: readable_fqdn
INFO: socket.getfqdn(): 'computer.company.org'
--- check: stat_tensorboardinfo
INFO: directory: C:\Users\bersbersbers\AppData\Local\Temp\.tensorboard-info
INFO: os.stat(...): os.stat_result(st_mode=16895, st_ino=5066549581543995, st_dev=2857197680, st_nlink=1, st_uid=0, st_gid=0, st_size=4096, st_atime=1570457602, st_mtime=1570457602, st_ctime=1570439229)
INFO: mode: 0o40777
--- check: source_trees_without_genfiles
INFO: tensorboard_roots (1): ['C:\\Users\\bersbersbers\\AppData\\Local\\Programs\\Python\\Python37\\lib\\site-packages']; bad_roots (0): []
--- check: full_pip_freeze
INFO: pip freeze --all:
2to3==1.0
absl-py==0.8.0
altgraph==0.16.1
astor==0.8.0
astroid==2.2.5
astropy==3.2.1
attrs==19.1.0
autopep8==1.4.4
backcall==0.1.0
bandit==1.6.2
bleach==3.1.0
certifi==2019.6.16
chardet==3.0.4
colorama==0.4.1
cycler==0.10.0
decorator==4.4.0
defusedxml==0.6.0
dodgy==0.1.9
entrypoints==0.3
flake8==3.7.8
flake8-polyfill==1.0.2
future==0.17.1
gast==0.2.2
gitdb2==2.0.5
GitPython==3.0.2
google-pasta==0.1.7
grpcio==1.23.0
h5py==2.10.0
humanize==0.5.1
idna==2.8
imageio==2.5.0
imageio-ffmpeg==0.3.0
ipykernel==5.1.2
ipython==7.8.0
ipython-genutils==0.2.0
ipywidgets==7.5.1
isbnlib==3.9.8
isbnlib-dnb==0.0.3
isbntools==4.3.20
isort==4.3.21
jedi==0.15.1
Jinja2==2.10.1
joblib==0.13.2
jsonschema==3.0.2
jupyter==1.0.0
jupyter-client==5.3.1
jupyter-console==6.0.0
jupyter-core==4.5.0
Keras==2.2.5
Keras-Applications==1.0.8
Keras-Preprocessing==1.1.0
kiwisolver==1.1.0
lazy-object-proxy==1.4.2
Markdown==3.1.1
MarkupSafe==1.1.1
matlabengineforpython===R2019a
matplotlib==3.1.1
mccabe==0.6.1
mistune==0.8.4
moviepy==1.0.0
mypy==0.720
mypy-extensions==0.4.1
nbconvert==5.6.0
nbformat==4.4.0
nibabel==2.5.0
notebook==6.0.1
numpy==1.17.2
packaging==19.1
pandas==0.25.1
pandocfilters==1.4.2
parso==0.5.1
pbr==5.4.3
pefile==2019.4.18
pep8==1.7.1
pep8-naming==0.8.2
pickleshare==0.7.5
Pillow==6.1.0
pip==19.2.3
pip-review==1.0
pipdeptree==0.13.2
proglog==0.1.9
prometheus-client==0.7.1
prompt-toolkit==2.0.9
prospector==1.1.7
protobuf==3.9.1
psutil==5.6.3
py3c==1.0
pycodestyle==2.5.0
pydicom==1.3.0
pydocstyle==4.0.1
pyflakes==2.1.1
Pygments==2.4.2
pyhibp==4.0.0
PyInstaller==3.5
PyJWT==1.7.1
pylama==7.7.1
pylint==2.3.1
pylint-celery==0.3
pylint-django==2.0.11
pylint-flask==0.6
pylint-plugin-utils==0.5
pynrrd==0.4.0
pyparsing==2.4.2
pypng==0.0.20
pyrsistent==0.15.4
python-dateutil==2.8.0
pytz==2019.2
pywin32==224
pywin32-ctypes==0.2.0
pywinpty==0.5.5
PyYAML==5.1.2
pyzmq==18.1.0
qtconsole==4.5.5
requests==2.22.0
requirements-detector==0.6
rope==0.14.0
scikit-learn==0.21.3
scipy==1.3.1
seaborn==0.9.0
Send2Trash==1.5.0
setoptconf==0.2.0
setuptools==41.2.0
six==1.12.0
smmap2==2.0.5
snowballstemmer==1.9.1
stevedore==1.31.0
tee==0.0.3
tensorboard==2.0.0
tensorflow-estimator==1.14.0
tensorflow-gpu==1.14.0
termcolor==1.1.0
terminado==0.8.2
testpath==0.4.2
tornado==6.0.3
tqdm==4.35.0
traitlets==4.3.2
typed-ast==1.4.0
typing-extensions==3.7.4
urllib3==1.25.3
wcwidth==0.1.7
webencodings==0.5.1
Werkzeug==0.15.6
wheel==0.33.6
widgetsnbextension==3.5.1
wrapt==1.11.2