Module containing miscellaneous machine learning procedures
This module contains various procedures that are useful for machine learning tasks. These include shuffling data, splitting data into train and test sets, and padding data.
Shuffle an array along one dimension
This procedure shuffles an array along one dimension. The array can be of any rank, but the dimension along which to shuffle must be specified. An optional index array can also be shuffled.
Shuffle a 1D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(inout), | dimension(:) | :: | data |
1D array to be shuffled |
|
| integer, | intent(in), | optional | :: | seed |
Random seed |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(inout), | dimension(:,:) | :: | data |
2D array to be shuffled |
|
| integer, | intent(in) | :: | dim |
Dimension along which to shuffle |
||
| integer, | intent(in), | optional | :: | seed |
Random seed |
Shuffle a 3D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(inout), | dimension(:,:,:) | :: | data |
3D array to be shuffled |
|
| integer, | intent(in) | :: | dim |
Dimension along which to shuffle |
||
| integer, | intent(in), | optional | :: | seed |
Random seed |
Shuffle a 3D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(inout), | dimension(:,:,:) | :: | data |
3D array to be shuffled |
|
| integer, | intent(in) | :: | dim |
Dimension along which to shuffle |
||
| integer, | intent(in), | optional | :: | seed |
Random seed |
Shuffle a 4D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(inout), | dimension(:,:,:,:) | :: | data |
4D array to be shuffled |
|
| integer, | intent(in) | :: | dim |
Dimension along which to shuffle |
||
| integer, | intent(in), | optional | :: | seed |
Random seed |
Shuffle a 5D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(inout), | dimension(:,:,:,:,:) | :: | data |
5D array to be shuffled |
|
| integer, | intent(in) | :: | dim |
Dimension along which to shuffle |
||
| integer, | intent(in), | optional | :: | seed |
Random seed |
Shuffle a 2D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(inout), | dimension(:,:) | :: | data |
2D array to be shuffled |
|
| real(kind=real32), | intent(inout), | dimension(:) | :: | label |
1D array to be shuffled |
|
| integer, | intent(in) | :: | dim |
Dimension along which to shuffle |
||
| integer, | intent(in), | optional | :: | seed |
Random seed |
|
| integer, | intent(out), | optional, | dimension(size(data,dim)) | :: | shuffle_list |
Index array |
Shuffle a 3D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(inout), | dimension(:,:,:) | :: | data |
3D array to be shuffled |
|
| integer, | intent(inout), | dimension(:) | :: | label |
1D array to be shuffled |
|
| integer, | intent(in) | :: | dim |
Dimension along which to shuffle |
||
| integer, | intent(in), | optional | :: | seed |
Random seed |
Shuffle a 3D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(inout), | dimension(:,:,:) | :: | data |
3D array to be shuffled |
|
| real(kind=real32), | intent(inout), | dimension(:) | :: | label |
1D array to be shuffled |
|
| integer, | intent(in) | :: | dim |
Dimension along which to shuffle |
||
| integer, | intent(in), | optional | :: | seed |
Random seed |
Shuffle a 4D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(inout), | dimension(:,:,:,:) | :: | data |
4D array to be shuffled |
|
| integer, | intent(inout), | dimension(:) | :: | label |
1D array to be shuffled |
|
| integer, | intent(in) | :: | dim |
Dimension along which to shuffle |
||
| integer, | intent(in), | optional | :: | seed |
Random seed |
Shuffle a 5D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(inout), | dimension(:,:,:,:,:) | :: | data |
5D array to be shuffled |
|
| integer, | intent(inout), | dimension(:) | :: | label |
1D array to be shuffled |
|
| integer, | intent(in) | :: | dim |
Dimension along which to shuffle |
||
| integer, | intent(in), | optional | :: | seed |
Random seed |
Shuffle a 5D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(inout), | dimension(:,:,:,:,:) | :: | data |
5D array to be shuffled |
|
| real(kind=real32), | intent(inout), | dimension(:) | :: | label |
1D array to be shuffled |
|
| integer, | intent(in) | :: | dim |
Dimension along which to shuffle |
||
| integer, | intent(in), | optional | :: | seed |
Random seed |
|
| integer, | intent(out), | optional, | dimension(size(data,dim)) | :: | shuffle_list |
Index array |
Split an array into train and test sets
This procedure splits an array into two sets along one dimension. The array can be of any rank, but the dimension along which to split must be specified. An optional index array can also be split. The size of the left and right splits can also be specified. The data can be shuffled before splitting.
Split a 2D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(in), | dimension(:,:) | :: | data |
2D array to be split |
|
| real(kind=real32), | intent(in), | dimension(:) | :: | label |
1D array to be split |
|
| real(kind=real32), | intent(out), | allocatable, dimension(:,:) | :: | left_data |
2D arrays to store the left and right splits |
|
| real(kind=real32), | intent(out), | allocatable, dimension(:,:) | :: | right_data |
2D arrays to store the left and right splits |
|
| real(kind=real32), | intent(out), | allocatable, dimension(:) | :: | left_label |
1D arrays to store the left and right splits |
|
| real(kind=real32), | intent(out), | allocatable, dimension(:) | :: | right_label |
1D arrays to store the left and right splits |
|
| integer, | intent(in) | :: | dim |
Dimension along which to split |
||
| real(kind=real32), | intent(in), | optional | :: | left_size |
Size of the left and right splits |
|
| real(kind=real32), | intent(in), | optional | :: | right_size |
Size of the left and right splits |
|
| logical, | intent(in), | optional | :: | shuffle |
Shuffle the data before splitting |
|
| integer, | intent(in), | optional | :: | seed |
Random seed |
|
| integer, | intent(out), | optional, | dimension(size(data,dim)) | :: | split_list |
Index array |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in), | dimension(:,:,:) | :: | data |
3D array to be split |
|
| integer, | intent(in), | dimension(:) | :: | label |
1D array to be split |
|
| integer, | intent(out), | allocatable, dimension(:,:,:) | :: | left_data |
3D arrays to store the left and right splits |
|
| integer, | intent(out), | allocatable, dimension(:,:,:) | :: | right_data |
3D arrays to store the left and right splits |
|
| integer, | intent(out), | allocatable, dimension(:) | :: | left_label |
1D arrays to store the left and right splits |
|
| integer, | intent(out), | allocatable, dimension(:) | :: | right_label |
1D arrays to store the left and right splits |
|
| integer, | intent(in) | :: | dim |
Dimension along which to split |
||
| real(kind=real32), | intent(in), | optional | :: | left_size |
Size of the left and right splits |
|
| real(kind=real32), | intent(in), | optional | :: | right_size |
Size of the left and right splits |
|
| logical, | intent(in), | optional | :: | shuffle |
Shuffle the data before splitting |
|
| integer, | intent(in), | optional | :: | seed |
Random seed |
|
| integer, | intent(out), | optional, | dimension(size(data,dim)) | :: | split_list |
Index array |
Split a 3D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in), | dimension(:,:,:) | :: | data |
3D array to be split |
|
| real(kind=real32), | intent(in), | dimension(:) | :: | label |
1D array to be split |
|
| integer, | intent(out), | allocatable, dimension(:,:,:) | :: | left_data |
3D arrays to store the left and right splits |
|
| integer, | intent(out), | allocatable, dimension(:,:,:) | :: | right_data |
3D arrays to store the left and right splits |
|
| real(kind=real32), | intent(out), | allocatable, dimension(:) | :: | left_label |
1D arrays to store the left and right splits |
|
| real(kind=real32), | intent(out), | allocatable, dimension(:) | :: | right_label |
1D arrays to store the left and right splits |
|
| integer, | intent(in) | :: | dim |
Dimension along which to split |
||
| real(kind=real32), | intent(in), | optional | :: | left_size |
Size of the left and right splits |
|
| real(kind=real32), | intent(in), | optional | :: | right_size |
Size of the left and right splits |
|
| logical, | intent(in), | optional | :: | shuffle |
Shuffle the data before splitting |
|
| integer, | intent(in), | optional | :: | seed |
Random seed |
|
| integer, | intent(out), | optional, | dimension(size(data,dim)) | :: | split_list |
Index array |
Split a 5D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(in), | dimension(:,:,:,:,:) | :: | data |
5D array to be split |
|
| real(kind=real32), | intent(out), | allocatable, dimension(:,:,:,:,:) | :: | left |
5D arrays to store the left and right splits |
|
| real(kind=real32), | intent(out), | allocatable, dimension(:,:,:,:,:) | :: | right |
5D arrays to store the left and right splits |
|
| integer, | intent(in) | :: | dim |
Dimension along which to split |
||
| real(kind=real32), | intent(in), | optional | :: | left_size |
Size of the left and right splits |
|
| real(kind=real32), | intent(in), | optional | :: | right_size |
Size of the left and right splits |
|
| logical, | intent(in), | optional | :: | shuffle |
Shuffle the data before splitting |
|
| integer, | intent(in), | optional | :: | seed |
Random seed |
Split a 5D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(in), | dimension(:,:,:,:,:) | :: | data |
5D array to be split |
|
| real(kind=real32), | intent(in), | dimension(:) | :: | label |
1D array to be split |
|
| real(kind=real32), | intent(out), | allocatable, dimension(:,:,:,:,:) | :: | left_data |
5D arrays to store the left and right splits |
|
| real(kind=real32), | intent(out), | allocatable, dimension(:,:,:,:,:) | :: | right_data |
5D arrays to store the left and right splits |
|
| real(kind=real32), | intent(out), | allocatable, dimension(:) | :: | left_label |
1D arrays to store the left and right splits |
|
| real(kind=real32), | intent(out), | allocatable, dimension(:) | :: | right_label |
1D arrays to store the left and right splits |
|
| integer, | intent(in) | :: | dim |
Dimension along which to split |
||
| real(kind=real32), | intent(in), | optional | :: | left_size |
Size of the left and right splits |
|
| real(kind=real32), | intent(in), | optional | :: | right_size |
Size of the left and right splits |
|
| logical, | intent(in), | optional | :: | shuffle |
Shuffle the data before splitting |
|
| integer, | intent(in), | optional | :: | seed |
Random seed |
|
| integer, | intent(out), | optional, | dimension(size(data,dim)) | :: | split_list |
Index array |
Function to return half the padding width
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | width |
Width of kernel/filter |
Half the padding width
Pad data for convolutional layers
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(in), | dimension(..) | :: | data |
Data to be padded |
|
| real(kind=real32), | intent(out), | allocatable, dimension(..) | :: | data_padded |
Padded data |
|
| integer, | intent(in), | dimension(..) | :: | kernel_size |
Width of kernel/filter |
|
| character(len=*), | intent(inout) | :: | padding_method |
Padding method |
||
| integer, | intent(in), | optional | :: | sample_dim |
Dimensions along which to pad |
|
| integer, | intent(in), | optional | :: | channel_dim |
Dimensions along which to pad |
|
| real(kind=real32), | intent(in), | optional | :: | constant |
Constant value for padding |
Set padding for convolutional layers
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(out) | :: | pad |
Padding width |
||
| integer, | intent(in) | :: | kernel_size |
Width of kernel/filter |
||
| character(len=*), | intent(inout) | :: | padding_method |
Padding method |
||
| integer, | intent(in), | optional | :: | verbose |
Verbosity level |
Shuffle a 1D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(inout), | dimension(:) | :: | data |
1D array to be shuffled |
|
| integer, | intent(in), | optional | :: | seed |
Random seed |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(inout), | dimension(:,:) | :: | data |
2D array to be shuffled |
|
| integer, | intent(in) | :: | dim |
Dimension along which to shuffle |
||
| integer, | intent(in), | optional | :: | seed |
Random seed |
Shuffle a 2D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(inout), | dimension(:,:) | :: | data |
2D array to be shuffled |
|
| real(kind=real32), | intent(inout), | dimension(:) | :: | label |
1D array to be shuffled |
|
| integer, | intent(in) | :: | dim |
Dimension along which to shuffle |
||
| integer, | intent(in), | optional | :: | seed |
Random seed |
|
| integer, | intent(out), | optional, | dimension(size(data,dim)) | :: | shuffle_list |
Index array |
Shuffle a 3D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(inout), | dimension(:,:,:) | :: | data |
3D array to be shuffled |
|
| integer, | intent(in) | :: | dim |
Dimension along which to shuffle |
||
| integer, | intent(in), | optional | :: | seed |
Random seed |
Shuffle a 3D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(inout), | dimension(:,:,:) | :: | data |
3D array to be shuffled |
|
| integer, | intent(inout), | dimension(:) | :: | label |
1D array to be shuffled |
|
| integer, | intent(in) | :: | dim |
Dimension along which to shuffle |
||
| integer, | intent(in), | optional | :: | seed |
Random seed |
Shuffle a 3D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(inout), | dimension(:,:,:) | :: | data |
3D array to be shuffled |
|
| real(kind=real32), | intent(inout), | dimension(:) | :: | label |
1D array to be shuffled |
|
| integer, | intent(in) | :: | dim |
Dimension along which to shuffle |
||
| integer, | intent(in), | optional | :: | seed |
Random seed |
Shuffle a 3D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(inout), | dimension(:,:,:) | :: | data |
3D array to be shuffled |
|
| integer, | intent(in) | :: | dim |
Dimension along which to shuffle |
||
| integer, | intent(in), | optional | :: | seed |
Random seed |
Shuffle a 4D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(inout), | dimension(:,:,:,:) | :: | data |
4D array to be shuffled |
|
| integer, | intent(in) | :: | dim |
Dimension along which to shuffle |
||
| integer, | intent(in), | optional | :: | seed |
Random seed |
Shuffle a 4D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(inout), | dimension(:,:,:,:) | :: | data |
4D array to be shuffled |
|
| integer, | intent(inout), | dimension(:) | :: | label |
1D array to be shuffled |
|
| integer, | intent(in) | :: | dim |
Dimension along which to shuffle |
||
| integer, | intent(in), | optional | :: | seed |
Random seed |
Shuffle a 5D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(inout), | dimension(:,:,:,:,:) | :: | data |
5D array to be shuffled |
|
| integer, | intent(in) | :: | dim |
Dimension along which to shuffle |
||
| integer, | intent(in), | optional | :: | seed |
Random seed |
Shuffle a 5D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(inout), | dimension(:,:,:,:,:) | :: | data |
5D array to be shuffled |
|
| integer, | intent(inout), | dimension(:) | :: | label |
1D array to be shuffled |
|
| integer, | intent(in) | :: | dim |
Dimension along which to shuffle |
||
| integer, | intent(in), | optional | :: | seed |
Random seed |
Shuffle a 5D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(inout), | dimension(:,:,:,:,:) | :: | data |
5D array to be shuffled |
|
| real(kind=real32), | intent(inout), | dimension(:) | :: | label |
1D array to be shuffled |
|
| integer, | intent(in) | :: | dim |
Dimension along which to shuffle |
||
| integer, | intent(in), | optional | :: | seed |
Random seed |
|
| integer, | intent(out), | optional, | dimension(size(data,dim)) | :: | shuffle_list |
Index array |
Split a 2D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(in), | dimension(:,:) | :: | data |
2D array to be split |
|
| real(kind=real32), | intent(in), | dimension(:) | :: | label |
1D array to be split |
|
| real(kind=real32), | intent(out), | allocatable, dimension(:,:) | :: | left_data |
2D arrays to store the left and right splits |
|
| real(kind=real32), | intent(out), | allocatable, dimension(:,:) | :: | right_data |
2D arrays to store the left and right splits |
|
| real(kind=real32), | intent(out), | allocatable, dimension(:) | :: | left_label |
1D arrays to store the left and right splits |
|
| real(kind=real32), | intent(out), | allocatable, dimension(:) | :: | right_label |
1D arrays to store the left and right splits |
|
| integer, | intent(in) | :: | dim |
Dimension along which to split |
||
| real(kind=real32), | intent(in), | optional | :: | left_size |
Size of the left and right splits |
|
| real(kind=real32), | intent(in), | optional | :: | right_size |
Size of the left and right splits |
|
| logical, | intent(in), | optional | :: | shuffle |
Shuffle the data before splitting |
|
| integer, | intent(in), | optional | :: | seed |
Random seed |
|
| integer, | intent(out), | optional, | dimension(size(data,dim)) | :: | split_list |
Index array |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in), | dimension(:,:,:) | :: | data |
3D array to be split |
|
| integer, | intent(in), | dimension(:) | :: | label |
1D array to be split |
|
| integer, | intent(out), | allocatable, dimension(:,:,:) | :: | left_data |
3D arrays to store the left and right splits |
|
| integer, | intent(out), | allocatable, dimension(:,:,:) | :: | right_data |
3D arrays to store the left and right splits |
|
| integer, | intent(out), | allocatable, dimension(:) | :: | left_label |
1D arrays to store the left and right splits |
|
| integer, | intent(out), | allocatable, dimension(:) | :: | right_label |
1D arrays to store the left and right splits |
|
| integer, | intent(in) | :: | dim |
Dimension along which to split |
||
| real(kind=real32), | intent(in), | optional | :: | left_size |
Size of the left and right splits |
|
| real(kind=real32), | intent(in), | optional | :: | right_size |
Size of the left and right splits |
|
| logical, | intent(in), | optional | :: | shuffle |
Shuffle the data before splitting |
|
| integer, | intent(in), | optional | :: | seed |
Random seed |
|
| integer, | intent(out), | optional, | dimension(size(data,dim)) | :: | split_list |
Index array |
Split a 3D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in), | dimension(:,:,:) | :: | data |
3D array to be split |
|
| real(kind=real32), | intent(in), | dimension(:) | :: | label |
1D array to be split |
|
| integer, | intent(out), | allocatable, dimension(:,:,:) | :: | left_data |
3D arrays to store the left and right splits |
|
| integer, | intent(out), | allocatable, dimension(:,:,:) | :: | right_data |
3D arrays to store the left and right splits |
|
| real(kind=real32), | intent(out), | allocatable, dimension(:) | :: | left_label |
1D arrays to store the left and right splits |
|
| real(kind=real32), | intent(out), | allocatable, dimension(:) | :: | right_label |
1D arrays to store the left and right splits |
|
| integer, | intent(in) | :: | dim |
Dimension along which to split |
||
| real(kind=real32), | intent(in), | optional | :: | left_size |
Size of the left and right splits |
|
| real(kind=real32), | intent(in), | optional | :: | right_size |
Size of the left and right splits |
|
| logical, | intent(in), | optional | :: | shuffle |
Shuffle the data before splitting |
|
| integer, | intent(in), | optional | :: | seed |
Random seed |
|
| integer, | intent(out), | optional, | dimension(size(data,dim)) | :: | split_list |
Index array |
Split a 5D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(in), | dimension(:,:,:,:,:) | :: | data |
5D array to be split |
|
| real(kind=real32), | intent(out), | allocatable, dimension(:,:,:,:,:) | :: | left |
5D arrays to store the left and right splits |
|
| real(kind=real32), | intent(out), | allocatable, dimension(:,:,:,:,:) | :: | right |
5D arrays to store the left and right splits |
|
| integer, | intent(in) | :: | dim |
Dimension along which to split |
||
| real(kind=real32), | intent(in), | optional | :: | left_size |
Size of the left and right splits |
|
| real(kind=real32), | intent(in), | optional | :: | right_size |
Size of the left and right splits |
|
| logical, | intent(in), | optional | :: | shuffle |
Shuffle the data before splitting |
|
| integer, | intent(in), | optional | :: | seed |
Random seed |
Split a 5D array along one dimension
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=real32), | intent(in), | dimension(:,:,:,:,:) | :: | data |
5D array to be split |
|
| real(kind=real32), | intent(in), | dimension(:) | :: | label |
1D array to be split |
|
| real(kind=real32), | intent(out), | allocatable, dimension(:,:,:,:,:) | :: | left_data |
5D arrays to store the left and right splits |
|
| real(kind=real32), | intent(out), | allocatable, dimension(:,:,:,:,:) | :: | right_data |
5D arrays to store the left and right splits |
|
| real(kind=real32), | intent(out), | allocatable, dimension(:) | :: | left_label |
1D arrays to store the left and right splits |
|
| real(kind=real32), | intent(out), | allocatable, dimension(:) | :: | right_label |
1D arrays to store the left and right splits |
|
| integer, | intent(in) | :: | dim |
Dimension along which to split |
||
| real(kind=real32), | intent(in), | optional | :: | left_size |
Size of the left and right splits |
|
| real(kind=real32), | intent(in), | optional | :: | right_size |
Size of the left and right splits |
|
| logical, | intent(in), | optional | :: | shuffle |
Shuffle the data before splitting |
|
| integer, | intent(in), | optional | :: | seed |
Random seed |
|
| integer, | intent(out), | optional, | dimension(size(data,dim)) | :: | split_list |
Index array |