Lightning-AI / Lightning-AI/pytorch-lightning

Enable multiple loggers to save to the same version directory

Open
#18,099 7 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

discussion feature logger ver: 2.0.x
Dominant language
Python
Stars
31.4k
Forks
3.8k
Avg merge
6d 7h
Merged PRs (30d)
6

Description

Bug description

As the title said, Tensorboard and CSV loggers create different directories when being used together. They should be in same version folder.

What version are you seeing the problem on?

v2.0

How to reproduce the bug
from typing import Any, Union

import lightning.pytorch as pl
import torch
from lightning.pytorch.callbacks import (
    LearningRateMonitor,
    ModelCheckpoint,
    RichProgressBar,
)
from lightning.pytorch.demos import Transformer, WikiText2
from lightning.pytorch.loggers import CSVLogger, TensorBoardLogger
from lightning.pytorch.utilities.types import STEP_OUTPUT
from torch.optim import AdamW
from torch.utils.data import DataLoader
from transformers.optimization import get_cosine_schedule_with_warmup


class BoringTransformer(pl.LightningModule):
    def __init__(
        self, vocab_size: int, learning_rate: float = 5e-5, warmup_ratio: float = 0.1
    ) -> None:
        super().__init__()
        self.learning_rate = learning_rate
        self.warmup_ratio = warmup_ratio
        self.transformer = Transformer(vocab_size=vocab_size)

    def training_step(self, batch) -> STEP_OUTPUT:
        x, y = batch
        z = self.transformer(x, y)
        loss = torch.nn.functional.nll_loss(z, y.view(-1))
        self.log("train_loss", loss)
        return loss

    def configure_optimizers(self) -> Any:
        opt = AdamW(self.parameters(), self.learning_rate)
        opt_list = [opt]
        lrs = {
            "scheduler": get_cosine_schedule_with_warmup(
                opt,
                self.trainer.estimated_stepping_batches * self.warmup_ratio,
                self.trainer.estimated_stepping_batches,
            ),
            "interval": "step",
            "frequency": 1,
        }
        lrs_list = [lrs]
        return opt_list, lrs_list

pl.seed_everything(1312)
dataset = WikiText2()
dataloader = DataLoader(dataset, batch_size=64)
transformer = BoringTransformer(dataset.vocab_size)
trainer = pl.Trainer(
    enable_checkpointing=True,
    default_root_dir="boring_logs",
    accelerator="gpu",
    devices=1,
    precision="16-mixed",
    logger=[CSVLogger("boring_logs"), TensorBoardLogger("boring_logs")],
    callbacks=[
        RichProgressBar(),
        ModelCheckpoint(every_n_train_steps=16, save_last=True)
    ],
    max_epochs=1,
    accumulate_grad_batches=8,
    log_every_n_steps=16,
    enable_model_summary=False,
)

ckpt_path: Union[
    str, None
] = None
trainer.fit(transformer, dataloader, ckpt_path=ckpt_path)
Error messages and logs
boring_logs
└── lightning_logs
    ├── version_0
    │   ├── checkpoints
    │   │   ├── epoch=0-step=112.ckpt
    │   │   └── last.ckpt
    │   ├── hparams.yaml
    │   └── metrics.csv
    └── version_1
        ├── events.out.tfevents.1689579440.939aa81ccfa0.28.0
        └── hparams.yaml

4 directories, 6 files
Environment
Current environment
  • CUDA:
    • GPU:
      • Tesla P100-PCIE-16GB
    • available: True
    • version: 11.8
  • Lightning:
    • lightning: 2.0.5
    • lightning-cloud: 0.5.37
    • lightning-utilities: 0.9.0
    • pytorch-ignite: 0.4.12
    • pytorch-lightning: 2.0.4
    • torch: 2.0.0
    • torchaudio: 2.0.1
    • torchdata: 0.6.0
    • torchinfo: 1.8.0
    • torchmetrics: 1.0.0
    • torchtext: 0.15.1
    • torchvision: 0.15.1
  • Packages:
    • absl-py: 1.4.0
    • accelerate: 0.20.3
    • access: 1.1.9
    • affine: 2.4.0
    • aiobotocore: 2.5.2
    • aiofiles: 22.1.0
    • aiohttp: 3.8.4
    • aiohttp-cors: 0.7.0
    • aioitertools: 0.11.0
    • aiorwlock: 1.3.0
    • aiosignal: 1.3.1
    • aiosqlite: 0.19.0
    • albumentations: 1.3.1
    • alembic: 1.11.1
    • altair: 5.0.1
    • annoy: 1.17.3
    • ansiwrap: 0.8.4
    • anyio: 3.7.0
    • apache-beam: 2.46.0
    • aplus: 0.11.0
    • appdirs: 1.4.4
    • argon2-cffi: 21.3.0
    • argon2-cffi-bindings: 21.2.0
    • array-record: 0.4.0
    • arrow: 1.2.3
    • arviz: 0.12.1
    • astroid: 2.15.6
    • astropy: 5.3.1
    • asttokens: 2.2.1
    • astunparse: 1.6.3
    • async-timeout: 4.0.2
    • atpublic: 4.0
    • attrs: 23.1.0
    • audioread: 3.0.0
    • autopep8: 2.0.2
    • babel: 2.12.1
    • backcall: 0.2.0
    • backoff: 2.2.1
    • backports.functools-lru-cache: 1.6.4
    • bayesian-optimization: 1.4.3
    • bayespy: 0.5.26
    • beatrix-jupyterlab: 2023.621.222118
    • beautifulsoup4: 4.12.2
    • bidict: 0.22.1
    • biopython: 1.81
    • blake3: 0.2.1
    • bleach: 6.0.0
    • blessed: 1.20.0
    • blinker: 1.6.2
    • blis: 0.7.9
    • blosc2: 2.0.0
    • bokeh: 3.1.1
    • boltons: 23.0.0
    • boruta: 0.3
    • boto3: 1.26.100
    • botocore: 1.29.161
    • bq-helper: 0.4.1
    • bqplot: 0.12.39
    • branca: 0.6.0
    • brewer2mpl: 1.4.1
    • brotlipy: 0.7.0
    • cachetools: 5.3.0
    • cartopy: 0.21.1
    • catalogue: 2.0.8
    • catalyst: 22.4
    • catboost: 1.2
    • category-encoders: 2.6.1
    • certifi: 2023.5.7
    • cesium: 0.12.1
    • cffi: 1.15.1
    • cftime: 1.6.2
    • charset-normalizer: 3.1.0
    • chex: 0.1.81
    • cleverhans: 4.0.0
    • click: 8.1.4
    • click-plugins: 1.1.1
    • cligj: 0.7.2
    • cloud-tpu-client: 0.10
    • cloud-tpu-profiler: 2.4.0
    • cloudpickle: 2.2.1
    • cmaes: 0.9.1
    • cmdstanpy: 1.1.0
    • cmudict: 1.0.13
    • colorama: 0.4.6
    • colorcet: 3.0.1
    • colorful: 0.5.5
    • colorlog: 6.7.0
    • colorlover: 0.3.0
    • comm: 0.1.3
    • conda: 23.5.0
    • conda-content-trust: 0+unknown
    • conda-package-handling: 2.0.2
    • conda-package-streaming: 0.8.0
    • confection: 0.1.0
    • contextily: 1.3.0
    • contourpy: 1.1.0
    • convertdate: 2.4.0
    • crcmod: 1.7
    • croniter: 1.4.1
    • cryptography: 41.0.1
    • cubinlinker: 0.3.0
    • cuda-python: 11.8.2
    • cudf: 23.6.1
    • cufflinks: 0.17.3
    • cuml: 23.6.0
    • cupy: 12.1.0
    • cvxcanon: 0.1.2
    • cycler: 0.11.0
    • cymem: 2.0.7
    • cysignals: 1.11.2
    • cython: 0.29.35
    • cytoolz: 0.12.0
    • daal: 2023.1.1
    • daal4py: 2023.1.1
    • dacite: 1.8.1
    • dask: 2023.7.0
    • dask-cuda: 23.6.0
    • dask-cudf: 23.6.1
    • dataclasses-json: 0.5.9
    • datasets: 2.1.0
    • datashader: 0.15.1
    • datashape: 0.5.2
    • datatile: 1.0.3
    • dateutils: 0.6.12
    • db-dtypes: 1.1.1
    • deap: 1.3.3
    • debugpy: 1.6.7
    • decorator: 5.1.1
    • deepdiff: 6.3.1
    • defusedxml: 0.7.1
    • delorean: 1.0.0
    • deprecat: 2.1.1
    • deprecated: 1.2.14
    • deprecation: 2.1.0
    • descartes: 1.1.0
    • dill: 0.3.6
    • dipy: 1.7.0
    • distlib: 0.3.6
    • distributed: 2023.3.2.1
    • dm-tree: 0.1.8
    • docker: 6.1.3
    • docker-pycreds: 0.4.0
    • docopt: 0.6.2
    • docstring-parser: 0.15
    • docstring-to-markdown: 0.12
    • docutils: 0.20.1
    • earthengine-api: 0.1.358
    • easydict: 1.10
    • easyocr: 1.7.0
    • ecos: 2.0.12
    • eli5: 0.13.0
    • emoji: 2.6.0
    • en-core-web-lg: 3.5.0
    • en-core-web-sm: 3.5.0
    • entrypoints: 0.4
    • ephem: 4.1.4
    • esda: 2.4.3
    • essentia: 2.1b6.dev1034
    • et-xmlfile: 1.1.0
    • etils: 1.3.0
    • exceptiongroup: 1.1.1
    • executing: 1.2.0
    • explainable-ai-sdk: 1.3.3
    • fastai: 2.7.12
    • fastapi: 0.98.0
    • fastavro: 1.7.4
    • fastcore: 1.5.29
    • fastdownload: 0.0.7
    • fasteners: 0.18
    • fastjsonschema: 2.17.1
    • fastprogress: 1.0.3
    • fastrlock: 0.8
    • fasttext: 0.9.2
    • fbpca: 1.0
    • feather-format: 0.4.1
    • featuretools: 1.26.0
    • filelock: 3.12.2
    • fiona: 1.9.4.post1
    • fitter: 1.5.2
    • flake8: 6.0.0
    • flashtext: 2.7
    • flask: 2.3.2
    • flatbuffers: 23.5.26
    • flax: 0.7.0
    • flit-core: 3.9.0
    • folium: 0.14.0
    • fonttools: 4.40.0
    • fqdn: 1.5.1
    • frozendict: 2.3.8
    • frozenlist: 1.3.3
    • fsspec: 2023.6.0
    • funcy: 2.0
    • fury: 0.9.0
    • future: 0.18.3
    • fuzzywuzzy: 0.18.0
    • gast: 0.4.0
    • gatspy: 0.3
    • gcsfs: 2023.6.0
    • gensim: 4.3.1
    • geographiclib: 2.0
    • geohash: 1.0
    • geojson: 3.0.1
    • geopandas: 0.13.2
    • geoplot: 0.5.1
    • geopy: 2.3.0
    • geoviews: 1.10.0
    • ggplot: 0.11.5
    • giddy: 2.3.4
    • gitdb: 4.0.10
    • gitpython: 3.1.31
    • google-api-core: 2.11.1
    • google-api-python-client: 2.92.0
    • google-apitools: 0.5.31
    • google-auth: 2.20.0
    • google-auth-httplib2: 0.1.0
    • google-auth-oauthlib: 1.0.0
    • google-cloud-aiplatform: 0.6.0a1
    • google-cloud-artifact-registry: 1.8.1
    • google-cloud-automl: 1.0.1
    • google-cloud-bigquery: 2.34.4
    • google-cloud-bigtable: 1.7.3
    • google-cloud-core: 2.3.2
    • google-cloud-datastore: 2.16.1
    • google-cloud-dlp: 3.12.1
    • google-cloud-language: 2.10.1
    • google-cloud-monitoring: 2.15.0
    • google-cloud-pubsub: 2.17.1
    • google-cloud-pubsublite: 1.8.2
    • google-cloud-recommendations-ai: 0.7.1
    • google-cloud-resource-manager: 1.10.1
    • google-cloud-spanner: 3.36.0
    • google-cloud-storage: 1.44.0
    • google-cloud-translate: 3.11.2
    • google-cloud-videointelligence: 2.11.3
    • google-cloud-vision: 2.8.0
    • google-crc32c: 1.5.0
    • google-pasta: 0.2.0
    • google-resumable-media: 2.5.0
    • googleapis-common-protos: 1.59.1
    • gplearn: 0.4.2
    • gpustat: 1.0.0
    • gpxpy: 1.5.0
    • graphviz: 0.20.1
    • greenlet: 2.0.2
    • grpc-google-iam-v1: 0.12.6
    • grpcio: 1.51.3
    • grpcio-status: 1.48.2
    • gviz-api: 1.10.0
    • gym: 0.26.2
    • gym-notices: 0.0.8
    • gymnasium: 0.26.3
    • gymnasium-notices: 0.0.1
    • h11: 0.14.0
    • h2o: 3.42.0.1
    • h5py: 3.9.0
    • haversine: 2.8.0
    • hdfs: 2.7.0
    • hep-ml: 0.7.2
    • hijri-converter: 2.3.1
    • hmmlearn: 0.3.0
    • holidays: 0.24
    • holoviews: 1.16.2
    • hpsklearn: 0.1.0
    • html5lib: 1.1
    • htmlmin: 0.1.12
    • httplib2: 0.21.0
    • httptools: 0.6.0
    • huggingface-hub: 0.16.4
    • humanize: 4.7.0
    • hunspell: 0.5.5
    • husl: 4.0.3
    • hydra-slayer: 0.4.1
    • hyperopt: 0.2.7
    • hypertools: 0.8.0
    • ibis-framework: 6.0.0
    • idna: 3.4
    • igraph: 0.10.5
    • imagecodecs: 2023.7.4
    • imagehash: 4.3.1
    • imageio: 2.31.1
    • imbalanced-learn: 0.10.1
    • imgaug: 0.4.0
    • implicit: 0.5.2
    • importlib-metadata: 6.8.0
    • importlib-resources: 5.12.0
    • inequality: 1.0.0
    • iniconfig: 2.0.0
    • inquirer: 3.1.3
    • ipydatawidgets: 4.3.5
    • ipykernel: 6.23.3
    • ipyleaflet: 0.17.3
    • ipympl: 0.7.0
    • ipython: 8.14.0
    • ipython-genutils: 0.2.0
    • ipython-sql: 0.5.0
    • ipyvolume: 0.6.3
    • ipyvue: 1.9.2
    • ipyvuetify: 1.8.10
    • ipywebrtc: 0.6.0
    • ipywidgets: 7.7.1
    • isoduration: 20.11.0
    • isort: 5.12.0
    • isoweek: 1.3.3
    • itsdangerous: 2.1.2
    • janome: 0.5.0
    • jaraco.classes: 3.2.3
    • jax: 0.4.13
    • jaxlib: 0.4.13+cuda11.cudnn86
    • jedi: 0.18.2
    • jeepney: 0.8.0
    • jieba: 0.42.1
    • jinja2: 3.1.2
    • jmespath: 1.0.1
    • joblib: 1.3.0
    • json5: 0.9.14
    • jsonpatch: 1.32
    • jsonpointer: 2.0
    • jsonschema: 4.17.3
    • jupyter-client: 8.3.0
    • jupyter-console: 6.6.3
    • jupyter-core: 5.3.1
    • jupyter-events: 0.6.3
    • jupyter-http-over-ws: 0.0.8
    • jupyter-lsp: 1.5.1
    • jupyter-server: 2.7.0
    • jupyter-server-fileid: 0.9.0
    • jupyter-server-mathjax: 0.2.6
    • jupyter-server-proxy: 4.0.0
    • jupyter-server-terminals: 0.4.4
    • jupyter-server-ydoc: 0.8.0
    • jupyter-ydoc: 0.2.4
    • jupyterlab: 3.6.5
    • jupyterlab-git: 0.41.0
    • jupyterlab-lsp: 4.2.0
    • jupyterlab-pygments: 0.2.2
    • jupyterlab-server: 2.23.0
    • jupyterlab-widgets: 3.0.7
    • jupytext: 1.14.6
    • kaggle: 1.5.15
    • kaggle-environments: 1.12.0
    • keras: 2.12.0
    • keras-cv: 0.5.0
    • keras-tuner: 1.3.5
    • keyring: 24.2.0
    • keyrings.google-artifactregistry-auth: 1.1.2
    • kfp: 2.0.1
    • kfp-pipeline-spec: 0.2.2
    • kfp-server-api: 2.0.0
    • kiwisolver: 1.4.4
    • kmapper: 2.0.1
    • kmodes: 0.12.2
    • korean-lunar-calendar: 0.3.1
    • kornia: 0.6.12
    • kt-legacy: 1.0.5
    • kubernetes: 26.1.0
    • langcodes: 3.3.0
    • langid: 1.1.6
    • lazy-loader: 0.2
    • lazy-object-proxy: 1.9.0
    • learntools: 0.3.4
    • leven: 1.0.4
    • levenshtein: 0.21.1
    • libclang: 16.0.0
    • libmambapy: 1.4.7
    • libpysal: 4.7.0
    • librosa: 0.10.0.post2
    • lightgbm: 3.3.2
    • lightning: 2.0.5
    • lightning-cloud: 0.5.37
    • lightning-utilities: 0.9.0
    • lime: 0.2.0.1
    • line-profiler: 4.0.3
    • linkify-it-py: 2.0.2
    • llvmlite: 0.40.1
    • lml: 0.1.0
    • locket: 1.0.0
    • lunarcalendar: 0.0.9
    • lxml: 4.9.3
    • lz4: 4.3.2
    • mako: 1.2.4
    • mamba: 1.4.7
    • mapclassify: 2.5.0
    • marisa-trie: 0.8.0
    • markdown: 3.4.3
    • markdown-it-py: 3.0.0
    • markovify: 0.9.4
    • markupsafe: 2.1.3
    • marshmallow: 3.19.0
    • marshmallow-enum: 1.5.1
    • matplotlib: 3.7.2
    • matplotlib-inline: 0.1.6
    • matplotlib-venn: 0.11.9
    • mccabe: 0.7.0
    • mdit-py-plugins: 0.4.0
    • mdurl: 0.1.2
    • memory-profiler: 0.61.0
    • mercantile: 1.2.1
    • mgwr: 2.1.2
    • missingno: 0.5.2
    • mistune: 0.8.4
    • mizani: 0.9.2
    • ml-dtypes: 0.2.0
    • mlcrate: 0.2.0
    • mlens: 0.2.3
    • mlxtend: 0.22.0
    • mmh3: 4.0.0
    • mne: 1.4.2
    • mnist: 0.2.2
    • mock: 5.0.2
    • momepy: 0.6.0
    • more-itertools: 9.1.0
    • mpld3: 0.5.9
    • mpmath: 1.3.0
    • msgpack: 1.0.5
    • msgpack-numpy: 0.4.8
    • multidict: 6.0.4
    • multimethod: 1.9.1
    • multipledispatch: 1.0.0
    • multiprocess: 0.70.14
    • munkres: 1.1.4
    • murmurhash: 1.0.9
    • mypy-extensions: 1.0.0
    • nb-conda: 2.2.1
    • nb-conda-kernels: 2.3.1
    • nbclassic: 1.0.0
    • nbclient: 0.5.13
    • nbconvert: 6.4.5
    • nbdime: 3.2.0
    • nbformat: 5.9.0
    • nest-asyncio: 1.5.6
    • netcdf4: 1.6.4
    • networkx: 3.1
    • nibabel: 5.1.0
    • nilearn: 0.10.1
    • ninja: 1.11.1
    • nltk: 3.2.4
    • nose: 1.3.7
    • notebook: 6.5.4
    • notebook-executor: 0.2
    • notebook-shim: 0.2.3
    • numba: 0.57.1
    • numexpr: 2.8.4
    • numpy: 1.25.0
    • nvidia-ml-py: 11.495.46
    • nvtx: 0.2.5
    • oauth2client: 4.1.3
    • oauthlib: 3.2.2
    • objsize: 0.6.1
    • odfpy: 1.4.1
    • olefile: 0.46
    • onnx: 1.14.0
    • opencensus: 0.11.2
    • opencensus-context: 0.1.3
    • opencv-contrib-python: 4.8.0.74
    • opencv-python: 4.8.0.74
    • opencv-python-headless: 4.8.0.74
    • openpyxl: 3.1.2
    • openslide-python: 1.2.0
    • opentelemetry-api: 1.18.0
    • opentelemetry-exporter-otlp: 1.18.0
    • opentelemetry-exporter-otlp-proto-common: 1.18.0
    • opentelemetry-exporter-otlp-proto-grpc: 1.18.0
    • opentelemetry-exporter-otlp-proto-http: 1.18.0
    • opentelemetry-proto: 1.18.0
    • opentelemetry-sdk: 1.18.0
    • opentelemetry-semantic-conventions: 0.39b0
    • opt-einsum: 3.3.0
    • optax: 0.1.5
    • optuna: 3.2.0
    • orbax-checkpoint: 0.2.7
    • ordered-set: 4.1.0
    • orderedmultidict: 1.0.1
    • orjson: 3.9.1
    • ortools: 9.4.1874
    • osmnx: 1.1.1
    • overrides: 7.3.1
    • packaging: 21.3
    • pandas: 2.0.2
    • pandas-datareader: 0.10.0
    • pandas-profiling: 3.6.6
    • pandas-summary: 0.2.0
    • pandasql: 0.7.3
    • pandocfilters: 1.5.0
    • panel: 1.2.0
    • papermill: 2.4.0
    • param: 1.13.0
    • parso: 0.8.3
    • parsy: 2.1
    • partd: 1.4.0
    • path: 16.7.1
    • path.py: 12.5.0
    • pathos: 0.3.0
    • pathtools: 0.1.2
    • pathy: 0.10.1
    • patsy: 0.5.3
    • pdf2image: 1.16.3
    • pexpect: 4.8.0
    • phik: 0.12.3
    • pickleshare: 0.7.5
    • pillow: 9.5.0
    • pip: 23.1.2
    • pkgutil-resolve-name: 1.3.10
    • platformdirs: 3.8.1
    • plotly: 5.15.0
    • plotly-express: 0.4.1
    • plotnine: 0.10.1
    • pluggy: 1.0.0
    • pointpats: 2.3.0
    • polars: 0.18.6
    • polyglot: 16.7.4
    • pooch: 1.6.0
    • pox: 0.3.2
    • ppca: 0.0.4
    • ppft: 1.7.6.6
    • preprocessing: 0.1.13
    • preshed: 3.0.8
    • prettytable: 3.8.0
    • progressbar2: 4.2.0
    • prometheus-client: 0.17.0
    • promise: 2.3
    • prompt-toolkit: 3.0.38
    • pronouncing: 0.2.0
    • prophet: 1.1.1
    • proto-plus: 1.22.3
    • protobuf: 4.21.12
    • psutil: 5.9.5
    • ptxcompiler: 0.8.1
    • ptyprocess: 0.7.0
    • pudb: 2022.1.3
    • pulp: 2.7.0
    • pure-eval: 0.2.2
    • py-cpuinfo: 9.0.0
    • py-lz4framed: 0.14.0
    • py-spy: 0.3.14
    • py4j: 0.10.9.7
    • pyaml: 23.7.0
    • pyarabic: 0.6.15
    • pyarrow: 11.0.0
    • pyasn1: 0.5.0
    • pyasn1-modules: 0.3.0
    • pyastronomy: 0.19.0
    • pybind11: 2.10.4
    • pyclipper: 1.3.0.post4
    • pycodestyle: 2.10.0
    • pycolmap: 0.4.0
    • pycosat: 0.6.4
    • pycparser: 2.21
    • pycryptodome: 3.18.0
    • pyct: 0.5.0
    • pycuda: 2022.2.2
    • pydantic: 1.10.10
    • pydegensac: 0.1.2
    • pydicom: 2.4.1
    • pydocstyle: 6.3.0
    • pydot: 1.4.2
    • pydub: 0.25.1
    • pyemd: 1.0.0
    • pyerfa: 2.0.0.3
    • pyexcel-io: 0.6.6
    • pyexcel-ods: 0.6.0
    • pyfasttext: 0.4.6
    • pyflakes: 3.0.1
    • pygltflib: 1.15.6
    • pygments: 2.15.1
    • pyjwt: 2.7.0
    • pykalman: 0.9.5
    • pyldavis: 3.2.2
    • pylibraft: 23.6.2
    • pylint: 2.17.4
    • pymc3: 3.11.5
    • pymeeus: 0.5.12
    • pymongo: 3.13.0
    • pympler: 1.0.1
    • pynndescent: 0.5.10
    • pynvml: 11.4.1
    • pynvrtc: 9.2
    • pyocr: 0.8.3
    • pyopenssl: 23.2.0
    • pyparsing: 3.1.0
    • pypdf: 3.12.0
    • pyproj: 3.6.0
    • pyrsistent: 0.19.3
    • pysal: 23.1
    • pyshp: 2.3.1
    • pysocks: 1.7.1
    • pytesseract: 0.3.10
    • pytest: 7.4.0
    • python-bidi: 0.4.2
    • python-dateutil: 2.8.2
    • python-dotenv: 1.0.0
    • python-editor: 1.0.4
    • python-igraph: 0.10.5
    • python-json-logger: 2.0.7
    • python-levenshtein: 0.21.1
    • python-louvain: 0.16
    • python-lsp-jsonrpc: 1.0.0
    • python-lsp-server: 1.7.4
    • python-multipart: 0.0.6
    • python-slugify: 8.0.1
    • python-utils: 3.7.0
    • pythreejs: 2.4.2
    • pytoolconfig: 1.2.5
    • pytools: 2023.1
    • pytorch-ignite: 0.4.12
    • pytorch-lightning: 2.0.4
    • pytz: 2023.3
    • pyu2f: 0.1.5
    • pyupset: 0.1.1.post7
    • pyviz-comms: 2.3.2
    • pywavelets: 1.4.1
    • pyyaml: 6.0
    • pyzmq: 25.1.0
    • qgrid: 1.3.1
    • qtconsole: 5.4.3
    • qtpy: 2.3.1
    • quantecon: 0.7.1
    • quantities: 0.14.1
    • qudida: 0.0.4
    • raft-dask: 23.6.2
    • randomgen: 1.23.1
    • rapidfuzz: 3.1.1
    • rasterio: 1.3.8
    • rasterstats: 0.19.0
    • ray: 2.5.1
    • ray-cpp: 2.5.1
    • readchar: 4.0.5
    • regex: 2023.6.3
    • requests: 2.31.0
    • requests-oauthlib: 1.3.1
    • requests-toolbelt: 0.10.1
    • responses: 0.18.0
    • retrying: 1.3.4
    • rfc3339-validator: 0.1.4
    • rfc3986-validator: 0.1.1
    • rgf-python: 3.12.0
    • rich: 13.4.2
    • rmm: 23.6.0
    • rope: 1.9.0
    • rsa: 4.9
    • rtree: 1.0.1
    • ruamel-yaml-conda: 0.15.100
    • ruamel.yaml: 0.17.32
    • ruamel.yaml.clib: 0.2.7
    • s2sphere: 0.2.5
    • s3fs: 2023.6.0
    • s3transfer: 0.6.1
    • safetensors: 0.3.1
    • scattertext: 0.1.19
    • scikit-image: 0.21.0
    • scikit-learn: 1.2.2
    • scikit-learn-intelex: 2023.1.1
    • scikit-multilearn: 0.2.0
    • scikit-optimize: 0.9.0
    • scikit-plot: 0.3.7
    • scikit-surprise: 1.1.3
    • scipy: 1.11.1
    • seaborn: 0.12.2
    • secretstorage: 3.3.3
    • segment-anything: 1.0
    • segregation: 2.4.2
    • semver: 3.0.1
    • send2trash: 1.8.2
    • sentencepiece: 0.1.99
    • sentry-sdk: 1.27.1
    • setproctitle: 1.3.2
    • setuptools: 59.8.0
    • setuptools-git: 1.2
    • setuptools-scm: 7.1.0
    • shap: 0.42.0
    • shapely: 1.8.5.post1
    • shellingham: 1.5.1
    • simpervisor: 1.0.0
    • simpleitk: 2.2.1
    • simplejson: 3.19.1
    • six: 1.16.0
    • sklearn-pandas: 2.2.0
    • slicer: 0.0.7
    • smart-open: 6.3.0
    • smhasher: 0.150.1
    • smmap: 5.0.0
    • sniffio: 1.3.0
    • snowballstemmer: 2.2.0
    • snuggs: 1.4.7
    • sortedcontainers: 2.4.0
    • soundfile: 0.12.1
    • soupsieve: 2.4.1
    • soxr: 0.3.5
    • spacy: 3.5.4
    • spacy-legacy: 3.0.12
    • spacy-loggers: 1.0.4
    • spaghetti: 1.7.4
    • spectral: 0.23.1
    • spglm: 1.0.8
    • sphinx-rtd-theme: 0.2.4
    • spint: 1.0.7
    • splot: 1.1.5.post1
    • spopt: 0.5.0
    • spreg: 1.3.2
    • spvcm: 0.3.0
    • sqlalchemy: 2.0.17
    • sqlglot: 17.3.0
    • sqlparse: 0.4.4
    • squarify: 0.4.3
    • srsly: 2.4.6
    • stack-data: 0.6.2
    • starlette: 0.27.0
    • starsessions: 1.3.0
    • statsmodels: 0.14.0
    • stemming: 1.0.1
    • stop-words: 2018.7.23
    • stopit: 1.1.2
    • stumpy: 1.11.1
    • sympy: 1.12
    • tables: 3.8.0
    • tabulate: 0.9.0
    • tangled-up-in-unicode: 0.2.0
    • tbb: 2021.9.0
    • tblib: 1.7.0
    • tenacity: 8.2.2
    • tensorboard: 2.12.3
    • tensorboard-data-server: 0.7.1
    • tensorboard-plugin-profile: 2.13.0
    • tensorboardx: 2.6
    • tensorflow: 2.12.0
    • tensorflow-addons: 0.20.0
    • tensorflow-cloud: 0.1.16
    • tensorflow-datasets: 4.9.2
    • tensorflow-decision-forests: 1.4.0
    • tensorflow-estimator: 2.12.0
    • tensorflow-gcs-config: 2.12.0
    • tensorflow-hub: 0.12.0
    • tensorflow-io: 0.31.0
    • tensorflow-io-gcs-filesystem: 0.31.0
    • tensorflow-metadata: 0.14.0
    • tensorflow-probability: 0.20.1
    • tensorflow-serving-api: 2.12.1
    • tensorflow-text: 2.12.1
    • tensorflow-transform: 0.14.0
    • tensorflowjs: 3.15.0
    • tensorpack: 0.11
    • tensorstore: 0.1.40
    • termcolor: 2.3.0
    • terminado: 0.17.1
    • testpath: 0.6.0
    • text-unidecode: 1.3
    • textblob: 0.17.1
    • texttable: 1.6.7
    • textwrap3: 0.9.2
    • theano: 1.0.5
    • theano-pymc: 1.1.2
    • thinc: 8.1.10
    • threadpoolctl: 3.1.0
    • tifffile: 2023.4.12
    • timm: 0.9.2
    • tinycss2: 1.2.1
    • tobler: 0.10
    • tokenizers: 0.13.3
    • toml: 0.10.2
    • tomli: 2.0.1
    • tomlkit: 0.11.8
    • toolz: 0.12.0
    • torch: 2.0.0
    • torchaudio: 2.0.1
    • torchdata: 0.6.0
    • torchinfo: 1.8.0
    • torchmetrics: 1.0.0
    • torchtext: 0.15.1
    • torchvision: 0.15.1
    • tornado: 6.3.2
    • tpot: 0.12.0
    • tqdm: 4.65.0
    • traceml: 1.0.8
    • traitlets: 5.9.0
    • traittypes: 0.2.1
    • transformers: 4.30.2
    • treelite: 3.2.0
    • treelite-runtime: 3.2.0
    • trueskill: 0.4.5
    • tsfresh: 0.20.1
    • typeguard: 2.13.3
    • typer: 0.9.0
    • typing-extensions: 4.6.3
    • typing-inspect: 0.9.0
    • typing-utils: 0.1.0
    • tzdata: 2023.3
    • tzlocal: 5.0.1
    • uc-micro-py: 1.0.2
    • ucx-py: 0.32.0
    • ujson: 5.8.0
    • umap-learn: 0.5.3
    • unicodedata2: 15.0.0
    • unidecode: 1.3.6
    • update-checker: 0.18.0
    • uri-template: 1.3.0
    • uritemplate: 3.0.1
    • urllib3: 1.26.16
    • urwid: 2.1.2
    • urwid-readline: 0.13
    • uvicorn: 0.22.0
    • uvloop: 0.17.0
    • vaex: 4.16.0
    • vaex-astro: 0.9.3
    • vaex-core: 4.16.1
    • vaex-hdf5: 0.14.1
    • vaex-jupyter: 0.8.1
    • vaex-ml: 0.18.1
    • vaex-server: 0.8.1
    • vaex-viz: 0.5.4
    • vecstack: 0.4.0
    • virtualenv: 20.21.0
    • visions: 0.7.5
    • vowpalwabbit: 9.8.0
    • vtk: 9.2.6
    • wand: 0.6.11
    • wandb: 0.15.5
    • wasabi: 1.1.2
    • watchfiles: 0.19.0
    • wavio: 0.0.7
    • wcwidth: 0.2.6
    • webcolors: 1.13
    • webencodings: 0.5.1
    • websocket-client: 1.6.1
    • websockets: 11.0.3
    • werkzeug: 2.3.6
    • wfdb: 4.1.2
    • whatthepatch: 1.0.5
    • wheel: 0.40.0
    • widgetsnbextension: 3.6.4
    • witwidget: 1.8.1
    • woodwork: 0.24.0
    • wordbatch: 1.4.9
    • wordcloud: 1.9.2
    • wordsegment: 1.3.1
    • wrapt: 1.14.1
    • wurlitzer: 3.0.3
    • xarray: 2023.6.0
    • xarray-einstats: 0.5.1
    • xgboost: 1.7.6
    • xvfbwrapper: 0.2.9
    • xxhash: 3.2.0
    • xyzservices: 2023.5.0
    • y-py: 0.5.9
    • yapf: 0.40.1
    • yarl: 1.9.2
    • ydata-profiling: 4.3.1
    • yellowbrick: 1.5
    • ypy-websocket: 0.8.2
    • zict: 3.0.0
    • zipp: 3.15.0
    • zstandard: 0.19.0
  • System:
    • OS: Linux
    • architecture:
      • 64bit
    • processor: x86_64
    • python: 3.10.12
    • release: 5.15.109+
    • version: #1 SMP Thu Jul 13 10:52:19 UTC 2023
More info

Kaggle notebook: https://www.kaggle.com/inhanhv/tensorboard-and-csv-in-same-directory

cc @borda @awaelchli @Blaizzy

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 the provided Trainer configuration using CSVLogger and TensorBoardLogger, then trace how each logger selects its version directory. Confirm that both loggers write into the same version folder and add or update coverage for the combined-logger case.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, pytorch
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.