tensorflow / tensorflow/tensorboard

Sometimes difficult to clear runs filter in polymer-based plugins

Open
#5,340 0 comments 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)

Note: This is running tensorboard at HEAD, commit 3fe21d3af2a93596ad9d8488080b577ae62db865.

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

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

--- check: general
INFO: sys.version_info: sys.version_info(major=3, minor=9, micro=7, releaselevel='final', serial=0)
INFO: os.name: posix
INFO: os.uname(): posix.uname_result(sysname='Linux', nodename='dubiously.cam.corp.google.com', release='5.10.46-4rodete1-amd64', version='#1 SMP Debian 5.10.46-4rodete1 (2021-08-20)', machine='x86_64')
INFO: sys.getwindowsversion(): N/A

--- check: package_management
INFO: has conda-meta: False
INFO: $VIRTUAL_ENV: '/usr/local/google/home/bdubois/virtualenv/tensorboard'

--- check: installed_packages
WARNING: no installation among: ['tb-nightly', 'tensorboard', 'tensorflow-tensorboard']
INFO: installed: tf-nightly==2.6.0.dev20210414
INFO: installed: tensorflow-estimator==2.6.0rc0
INFO: installed: tf-estimator-nightly==2.5.0.dev2021032601
WARNING: conflicting installations: ['tensorflow-estimator', 'tf-estimator-nightly']
INFO: installed: tensorboard-data-server==0.6.0

--- check: tensorboard_python_version
Traceback (most recent call last):
  File "/usr/local/google/home/bdubois/git/tensorboard/tensorboard/tools/diagnose_tensorboard.py", line 522, in main
    suggestions.extend(check())
  File "/usr/local/google/home/bdubois/git/tensorboard/tensorboard/tools/diagnose_tensorboard.py", line 75, in wrapper
    result = fn()
  File "/usr/local/google/home/bdubois/git/tensorboard/tensorboard/tools/diagnose_tensorboard.py", line 271, in tensorboard_python_version
    from tensorboard import version
ModuleNotFoundError: No module named 'tensorboard'

--- check: tensorflow_python_version
Traceback (most recent call last):
  File "/usr/local/google/home/bdubois/git/tensorboard/tensorboard/tools/diagnose_tensorboard.py", line 522, in main
    suggestions.extend(check())
  File "/usr/local/google/home/bdubois/git/tensorboard/tensorboard/tools/diagnose_tensorboard.py", line 75, in wrapper
    result = fn()
  File "/usr/local/google/home/bdubois/git/tensorboard/tensorboard/tools/diagnose_tensorboard.py", line 280, in tensorflow_python_version
    logging.info("tensorflow.__version__: %r", tf.__version__)
AttributeError: module 'tensorflow' has no attribute '__version__'

--- check: tensorboard_data_server_version
INFO: data server binary: '/usr/local/google/home/bdubois/virtualenv/tensorboard/lib/python3.9/site-packages/tensorboard_data_server/bin/server'
INFO: data server binary version: b'rustboard 0.6.0'

--- 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(): 'dubiously.cam.corp.google.com'

--- check: stat_tensorboardinfo
INFO: directory: /tmp/.tensorboard-info
INFO: os.stat(...): os.stat_result(st_mode=16895, st_ino=17580653, st_dev=65025, st_nlink=2, st_uid=236684, st_gid=89939, st_size=4096, st_atime=1632750311, st_mtime=1632753266, st_ctime=1632753266)
INFO: mode: 0o40777

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

--- check: full_pip_freeze
INFO: pip freeze --all:
absl-py==0.12.0
appdirs==1.4.4
astunparse==1.6.3
aws-xray-sdk==0.95
black==20.8b1
boto==2.49.0
boto3==1.9.86
botocore==1.12.253
cachetools==4.2.1
certifi==2020.12.5
cffi==1.14.5
chardet==4.0.0
clang==5.0
click==7.1.2
cryptography==3.4.7
distlib==0.3.1
docker==5.0.0
docutils==0.15.2
ecdsa==0.16.1
entrypoints==0.3
filelock==3.0.12
flake8==3.7.8
flatbuffers==1.12
future==0.18.2
gast==0.4.0
google-auth==1.28.1
google-auth-oauthlib==0.4.4
google-pasta==0.2.0
grpcio==1.37.0
grpcio-testing==1.24.3
h5py==3.1.0
idna==2.10
Jinja2==2.11.3
jmespath==0.10.0
jsondiff==1.1.1
jsonpickle==2.0.0
keras==2.6.0rc3
keras-nightly==2.6.0.dev2021041400
Keras-Preprocessing==1.1.2
Markdown==3.3.4
MarkupSafe==1.1.1
mccabe==0.6.1
mock==4.0.3
moto==1.3.7
mypy-extensions==0.4.3
numpy==1.19.5
oauthlib==3.1.0
opt-einsum==3.3.0
pandas==1.2.4
pathspec==0.8.1
pip==21.1.2
pkg-resources==0.0.0
protobuf==3.15.8
pyaml==20.4.0
pyasn1==0.4.8
pyasn1-modules==0.2.8
pycodestyle==2.5.0
pycparser==2.20
pycryptodome==3.10.1
pyflakes==2.1.1
python-dateutil==2.8.1
python-jose==2.0.2
pytz==2021.1
PyYAML==5.4.1
regex==2021.4.4
requests==2.25.1
requests-oauthlib==1.3.0
responses==0.13.2
rsa==4.7.2
s3transfer==0.1.13
setuptools==44.0.0
six==1.15.0
tensorboard-data-server==0.6.0
tensorflow-estimator==2.6.0rc0
termcolor==1.1.0
tf-estimator-nightly==2.5.0.dev2021032601
tf-nightly==2.6.0.dev20210414
toml==0.10.2
typed-ast==1.4.3
typing-extensions==3.7.4.3
urllib3==1.25.11
virtualenv==20.0.31
websocket-client==0.58.0
Werkzeug==1.0.1
wheel==0.36.2
wrapt==1.12.1
xmltodict==0.12.0
yamllint==1.17.0

For browser-related issues, please additionally specify:

  • Chrome 94.0.4606.61

Issue description

When using the run filter in Scalars or Text plugins, for example, I witness odd behavior where TensorBoard will change my run filter value to incorrect state.

For example. In this video I type 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, then backspace 10 times. The run filter should be and remain empty but instead TensorBoard changes the run filter to be '0'.

https://user-images.githubusercontent.com/17152369/134929250-9b019ae4-36b8-44d9-a263-06268b70b65d.mp4

A little more difficult to reproduce, it can get more bizarre, where TensorBoard briefly (~10/20 seconds) can get into a loop of flipping the run filter state between empty and non-empty. In this video I type 1, 2, 3, 1, 2, 3, 1, 2, 3 then backspace 9 or 10 times. The run filter should be empty but instead TensorBoard switches the run filter between empty and '1' over and over again for about 13 seconds.

https://user-images.githubusercontent.com/17152369/134929307-745ee74c-41e3-41ca-a3e9-d8601be307bb.mp4

The video shows the URL bar with the TensorBoard URL being modified with regexInput query parameter. It also shows the console with several events related to app routing and state rehydration being fired repeatedly - unclear if that is a cause or a symptom of the problem.

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 run-filter behavior in the Scalars or Text plugins using the linked videos, then inspect the URL's regexInput parameter and the repeated routing and state-rehydration events shown in the console. Done means clearing the input leaves the run filter empty and prevents the state from flipping or looping.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.