Repository: Lightning-AI/pytorch-lightning

Issue:
Checkpoint adding "version_" at the start of the logger name
**To reproduce :** 
```python
logger = pl.loggers.TensorBoardLogger(
                save_dir='.',
                version='my_name'
                name='lightning_logs'
            )

trainer = pl.Trainer(logger=logger, log_gpu_memory='all', max_epochs=10)
```

**Giving as a result:**

-  /lightning_logs/my_name: Where is saved the logs
-  /lightning_logs/version_my_name : Where is saved the checkpoints




**Possible Explanation:** 
It seems like the checkpoint saving add "version_" to the start of the name even if the name have been given as a parameter : 

https://github.com/PyTorchLightning/pytorch-lightning/blob/3e8f2d99a9951bfb5fc67a98614128317913be1d/pytorch_lightning/trainer/callback_config.py#L52-L57

Even if in the Tensorboard Logger if the name is provided there is no "version_" prefix :

https://github.com/PyTorchLightning/pytorch-lightning/blob/8b82ce09039e75f3fcb77a987c964249e38def3b/pytorch_lightning/loggers/tensorboard.py#L81





Discussion:
Hi! thanks for your contribution!, great first issue!

Resolving patch:
diff --git a/pytorch_lightning/trainer/callback_config.py b/pytorch_lightning/trainer/callback_config.py
--- a/pytorch_lightning/trainer/callback_config.py
+++ b/pytorch_lightning/trainer/callback_config.py
@@ -49,10 +49,12 @@ def configure_checkpoint_callback(self):
                 if self.weights_save_path is not None:
                     save_dir = self.weights_save_path
 
+                version = self.logger.version if isinstance(
+                    self.logger.version, str) else f'version_{self.logger.version}'
                 ckpt_path = os.path.join(
                     save_dir,
                     self.logger.name,
-                    f'version_{self.logger.version}',
+                    version,
                     "checkpoints"
                 )
             else:


Test patch:
diff --git a/tests/callbacks/test_callbacks.py b/tests/callbacks/test_callbacks.py
--- a/tests/callbacks/test_callbacks.py
+++ b/tests/callbacks/test_callbacks.py
@@ -3,7 +3,9 @@
 from pytorch_lightning import Callback
 from pytorch_lightning import Trainer, LightningModule
 from pytorch_lightning.callbacks import EarlyStopping, LearningRateLogger, ModelCheckpoint
+from pytorch_lightning.loggers import TensorBoardLogger
 from tests.base import EvalModelTemplate
+from pathlib import Path
 
 
 def test_trainer_callback_system(tmpdir):
@@ -258,6 +260,28 @@ def test_model_checkpoint_with_non_string_input(tmpdir, save_top_k):
     assert trainer.ckpt_path != trainer.default_root_dir
 
 
+@pytest.mark.parametrize(
+    'logger_version,expected',
+    [(None, 'version_0'), (1, 'version_1'), ('awesome', 'awesome')],
+)
+def test_model_checkpoint_path(tmpdir, logger_version, expected):
+    """Test that "version_" prefix is only added when logger's version is an integer"""
+    tutils.reset_seed()
+    model = EvalModelTemplate(tutils.get_default_hparams())
+    logger = TensorBoardLogger(str(tmpdir), version=logger_version)
+
+    trainer = Trainer(
+        default_root_dir=tmpdir,
+        overfit_pct=0.2,
+        max_epochs=5,
+        logger=logger
+    )
+    trainer.fit(model)
+
+    ckpt_version = Path(trainer.ckpt_path).parent.name
+    assert ckpt_version == expected
+
+
 def test_lr_logger_single_lr(tmpdir):
     """ Test that learning rates are extracted and logged for single lr scheduler"""
     tutils.reset_seed()