Skip to content

Time axis on Time Series-Pane reads walltime incorrect #4541

@Talon24

Description

@Talon24

Environment information

Diagnostics

Diagnostics output
--- check: autoidentify
INFO: diagnose_tensorboard.py version 5e810a97d96ec99b9b6b596476f2883baa7c22b6

--- check: general
INFO: sys.version_info: sys.version_info(major=3, minor=8, micro=5, releaselevel='final', serial=0)
INFO: os.name: nt
INFO: os.uname(): N/A
INFO: sys.getwindowsversion(): sys.getwindowsversion(major=10, minor=0, build=19041, platform=2, service_pack='')

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

--- check: installed_packages
INFO: installed: tensorboard==2.4.0
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
INFO: tensorboard.version.VERSION: '2.4.0'

--- check: tensorflow_python_version
Traceback (most recent call last):
  File "C:\Users\Talon\PycharmProjects\kpis_project\diagnose_tensorboard.py", line 492, in main
    suggestions.extend(check())
  File "C:\Users\Talon\PycharmProjects\kpis_project\diagnose_tensorboard.py", line 75, in wrapper
    result = fn()
  File "C:\Users\Talon\PycharmProjects\kpis_project\diagnose_tensorboard.py", line 275, in tensorflow_python_version
    import tensorflow as tf
ModuleNotFoundError: No module named 'tensorflow'

--- check: tensorboard_binary_path
INFO: which tensorboard: b'G:\\Programme\\anaconda3\\Scripts\\tensorboard.exe\r\nC:\\Users\\Talon\\AppData\\Local\\Programs\\Python\\Python38-32\\Scripts\\tensorboard.exe\r\n'

--- 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: 1024>
socket.AI_PASSIVE = <AddressInfo.AI_PASSIVE: 1>
Loopback flags: <AddressInfo.AI_ADDRCONFIG: 1024>
Loopback infos: [(<AddressFamily.AF_INET6: 23>, <SocketKind.SOCK_STREAM: 1>, 0, '', ('::1', 0, 0, 0)), (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 0, '', ('127.0.0.1', 0))]
Wildcard flags: <AddressInfo.AI_PASSIVE: 1>
Wildcard infos: [(<AddressFamily.AF_INET6: 23>, <SocketKind.SOCK_STREAM: 1>, 0, '', ('::', 0, 0, 0)), (<AddressFamily.AF_INET: 2>, <SocketKind.SOCK_STREAM: 1>, 0, '', ('0.0.0.0', 0))]

--- check: readable_fqdn
INFO: socket.getfqdn(): '---------------------'

--- check: stat_tensorboardinfo
INFO: directory: C:\Users\Talon\AppData\Local\Temp\.tensorboard-info
INFO: os.stat(...): os.stat_result(st_mode=16895, st_ino=5910974512248343, st_dev=2521688629, st_nlink=1, st_uid=0, st_gid=0, st_size=4096, st_atime=1610373192, st_mtime=1610373192, st_ctime=1610228353)
INFO: mode: 0o40777

--- check: source_trees_without_genfiles
INFO: tensorboard_roots (1): ['C:\\Users\\Talon\\AppData\\Local\\Programs\\Python\\Python38-32\\lib\\site-packages']; bad_roots (0): []

--- check: full_pip_freeze
INFO: pip freeze --all:
absl-py==0.11.0

alabaster==0.7.12

array-to-latex==0.82

astroid==2.3.2

astropy==4.0.1.post1

atomicwrites==1.3.0

attrs==19.3.0

autopep8==1.5

Babel==2.8.0

backcall==0.1.0

bcrypt==3.1.7

beautifulsoup4==4.8.1

bleach==3.1.4

browser-cookie3==0.11.1

bs4==0.0.1

cachetools==4.2.0

certifi==2019.9.11

cffi==1.13.2

cfgv==3.2.0

chardet==3.0.4

ClauseWizard==1.0.4

Click==7.0

clipboard==0.0.4

cloudpickle==1.3.0

colorama==0.4.3

colored==1.4.2

comtypes==1.1.7

coverage==5.3.1

cryptography==2.8

cycler==0.10.0

decorator==4.4.2

defusedxml==0.6.0

deprecation==2.1.0

diff-match-patch==20181111

docopt==0.6.2

docutils==0.16

entrypoints==0.3

eyed3==0.9.6

filelock==3.0.12

filetype==1.0.7

filterpy==1.4.5

flake8==3.7.9

flake8-docstrings==1.5.0

Flask==1.1.1

future==0.18.2

Gooey==1.0.4.0.0.0

google-api-core==1.24.1

google-api-python-client==1.12.8

google-auth==1.24.0

google-auth-httplib2==0.0.4

google-auth-oauthlib==0.4.2

googleapis-common-protos==1.52.0

grpcio==1.34.0

helpdev==0.6.10

httplib2==0.18.1

identify==1.5.6

idna==2.8

imageio==2.6.1

imagesize==1.2.0

importlib-metadata==0.23

inputs==0.5

intervaltree==3.0.2

ipdb==0.12.2

ipykernel==5.2.1

ipython==7.13.0

ipython-genutils==0.2.0

ipywidgets==7.5.1

iso8601==0.1.12

isort==4.3.21

itsdangerous==1.1.0

jedi==0.15.2

Jinja2==2.11.2

jira==2.0.0

joblib==0.14.1

json5==0.9.5

jsonschema==3.2.0

jupyter==1.0.0

jupyter-client==6.1.3

jupyter-console==6.1.0

jupyter-contrib-core==0.3.3

jupyter-contrib-nbextensions==0.5.1

jupyter-core==4.6.3

jupyter-highlight-selected-word==0.2.0

jupyter-latex-envs==1.4.6

jupyter-nbextensions-configurator==0.4.1

jupyterlab==2.2.0

jupyterlab-server==1.2.0

jupyterthemes==0.20.0

keyring==21.1.0

kiwisolver==1.1.0

lazy-object-proxy==1.4.3

lesscpy==0.14.0

loguru==0.5.3

lxml==4.4.2

lz4==3.0.2

Markdown==3.3.3

MarkupSafe==1.1.1

matplotlib==3.1.2

mccabe==0.6.1

mistune==0.8.4

more-itertools==7.2.0

mp3-tagger==1.0

mpmath==1.1.0

nbconvert==5.6.1

nbformat==5.0.6

networking==0.0.1

networkx==2.4

nodeenv==1.5.0

notebook==6.0.3

numexpr==2.7.1

numpy==1.18.1

numpydoc==0.9.2

oauthlib==3.1.0

opencv-python==4.4.0.42

packaging==20.3

pandas==0.25.3

pandocfilters==1.4.2

paramiko==2.7.1

parso==0.5.2

pathtools==0.1.2

pbkdf2==1.3

pbr==5.4.4

pexpect==4.8.0

pickleshare==0.7.5

pigar==0.10.0

Pillow==6.2.1

pip==20.2.4

pipenv==2020.11.15

pipreqs==0.4.10

plotly==4.9.0

pluggy==0.13.1

plumbum==1.6.9

ply==3.11

pre-commit==2.8.2

prometheus-client==0.7.1

prompt-toolkit==2.0.10

protobuf==3.14.0

psutil==5.6.7

psycopg2==2.8.5

ptyprocess==0.6.0

py==1.8.0

pyaes==1.6.1

pyasn1==0.4.8

pyasn1-modules==0.2.8

pycaw==20181226

pycodestyle==2.5.0

pycparser==2.19

pycryptodome==3.9.4

pydocstyle==5.0.2

pyflakes==2.1.1

PyGetWindow==0.0.9

Pygments==2.6.1

PyJWT==1.7.1

pylint==2.4.3

PyNaCl==1.3.0

pyparsing==2.4.5

pyperclip==1.8.0

pypiwin32==223

PyQt5==5.12.3

PyQt5-sip==12.7.1

PyQtWebEngine==5.12.1

PyRect==0.1.4

pyrsistent==0.16.0

pyserial==3.4

pyshark==0.4.2.9

python-dateutil==2.8.1

python-jsonrpc-server==0.3.4

python-language-server==0.31.10

pytz==2019.3

PyWavelets==1.1.1

pywin32==227

pywin32-ctypes==0.2.0

pywinauto==0.6.8

pywinpty==0.5.7

PyYAML==5.3.1

pyzmq==19.0.0

QDarkStyle==2.8

QtAwesome==0.7.0

qtconsole==4.7.3

QtPy==1.9.0

ranger==0.10

requests==2.22.0

requests-oauthlib==1.3.0

requests-toolbelt==0.9.1

retrying==1.3.3

rope==0.16.0

rpyc==4.1.5

rsa==4.6

scikit-image==0.16.2

scikit-learn==0.23.2

scipy==1.4.1

seaborn==0.10.0

Send2Trash==1.5.0

setuptools==47.1.0

simpleeval==0.9.10

sip==5.1.1

six==1.14.0

sklearn==0.0

snakeviz==2.1.0

snowballstemmer==2.0.0

sortedcontainers==2.1.0

soupsieve==1.9.5

Sphinx==2.4.3

sphinxcontrib-applehelp==1.0.2

sphinxcontrib-devhelp==1.0.2

sphinxcontrib-htmlhelp==1.0.3

sphinxcontrib-jsmath==1.0.1

sphinxcontrib-qthelp==1.0.3

sphinxcontrib-serializinghtml==1.1.4

spyder==4.1.3

spyder-kernels==1.9.1

sympy==1.5.1

tensorboard==2.4.0

tensorboard-plugin-wit==1.7.0

terminado==0.8.3

terminaltables==3.1.0

testpath==0.4.4

threadpoolctl==2.1.0

toml==0.10.0

tornado==6.0.4

tox==3.20.1

tqdm==4.46.1

traitlets==4.3.3

translate==3.5.0

uritemplate==3.0.1

urllib3==1.25.6

urlpath==1.1.4

virtualenv==16.7.9

virtualenv-clone==0.5.4

watchdog==0.10.2

wcwidth==0.1.9

webencodings==0.5.1

Werkzeug==0.16.0

wheel==0.36.2

widgetsnbextension==3.5.1

win32-setctime==1.0.3

wrapt==1.11.2

wxPython==4.0.7

yapf==0.29.0

yarg==0.1.9

zipp==0.6.0


Time Series - Pane:
Time Series - Pane
Scalars - Pane
Scalars - Pane

Issue description

On the Time Series - Pane, the x-axis with a time scale is wrong, it shows a date in 1970.
In the tooltip, the date is correct, and on the Scalar-pane, both is correct.

I have set the horizontal axis - option to Wall, and my data is written by writer.add_scalar()

It seems that on the x-axis wants to take a millisecond-timestamp, but gets a regular timestamp; When i multiply my timestamp by 1000, the axis on that pane is correct, but not the tooltip or the other pane.

Reproduction

import datetime
from torch.utils.tensorboard import SummaryWriter


writer = SummaryWriter("runs/test")
now =  datetime.datetime.now()
for num in range(100):
    time = now + datetime.timedelta(days=num)
    writer.add_scalar('Test/test', num, num, walltime=time.timestamp())

See how this stretches over some months in the current year as expected on the Scalars pane, but only 2 hours of 1970 on the Time Series pane

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions