/// Torch Collate function that mimic the [`default_collate` function](https://pytorch.org/docs/stable/data.html#automatic-batching-default) from ``PyTorch``.
///
/// Data is collated inside a `tch` `Tensor`.
///
///
/// Basic transformation implemented for the default Collate :
///
/// - `Vec<Scalar>` -> `tch::Tensor<scalar>`
/// - `Vec<tuple>` -> `tuple(ndarray)`
/// - `Vec<HashMap<Key, Value>>` -> `HasMap<Key, TorchCollate::default().collate(Vec<Value>)`
/// - `Vec<Array>` -> `Vec<Stack Array>`
/// - `Vec[V1_i, V2_i, ...]` -> `Vec[TorchCollate::default().collate([V1_1, V1_2, ...]), TorchCollate::default().collate([V2_1, V2_2, ...]), ...]`
///
///
/// Like for `PyTorch` version, `String` and `u8` aren't changed by the collation (No Op).
///
/// - `Vec<String>` -> `Vec<String>`
/// - `Vec<&str>` -> `Vec<&str>`
/// - `Vec<u8>` -> `Vec<u8>`
///
///
;