tensorflow / tensorflow/tensorboard

UMAP and TSNE for Embedding Projector Doesn't Load

Open
#6,865 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
7.2k
Forks
1.7k
Avg merge
4d 22h
Merged PRs (30d)
1

Description

Environment information (required)

Please run diagnose_tensorboard.py (link below) in the same
environment from which you normally run TensorFlow/TensorBoard, and
paste the output here:

https://raw.githubusercontent.com/tensorflow/tensorboard/master/tensorboard/tools/diagnose_tensorboard.py

Diagnostics

'

Diagnostics output
--- check: autoidentify
INFO: diagnose_tensorboard.py version c6ca9f1d004e2a1bc7c160abc43be229b82cad7e

--- check: general
INFO: sys.version_info: sys.version_info(major=3, minor=12, micro=2, releaselevel='final', serial=0)
INFO: os.name: posix
INFO: os.uname(): posix.uname_result(sysname='Linux', nodename='ip-172-31-31-15.us-east-2.compute.internal', release='6.1.91-99.172.amzn2023.x86_64', version='#1 SMP PREEMPT_DYNAMIC Tue May 21 16:55:08 UTC 2024', machine='x86_64')
INFO: sys.getwindowsversion(): N/A

--- check: package_management
INFO: has conda-meta: True
INFO: $VIRTUAL_ENV: None

--- check: installed_packages
WARNING: no installation among: ['tb-nightly', 'tensorboard', 'tensorflow-tensorboard']
WARNING: no installation among: ['tensorflow', 'tensorflow-gpu', 'tf-nightly', 'tf-nightly-2.0-preview', 'tf-nightly-gpu', 'tf-nightly-gpu-2.0-preview']
WARNING: no installation among: ['tensorflow-estimator', 'tensorflow-estimator-2.0-preview', 'tf-estimator-nightly']

--- check: tensorboard_python_version
Traceback (most recent call last):
  File "/home/ec2-user/platform/tensorboard-server/tensorboard/tensorboard/tools/diagnose_tensorboard.py", line 511, in main
    suggestions.extend(check())
                       ^^^^^^^
  File "/home/ec2-user/platform/tensorboard-server/tensorboard/tensorboard/tools/diagnose_tensorboard.py", line 81, in wrapper
    result = fn()
             ^^^^
  File "/home/ec2-user/platform/tensorboard-server/tensorboard/tensorboard/tools/diagnose_tensorboard.py", line 260, in tensorboard_python_version
    from tensorboard import version
ModuleNotFoundError: No module named 'tensorboard'

--- check: tensorflow_python_version
Traceback (most recent call last):
  File "/home/ec2-user/platform/tensorboard-server/tensorboard/tensorboard/tools/diagnose_tensorboard.py", line 511, in main
    suggestions.extend(check())
                       ^^^^^^^
  File "/home/ec2-user/platform/tensorboard-server/tensorboard/tensorboard/tools/diagnose_tensorboard.py", line 81, in wrapper
    result = fn()
             ^^^^
  File "/home/ec2-user/platform/tensorboard-server/tensorboard/tensorboard/tools/diagnose_tensorboard.py", line 267, in tensorflow_python_version
    import tensorflow as tf
ModuleNotFoundError: No module named 'tensorflow'

--- check: tensorboard_data_server_version
INFO: no data server installed

--- check: tensorboard_binary_path
INFO: which tensorboard: None

--- check: addrinfos
socket.has_ipv6 = True
socket.AF_UNSPEC = <AddressFamily.AF_UNSPEC: 0>
socket.SOCK_STREAM = <SocketKind.SOCK_STREAM: 1>
socket.AI_ADDRCONFIG = <AddressInfo.AI_ADDRCONFIG: 32>
socket.AI_PASSIVE = <AddressInfo.AI_PASSIVE: 1>
Loopback flags: <AddressInfo.AI_ADDRCONFIG: 32>
Loopback infos: [(<AddressFamily.AF_INET6: 10>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('::1', 0, 0, 0)), (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('127.0.0.1', 0))]
Wildcard flags: <AddressInfo.AI_PASSIVE: 1>
Wildcard infos: [(<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('0.0.0.0', 0)), (<AddressFamily.AF_INET6: 10>, <SocketKind.SOCK_STREAM: 1>, 6, '', ('::', 0, 0, 0))]

--- check: readable_fqdn
INFO: socket.getfqdn(): 'ip-172-31-31-15.us-east-2.compute.internal'

--- check: stat_tensorboardinfo
INFO: directory: /tmp/.tensorboard-info
INFO: os.stat(...): os.stat_result(st_mode=16895, st_ino=840, st_dev=29, st_nlink=2, st_uid=1000, st_gid=1000, st_size=60, st_atime=1717811879, st_mtime=1717813718, st_ctime=1717813718)
INFO: mode: 0o40777

--- check: source_trees_without_genfiles
INFO: tensorboard_roots (0): []; bad_roots (0): []

--- check: full_pip_freeze
INFO: pip freeze --all:
anaconda-anon-usage @ file:///croot/anaconda-anon-usage_1710965072196/work
archspec @ file:///croot/archspec_1709217642129/work
boltons @ file:///work/perseverance-python-buildout/croot/boltons_1698851177130/work
Brotli @ file:///croot/brotli-split_1714483155106/work
certifi @ file:///home/conda/feedstock_root/build_artifacts/certifi_1707022139797/work/certifi
cffi @ file:///croot/cffi_1714483155441/work
charset-normalizer @ file:///tmp/build/80754af9/charset-normalizer_1630003229654/work
conda @ file:///home/conda/feedstock_root/build_artifacts/conda_1715631928597/work
conda-content-trust @ file:///croot/conda-content-trust_1714483159009/work
conda-libmamba-solver @ file:///croot/conda-libmamba-solver_1706733287605/work/src
conda-package-handling @ file:///croot/conda-package-handling_1714483155348/work
conda_package_streaming @ file:///work/perseverance-python-buildout/croot/conda-package-streaming_1698847176583/work
cryptography @ file:///croot/cryptography_1714660666131/work
distro @ file:///croot/distro_1714488253808/work
frozendict @ file:///home/conda/feedstock_root/build_artifacts/frozendict_1715092752354/work
idna @ file:///croot/idna_1714398848350/work
jsonpatch @ file:///croot/jsonpatch_1714483231291/work
jsonpointer==2.1
libmambapy @ file:///home/conda/feedstock_root/build_artifacts/mamba-split_1711394305528/work/libmambapy
mamba @ file:///home/conda/feedstock_root/build_artifacts/mamba-split_1711394305528/work/mamba
menuinst @ file:///croot/menuinst_1714510563922/work
packaging @ file:///croot/packaging_1710807400464/work
pip==24.0
platformdirs @ file:///work/perseverance-python-buildout/croot/platformdirs_1701732573265/work
pluggy @ file:///work/perseverance-python-buildout/croot/pluggy_1698805497733/work
pycosat @ file:///croot/pycosat_1714510623388/work
pycparser @ file:///tmp/build/80754af9/pycparser_1636541352034/work
PySocks @ file:///work/perseverance-python-buildout/croot/pysocks_1698845478203/work
requests @ file:///croot/requests_1707355572290/work
ruamel.yaml @ file:///work/perseverance-python-buildout/croot/ruamel.yaml_1698863605521/work
setuptools==69.5.1
tqdm @ file:///croot/tqdm_1714567712644/work
truststore @ file:///work/perseverance-python-buildout/croot/truststore_1701735771625/work
urllib3 @ file:///croot/urllib3_1707770551213/work
wheel==0.43.0
zstandard @ file:///work/perseverance-python-buildout/croot/zstandard_1698847073368/work

Next steps

No action items identified. Please copy ALL of the above output,
including the lines containing only backticks, into your GitHub issue
or comment. Be sure to redact any sensitive information.'

Issue description

Please describe the bug as clearly as possible. How can we reproduce the
problem without additional resources (including external data files and
proprietary Python modules)?

Running USE_BAZEL_VERSION=6.5.0 bazel run tensorboard -- --logdir ~/imdb-example/

In my web browser the page successfully loads on localhost. There is a PCA visualization of my data. However, when switching to the TSNE or UMAP tab, a JavaScript error pop up appears.

From where I launched bazel run there is this error:
''W0607 19:17:28.954664 139993318159936 application.py:559] path /data/plugin/projector/standalone_bundle_no_vendor.js.map not found, sending 404''

It could be that "/vz_projector/" needs to be added somewhere in one of the bazel BUILD files because I found a standalone_bundle_no_vendor.js.map file here:
/home/ec2-user/.cache/bazel/_bazel_ec2-user/f3cce9080f38d85c2bdf63b91cbe73d3/execroot/org_tensorflow_tensorboard/bazel-out/k8-fastbuild/bin/tensorboard/plugins/projector/vz_projector/standalone_bundle_no_vendor.js.map

I would also be fine working with a standalone version of just the projector with
USE_BAZEL_VERSION=6.5.0 bazel run tensorboard/plugins/projector/vz_projector:standalone
However, the invokation seems to ignore any commandline args I pass after "--"

Any advice or workarounds would be appreciated!

P.S. setting the version env was a workaround for this error:
(tf) [ec2-user@zzz]$ bazel run tensorboard/plugins/projector/vz_projector:standalone ERROR: Traceback (most recent call last): File "/home/ec2-user/platform/tensorboard-server/tensorboard/WORKSPACE", line 17, column 15, in <toplevel> versions.check( File "/home/ec2-user/.cache/bazel/_bazel_ec2-user/f3cce9080f38d85c2bdf63b91cbe73d3/external/bazel_skylib/lib/versions.bzl", line 115, column 17, in _check_bazel_version fail("Current Bazel version is {}; expected at most {}".format( Error in fail: Current Bazel version is 7.1.2; expected at most 6.999.0 ERROR: Error computing the main repository mapping: Encountered error while reading extension file 'web/repositories.bzl': no such package '@@io_bazel_rules_webtesting//web': error loading package 'external': Could not load //external package

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue with USE_BAZEL_VERSION=6.5.0 bazel run tensorboard -- --logdir ~/imdb-example/ and check the browser error when switching to TSNE or UMAP. Inspect the projector vz_projector BUILD files and standalone target, including the mentioned standalone_bundle_no_vendor.js.map path. Done means the TSNE and UMAP tabs load without the reported JavaScript error.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, typescript
Domain
data-visualization, frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.