AttributeError: Dataset has no self._logger set
**Describe the bug**
In the `__init__`  of `Dataset` references to `self._logger` is made through calls such as `self.warning(msg)`. However, these calls fail with `AttributeError` because the `super().__init__(name=__name__, class_name=self.__class__.__name__)` (which sets the `self._logger` via inheritence to `Logger`) comes **after** these messages are attempted to be sent to the logger.

**To Reproduce**
Steps to reproduce the behavior:
1. Run any training script with `string_selection = [0,1,2,3,4,5]` set for `SQLiteDataset`

**Full traceback**
Please include the full error message to allow for debugging
```
File "/home/iwsatlas1/oersoe/github/graphnet/src/graphnet/data/dataset.py", line 230, in __init__
    self.warning(
  File "/home/iwsatlas1/oersoe/github/graphnet/src/graphnet/utilities/logging.py", line 213, in warning
    return self._logger.warning(msg, *args, **kwargs)
  File "/opt/anaconda3/lib/python3.9/site-packages/torch/utils/data/dataset.py", line 83, in __getattr__
    raise AttributeError
AttributeError
```

diff --git a/src/graphnet/data/dataset.py b/src/graphnet/data/dataset.py
index 25c63569..a0110988 100644
--- a/src/graphnet/data/dataset.py
+++ b/src/graphnet/data/dataset.py
@@ -196,6 +196,9 @@ class Dataset(Logger, Configurable, torch.utils.data.Dataset, ABC):
                 `"10000 random events ~ event_no % 5 > 0"` or `"20% random
                 events ~ event_no % 5 > 0"`).
         """
+        # Base class constructor
+        super().__init__(name=__name__, class_name=self.__class__.__name__)
+
         # Check(s)
         if isinstance(pulsemaps, str):
             pulsemaps = [pulsemaps]
@@ -264,9 +267,6 @@ class Dataset(Logger, Configurable, torch.utils.data.Dataset, ABC):
             seed=seed,
         )
 
-        # Base class constructor
-        super().__init__(name=__name__, class_name=self.__class__.__name__)
-
         # Implementation-specific initialisation.
         self._init()
 
['src/graphnet/data/dataset.py']