tensorflow / tensorboard

TensorFlow's Visualization Toolkit
Apache License 2.0
6.6k stars 1.64k forks source link

UMAP and TSNE for Embedding Projector Doesn't Load #6865

Open ESunInTheSky opened 1 month ago

ESunInTheSky commented 1 month ago

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

JamesHollyer commented 3 weeks ago

I was not not able to reproduce this. If you could provide a minimal data set to reproduce that would be helpful.

I do not think the problems has to do with the .js.map file. Those are not critical for the app to run.

I will add this to our on duty hotlist to look into. Unfortunately, our current priorities will not allow us to invest much time into fixing projector plugin issues.