Skip to main content

Machine Learning

Project description

RSProduction MachineLearning

This project provides some usefull machine learning functionality.

Table of Contents

1 metrics

TOC

The module rsp.ml.metrics provides some functionality to quantify the quality of predictions.

1.1 AUROC

TOC

Description

Calculates the Area under the Receiver Operation Chracteristic Curve.

Parameters

Name Type Description
Y torch.Tensor Prediction
T torch.Tensor True values
num_thresholds int, default = 100 Number of thresholds to compute.

Returns

Receiver Operation Chracteristic Area under the Curve : float

1.2 F1_Score

TOC

Description

F1 Score. Expected input shape: (batch_size, num_classes)

Parameters

Name Type Description
Y torch.Tensor Prediction
T torch.Tensor True values
threshold float All values that are greater than or equal to the threshold are considered a positive class.

Returns

F1 Score : float

Equations

$precision = \frac{TP}{TP + FP}$

$recall = \frac{TP}{TP + FN}$

$F_1 = \frac{2 \cdot precision \cdot recall}{precision + recall} = \frac{2 \cdot TP}{2 \cdot TP + FP + FN}$

Example

import rsp.ml.metrics as m

Y = torch.tensor([
  [0.1, 0.1, 0.8],
  [0.03, 0.95, 0.02],
  [0.05, 0.9, 0.05],
  [0.01, 0.87, 0.12],
  [0.04, 0.03, 0.93],
  [0.94, 0.02, 0.06]
])
T = torch.tensor([
  [0, 0, 1],
  [1, 0, 0],
  [0, 1, 0],
  [0, 1, 0],
  [0, 0, 1],
  [1, 0, 0]
])

f1score = m.F1_Score(Y, T)

print(f1score) --> 0.5

1.3 FN

TOC

Description

False negatives. Expected input shape: (batch_size, num_classes)

Parameters

Name Type Description
Y torch.Tensor Prediction
T torch.Tensor True values
threshold float All values that are greater than or equal to the threshold are considered a positive class.

Returns

False negatives : int

Example

import rsp.ml.metrics as m
import torch

Y = torch.tensor([
  [0.1, 0.1, 0.8],
  [0.03, 0.95, 0.02],
  [0.05, 0.9, 0.05],
  [0.01, 0.87, 0.12],
  [0.04, 0.03, 0.93],
  [0.94, 0.02, 0.06]
])
T = torch.tensor([
  [0, 0, 1],
  [1, 0, 0],
  [0, 1, 0],
  [0, 1, 0],
  [0, 0, 1],
  [1, 0, 0]
])

fn = m.FN(Y, T)
print(fn) -> 1

1.4 FP

TOC

Description

False positives. Expected input shape: (batch_size, num_classes)

Parameters

Name Type Description
Y torch.Tensor Prediction
T torch.Tensor True values
threshold float All values that are greater than or equal to the threshold are considered a positive class.

Returns

False positives : int

Example

import rsp.ml.metrics as m
import torch

Y = torch.tensor([
  [0.1, 0.1, 0.8],
  [0.03, 0.95, 0.02],
  [0.05, 0.9, 0.05],
  [0.01, 0.87, 0.12],
  [0.04, 0.03, 0.93],
  [0.94, 0.02, 0.06]
])
T = torch.tensor([
  [0, 0, 1],
  [1, 0, 0],
  [0, 1, 0],
  [0, 1, 0],
  [0, 0, 1],
  [1, 0, 0]
])

fp = m.FP(Y, T)
print(fp) -> 1

1.5 FPR

TOC

Description

False positive rate. Expected input shape: (batch_size, num_classes)

Parameters

Name Type Description
Y torch.Tensor Prediction
T torch.Tensor True values
threshold float All values that are greater than or equal to the threshold are considered a positive class.

Returns

False positive rate : float

Example

import rsp.ml.metrics as m
import torch

Y = torch.tensor([
  [0.1, 0.1, 0.8],
  [0.03, 0.95, 0.02],
  [0.05, 0.9, 0.05],
  [0.01, 0.87, 0.12],
  [0.04, 0.03, 0.93],
  [0.94, 0.02, 0.06]
])
T = torch.tensor([
  [0, 0, 1],
  [1, 0, 0],
  [0, 1, 0],
  [0, 1, 0],
  [0, 0, 1],
  [1, 0, 0]
])

fpr = m.FPR(Y, T)
print(fpr) -> 0.08333333333333333

1.6 ROC

TOC

Description

Calculates the receiver operating characteristic: computes False Positive Rates and True positive Rates for num_thresholds aligned between 0 and 1

Parameters

Name Type Description
Y torch.Tensor Prediction
T torch.Tensor True values
num_thresholds int, default = 100 Number of thresholds to compute.

Returns

(False Positive Rates, True Positive Rates) for 100 different thresholds : (List[float], List[float])

Example

import rsp.ml.metrics as m
import torch
import torch.nn.functional as F

num_elements = 100000
num_classes = 7

T = []
for i in range(num_elements):
  true_class = torch.randint(0, num_classes, (1,))
  t = F.one_hot(true_class, num_classes=num_classes)
  T.append(t)
T = torch.cat(T)

dist = torch.normal(T.float(), 1.5)
Y = F.softmax(dist, dim = 1)
FPRs, TPRs = m.ROC(Y, T)

1.7 TN

TOC

Description

True negatives. Expected input shape: (batch_size, num_classes)

Parameters

Name Type Description
Y torch.Tensor Prediction
T torch.Tensor True values
threshold float All values that are greater than or equal to the threshold are considered a positive class.

Returns

True negatives : int

Example

import rsp.ml.metrics as m
import torch

Y = torch.tensor([
  [0.1, 0.1, 0.8],
  [0.03, 0.95, 0.02],
  [0.05, 0.9, 0.05],
  [0.01, 0.87, 0.12],
  [0.04, 0.03, 0.93],
  [0.94, 0.02, 0.06]
])
T = torch.tensor([
  [0, 0, 1],
  [1, 0, 0],
  [0, 1, 0],
  [0, 1, 0],
  [0, 0, 1],
  [1, 0, 0]
])

tn = m.TN(Y, T)
print(tn) -> 11

1.8 TP

TOC

Description

True positives. Expected input shape: (batch_size, num_classes)

Parameters

Name Type Description
Y torch.Tensor Prediction
T torch.Tensor True values
threshold float All values that are greater than or equal to the threshold are considered a positive class.

Returns

True positives : int

Example

import rsp.ml.metrics as m
import torch

Y = torch.tensor([
  [0.1, 0.1, 0.8],
  [0.03, 0.95, 0.02],
  [0.05, 0.9, 0.05],
  [0.01, 0.87, 0.12],
  [0.04, 0.03, 0.93],
  [0.94, 0.02, 0.06]
])
T = torch.tensor([
  [0, 0, 1],
  [1, 0, 0],
  [0, 1, 0],
  [0, 1, 0],
  [0, 0, 1],
  [1, 0, 0]
])

tp = m.TP(Y, T)
print(tp) -> 5

1.9 TPR

TOC

Description

True positive rate. Expected input shape: (batch_size, num_classes)

Parameters

Name Type Description
Y torch.Tensor Prediction
T torch.Tensor True values
threshold float All values that are greater than or equal to the threshold are considered a positive class.

Returns

True positive rate : float

Example

import rsp.ml.metrics as m
import torch

Y = torch.tensor([
  [0.1, 0.1, 0.8],
  [0.03, 0.95, 0.02],
  [0.05, 0.9, 0.05],
  [0.01, 0.87, 0.12],
  [0.04, 0.03, 0.93],
  [0.94, 0.02, 0.06]
])
T = torch.tensor([
  [0, 0, 1],
  [1, 0, 0],
  [0, 1, 0],
  [0, 1, 0],
  [0, 0, 1],
  [1, 0, 0]
])

tpr = m.TPR(Y, T)
print(tpr) -> 0.8333333333333334

1.10 confusion_matrix

TOC

Description

Calculates the confusion matrix. Expected input shape: (batch_size, num_classes)

Parameters

Name Type Description
Y torch.Tensor Prediction
T torch.Tensor True values

Returns

Confusion matrix : torch.Tensor

Example

import rsp.ml.metrics as m
import torch

Y = torch.tensor([
  [0.1, 0.1, 0.8],
  [0.03, 0.95, 0.02],
  [0.05, 0.9, 0.05],
  [0.01, 0.87, 0.12],
  [0.04, 0.03, 0.93],
  [0.94, 0.02, 0.06]
])
T = torch.tensor([
  [0, 0, 1],
  [1, 0, 0],
  [0, 1, 0],
  [0, 1, 0],
  [0, 0, 1],
  [1, 0, 0]
])

conf_mat = m.confusion_matrix(Y, T)
print(conf_mat) -> tensor([
  [1, 1, 0],
  [0, 2, 0],
  [0, 0, 2]
])

1.11 plot_ROC

TOC

Description

Plot the receiver operating characteristic.

Parameters

Name Type Description
Y torch.Tensor Prediction
T torch.Tensor True values
num_thresholds int, default = 100 Number of thresholds to compute.
title str, optional, default = 'Confusion Matrix' Title of the plot
class_curves bool, default = False Plot ROC curve for each class
labels str, optional, default = None Class labels -> automatic labeling C000, ..., CXXX if labels is None
plt_show bool, optional, default = False Set to True to show the plot
save_file_name str, optional, default = None If not None, the plot is saved under the specified save_file_name.

Returns

Image of the confusion matrix : np.array

1.12 plot_confusion_matrix

TOC

Description

Plot the confusion matrix

Parameters

Name Type Description
confusion_matrix torch.Tensor Confusion matrix
labels str, optional, default = None Class labels -> automatic labeling C000, ..., CXXX if labels is None
cmap str, optional, default = 'Blues' Seaborn cmap, see https://r02b.github.io/seaborn_palettes/
xlabel str, optional, default = 'Predicted label' X-Axis label
ylabel str, optional, default = 'True label' Y-Axis label
title str, optional, default = 'Confusion Matrix' Title of the plot
plt_show bool, optional, default = False Set to True to show the plot
save_file_name str, optional, default = None If not None, the plot is saved under the specified save_file_name.

Returns

Image of the confusion matrix : np.array

1.13 precision

TOC

Description

Precision. Expected input shape: (batch_size, num_classes)

Parameters

Name Type Description
Y torch.Tensor Prediction
T torch.Tensor True values
threshold float All values that are greater than or equal to the threshold are considered a positive class.

Returns

Precision : float

Equations

$precision = \frac{TP}{TP + FP}$

Example

import rsp.ml.metrics as m
import torch

Y = torch.tensor([
  [0.1, 0.1, 0.8],
  [0.03, 0.95, 0.02],
  [0.05, 0.9, 0.05],
  [0.01, 0.87, 0.12],
  [0.04, 0.03, 0.93],
  [0.94, 0.02, 0.06]
])
T = torch.tensor([
  [0, 0, 1],
  [1, 0, 0],
  [0, 1, 0],
  [0, 1, 0],
  [0, 0, 1],
  [1, 0, 0]
])

precision = m.precision(Y, T)
print(precision) -> 0.8333333333333334

1.14 recall

TOC

Description

Recall. Expected input shape: (batch_size, num_classes)

Parameters

Name Type Description
Y torch.Tensor Prediction
T torch.Tensor True values
threshold float All values that are greater than or equal to the threshold are considered a positive class.

Returns

Recall : float

Equations

$recall = \frac{TP}{TP + FN}$

Example

import rsp.ml.metrics as m
import torch

Y = torch.tensor([
  [0.1, 0.1, 0.8],
  [0.03, 0.95, 0.02],
  [0.05, 0.9, 0.05],
  [0.01, 0.87, 0.12],
  [0.04, 0.03, 0.93],
  [0.94, 0.02, 0.06]
])
T = torch.tensor([
  [0, 0, 1],
  [1, 0, 0],
  [0, 1, 0],
  [0, 1, 0],
  [0, 0, 1],
  [1, 0, 0]
])

recall = m.recall(Y, T)
print(recall) -> 0.8333333333333334

1.15 top_10_accuracy

TOC

Description

Top 10 accuracy. Expected input shape: (batch_size, num_classes)

Parameters

Name Type Description
Y torch.Tensor Prediction
T torch.Tensor True values

Returns

Top 10 accuracy -> top k accuracy | k = 10 : float

Example

import rsp.ml.metrics as m

Y = torch.tensor([
  [0.1, 0.1, 0.8],
  [0.03, 0.95, 0.02],
  [0.05, 0.9, 0.05],
  [0.01, 0.87, 0.12],
  [0.04, 0.03, 0.93],
  [0.94, 0.02, 0.06]
])
T = torch.tensor([
  [0, 0, 1],
  [1, 0, 0],
  [0, 1, 0],
  [0, 1, 0],
  [0, 0, 1],
  [1, 0, 0]
])

top_10_accuracy = m.top_10_accuracy(Y, T, k = 3)

print(top_10_accuracy) --> 1.0

1.16 top_1_accuracy

TOC

Description

Top 1 accuracy. Expected input shape: (batch_size, num_classes)

Parameters

Name Type Description
Y torch.Tensor Prediction
T torch.Tensor True values

Returns

Top 1 accuracy -> top k accuracy | k = 1 : float

Example

import rsp.ml.metrics as m

Y = torch.tensor([
  [0.1, 0.1, 0.8],
  [0.03, 0.95, 0.02],
  [0.05, 0.9, 0.05],
  [0.01, 0.87, 0.12],
  [0.04, 0.03, 0.93],
  [0.94, 0.02, 0.06]
])
T = torch.tensor([
  [0, 0, 1],
  [1, 0, 0],
  [0, 1, 0],
  [0, 1, 0],
  [0, 0, 1],
  [1, 0, 0]
])

top_1_accuracy = m.top_1_accuracy(Y, T, k = 3)

print(top_1_accuracy) --> 0.8333333333333334

1.17 top_2_accuracy

TOC

Description

Top 2 accuracy. Expected input shape: (batch_size, num_classes)

Parameters

Name Type Description
Y torch.Tensor Prediction
T torch.Tensor True values

Returns

Top 2 accuracy -> top k accuracy | k = 2 : float

Example

import rsp.ml.metrics as m

Y = torch.tensor([
  [0.1, 0.1, 0.8],
  [0.03, 0.95, 0.02],
  [0.05, 0.9, 0.05],
  [0.01, 0.87, 0.12],
  [0.04, 0.03, 0.93],
  [0.94, 0.02, 0.06]
])
T = torch.tensor([
  [0, 0, 1],
  [1, 0, 0],
  [0, 1, 0],
  [0, 1, 0],
  [0, 0, 1],
  [1, 0, 0]
])

top_2_accuracy = m.top_2_accuracy(Y, T, k = 3)

print(top_2_accuracy) --> 1.0

1.18 top_3_accuracy

TOC

Description

Top 3 accuracy. Expected input shape: (batch_size, num_classes)

Parameters

Name Type Description
Y torch.Tensor Prediction
T torch.Tensor True values

Returns

Top 3 accuracy -> top k accuracy | k = 3 : float

Example

import rsp.ml.metrics as m

Y = torch.tensor([
  [0.1, 0.1, 0.8],
  [0.03, 0.95, 0.02],
  [0.05, 0.9, 0.05],
  [0.01, 0.87, 0.12],
  [0.04, 0.03, 0.93],
  [0.94, 0.02, 0.06]
])
T = torch.tensor([
  [0, 0, 1],
  [1, 0, 0],
  [0, 1, 0],
  [0, 1, 0],
  [0, 0, 1],
  [1, 0, 0]
])

top_3_accuracy = m.top_3_accuracy(Y, T, k = 3)

print(top_3_accuracy) --> 1.0

1.19 top_5_accuracy

TOC

Description

Top 5 accuracy. Expected input shape: (batch_size, num_classes)

Parameters

Name Type Description
Y torch.Tensor Prediction
T torch.Tensor True values

Returns

Top 5 accuracy -> top k accuracy | k = 5 : float

Example

import rsp.ml.metrics as m

Y = torch.tensor([
  [0.1, 0.1, 0.8],
  [0.03, 0.95, 0.02],
  [0.05, 0.9, 0.05],
  [0.01, 0.87, 0.12],
  [0.04, 0.03, 0.93],
  [0.94, 0.02, 0.06]
])
T = torch.tensor([
  [0, 0, 1],
  [1, 0, 0],
  [0, 1, 0],
  [0, 1, 0],
  [0, 0, 1],
  [1, 0, 0]
])

top_5_accuracy = m.top_5_accuracy(Y, T, k = 3)

print(top_5_accuracy) --> 1.0

1.20 top_k_accuracy

TOC

Description

Top k accuracy. Expected input shape: (batch_size, num_classes)

Parameters

Name Type Description
Y torch.Tensor Prediction
T torch.Tensor True values

Returns

Top k accuracy : float

Example

import rsp.ml.metrics as m

Y = torch.tensor([
  [0.1, 0.1, 0.8],
  [0.03, 0.95, 0.02],
  [0.05, 0.9, 0.05],
  [0.01, 0.87, 0.12],
  [0.04, 0.03, 0.93],
  [0.94, 0.02, 0.06]
])
T = torch.tensor([
  [0, 0, 1],
  [1, 0, 0],
  [0, 1, 0],
  [0, 1, 0],
  [0, 0, 1],
  [1, 0, 0]
])

top_k_accuracy = m.top_k_accuracy(Y, T, k = 3)

print(top_k_accuracy) --> 1.0

2 model

TOC

The module rsp.ml.model provides some usefull functionality to store and load pytorch models.

2.2 Constants

TOC

Name Value Description
TUC_ActionPrediction_model004 TUC/ActionPrediction/Model4 TUC Action prediction model 4
CNN with Multihead-Self-Attention
Input
- batch size
- sequence length = 30
- channels = 3
- width = 200
- height = 200
Output
- batch size
- number of classes = 10
TUC_ActionPrediction_model005 TUC/ActionPrediction/Model5 TUC Action prediction model 5
CNN with Multihead-Self-Attention
Input
- batch size
- sequence length = 30
- channels = 3
- width = 300
- height = 300
Output
- batch size
- number of classes = 10
URL https://drive.google.com/drive/folders/1ulNnPqg-5wvenRl2CuJMxMMcaiYfHjQ9?usp=share_link Google Drive URL

2.1 load_model

TOC

Description

Loads a model from an pretrained PyTorch external source into memory.

See Constants for available models

Parameters

Name Type Description
model_id str ID of the model
force_reload bool Overwrite local file -> forces downlad.

Returns

Pretrained PyTorch model : torch.nn.Module

Example

import rsp.ml.model as model

model004 = model.load_model(model.TUC_ActionPrediction_model004)

3 multi_transforms

TOC

The module rsp.ml.multi_transforms is based on torchvision.transforms, which is made for single images. rsp.ml.multi_transforms extends this functionality by providing transformations for sequences of images, which could be usefull for video augmentation.

3.1 BGR2GRAY : MultiTransform

TOC

Description

Converts a sequence of BGR images to grayscale images.

3.1.1 __call__

TOC

Description

Call self as a function.

Parameters

Name Type Description
input torch.Tensor
List[PIL.Image]
List[numpy.array]
Sequence of images

3.1.2 __init__

TOC

Description

Initializes a new instance.

3.2 BGR2RGB : MultiTransform

TOC

Description

Converts sequence of BGR images to RGB images.

3.2.1 __call__

TOC

Description

Call self as a function.

Parameters

Name Type Description
input torch.Tensor
List[PIL.Image]
List[numpy.array]
Sequence of images

3.2.2 __init__

TOC

Description

Initializes a new instance.

3.3 Brightness : MultiTransform

TOC

Description

MultiTransform is an extension to keep the same transformation over a sequence of images instead of initializing a new transformation for every single image. It is inspired by torchvision.transforms and could be used for video augmentation. Use rsp.ml.multi_transforms.Composeto combine multiple image sequence transformations.

Note rsp.ml.multi_transforms.MultiTransform is a base class and should be inherited.

3.3.1 __call__

TOC

Description

Call self as a function.

Parameters

Name Type Description
input torch.Tensor
List[PIL.Image]
List[numpy.array]
Sequence of images

3.3.2 __init__

TOC

Description

Initializes a new instance.

3.4 CenterCrop : MultiTransform

TOC

Description

Crops Images at the center after upscaling them. Dimensions kept the same.

3.4.1 __call__

TOC

Description

Call self as a function.

Parameters

Name Type Description
input torch.Tensor
List[PIL.Image]
List[numpy.array]
Sequence of images

3.4.2 __init__

TOC

Description

Initializes a new instance.

Parameters

Name Type Description
max_scale float Images are scaled randomly between 1. and max_scale before cropping to original size.

3.5 Color : MultiTransform

TOC

Description

MultiTransform is an extension to keep the same transformation over a sequence of images instead of initializing a new transformation for every single image. It is inspired by torchvision.transforms and could be used for video augmentation. Use rsp.ml.multi_transforms.Composeto combine multiple image sequence transformations.

Note rsp.ml.multi_transforms.MultiTransform is a base class and should be inherited.

3.5.1 __call__

TOC

Description

Call self as a function.

Parameters

Name Type Description
input torch.Tensor
List[PIL.Image]
List[numpy.array]
Sequence of images

3.5.2 __init__

TOC

Description

Initializes a new instance.

3.6 Compose : builtins.object

TOC

Description

Composes several MultiTransforms together.

Example

import rsp.ml.multi_transforms as t

transforms = t.Compose([
  t.BGR2GRAY(),
  t.Scale(0.5)
])

3.6.1 __call__

TOC

Description

Call self as a function.

3.6.2 __init__

TOC

Description

Initializes a new instance.

Parameters

Name Type Description
children List[MultiTransform] List of MultiTransforms to compose.

3.7 GaussianNoise : MultiTransform

TOC

Description

MultiTransform is an extension to keep the same transformation over a sequence of images instead of initializing a new transformation for every single image. It is inspired by torchvision.transforms and could be used for video augmentation. Use rsp.ml.multi_transforms.Composeto combine multiple image sequence transformations.

Note rsp.ml.multi_transforms.MultiTransform is a base class and should be inherited.

3.7.1 __call__

TOC

Description

Call self as a function.

Parameters

Name Type Description
input torch.Tensor
List[PIL.Image]
List[numpy.array]
Sequence of images

3.7.2 __init__

TOC

Description

Initializes a new instance.

3.8 MultiTransform : builtins.object

TOC

Description

MultiTransform is an extension to keep the same transformation over a sequence of images instead of initializing a new transformation for every single image. It is inspired by torchvision.transforms and could be used for video augmentation. Use rsp.ml.multi_transforms.Composeto combine multiple image sequence transformations.

Note rsp.ml.multi_transforms.MultiTransform is a base class and should be inherited.

3.8.1 __call__

TOC

Description

Call self as a function.

Parameters

Name Type Description
input torch.Tensor
List[PIL.Image]
List[numpy.array]
Sequence of images

3.8.2 __init__

TOC

Description

Initializes a new instance.

3.9 Normalize : MultiTransform

TOC

Description

Normalize images with mean and standard deviation. Given mean: (mean[1],...,mean[n]) and std: (std[1],..,std[n]) for n channels, this transform will normalize each channel of the input torch.*Tensor i.e., output[channel] = (input[channel] - mean[channel]) / std[channel]

Based on torchvision.transforms.Normalize

3.9.1 __call__

TOC

Description

Call self as a function.

Parameters

Name Type Description
input torch.Tensor
List[PIL.Image]
List[numpy.array]
Sequence of images

3.9.2 __init__

TOC

Description

Initializes a new instance.

Parameters

Name Type Description
mean List[float] Sequence of means for each channel.
std List[float] Sequence of standard deviations for each channel.
inplace bool Set to True make this operation in-place.

3.10 RGB2BGR : BGR2RGB

TOC

Description

Converts sequence of RGB images to BGR images.

3.10.1 __call__

TOC

Description

Call self as a function.

Parameters

Name Type Description
input torch.Tensor
List[PIL.Image]
List[numpy.array]
Sequence of images

3.10.2 __init__

TOC

Description

Initializes a new instance.

3.11 RandomCrop : MultiTransform

TOC

Description

Crops Images at a random location after upscaling them. Dimensions kept the same.

3.11.1 __call__

TOC

Description

Call self as a function.

Parameters

Name Type Description
input torch.Tensor
List[PIL.Image]
List[numpy.array]
Sequence of images

3.11.2 __init__

TOC

Description

Initializes a new instance.

Parameters

Name Type Description
max_scale float Images are scaled randomly between 1. and max_scale before cropping to original size.

3.12 RandomHorizontalFlip : MultiTransform

TOC

Description

MultiTransform is an extension to keep the same transformation over a sequence of images instead of initializing a new transformation for every single image. It is inspired by torchvision.transforms and could be used for video augmentation. Use rsp.ml.multi_transforms.Composeto combine multiple image sequence transformations.

Note rsp.ml.multi_transforms.MultiTransform is a base class and should be inherited.

3.12.1 __call__

TOC

Description

Call self as a function.

Parameters

Name Type Description
input torch.Tensor
List[PIL.Image]
List[numpy.array]
Sequence of images

3.12.2 __init__

TOC

Description

Initializes a new instance.

3.13 RandomVerticalFlip : MultiTransform

TOC

Description

MultiTransform is an extension to keep the same transformation over a sequence of images instead of initializing a new transformation for every single image. It is inspired by torchvision.transforms and could be used for video augmentation. Use rsp.ml.multi_transforms.Composeto combine multiple image sequence transformations.

Note rsp.ml.multi_transforms.MultiTransform is a base class and should be inherited.

3.13.1 __call__

TOC

Description

Call self as a function.

Parameters

Name Type Description
input torch.Tensor
List[PIL.Image]
List[numpy.array]
Sequence of images

3.13.2 __init__

TOC

Description

Initializes a new instance.

3.14 Resize : MultiTransform

TOC

Description

MultiTransform is an extension to keep the same transformation over a sequence of images instead of initializing a new transformation for every single image. It is inspired by torchvision.transforms and could be used for video augmentation. Use rsp.ml.multi_transforms.Composeto combine multiple image sequence transformations.

Note rsp.ml.multi_transforms.MultiTransform is a base class and should be inherited.

3.14.1 __call__

TOC

Description

Call self as a function.

Parameters

Name Type Description
input torch.Tensor
List[PIL.Image]
List[numpy.array]
Sequence of images

3.14.2 __init__

TOC

Description

Initializes a new instance.

3.15 Rotate : MultiTransform

TOC

Description

Randomly rotates images.

Equations

$angle = -max_angle + 2 \cdot random() \cdot max_angle$

3.15.1 __call__

TOC

Description

Call self as a function.

Parameters

Name Type Description
input torch.Tensor
List[PIL.Image]
List[numpy.array]
Sequence of images

3.15.2 __init__

TOC

Description

Iitializes a new instance.

Parameters

Name Type Description
max_angle float Maximal rotation in degrees
auto_scale bool, default = True Image will be resized when auto scale is activated to avoid black margins.

3.16 Satturation : MultiTransform

TOC

Description

MultiTransform is an extension to keep the same transformation over a sequence of images instead of initializing a new transformation for every single image. It is inspired by torchvision.transforms and could be used for video augmentation. Use rsp.ml.multi_transforms.Composeto combine multiple image sequence transformations.

Note rsp.ml.multi_transforms.MultiTransform is a base class and should be inherited.

3.16.1 __call__

TOC

Description

Call self as a function.

Parameters

Name Type Description
input torch.Tensor
List[PIL.Image]
List[numpy.array]
Sequence of images

3.16.2 __init__

TOC

Description

Initializes a new instance.

3.17 Scale : MultiTransform

TOC

Description

MultiTransform is an extension to keep the same transformation over a sequence of images instead of initializing a new transformation for every single image. It is inspired by torchvision.transforms and could be used for video augmentation. Use rsp.ml.multi_transforms.Composeto combine multiple image sequence transformations.

Note rsp.ml.multi_transforms.MultiTransform is a base class and should be inherited.

3.17.1 __call__

TOC

Description

Call self as a function.

Parameters

Name Type Description
input torch.Tensor
List[PIL.Image]
List[numpy.array]
Sequence of images

3.17.2 __init__

TOC

Description

Initializes a new instance.

3.18 Stack : MultiTransform

TOC

Description

MultiTransform is an extension to keep the same transformation over a sequence of images instead of initializing a new transformation for every single image. It is inspired by torchvision.transforms and could be used for video augmentation. Use rsp.ml.multi_transforms.Composeto combine multiple image sequence transformations.

Note rsp.ml.multi_transforms.MultiTransform is a base class and should be inherited.

3.18.1 __call__

TOC

Description

Call self as a function.

Parameters

Name Type Description
input torch.Tensor
List[PIL.Image]
List[numpy.array]
Sequence of images

3.18.2 __init__

TOC

Description

Initializes a new instance.

3.19 ToCVImage : MultiTransform

TOC

Description

Converts a torch.Tensorto Open CV image by changing dimensions (d0, d1, d2) -> (d1, d2, d0) and converting torch.Tensor to numpy.

3.19.1 __call__

TOC

Description

Call self as a function.

Parameters

Name Type Description
input torch.Tensor
List[PIL.Image]
List[numpy.array]
Sequence of images

3.19.2 __init__

TOC

Description

Initializes a new instance.

3.20 ToNumpy : MultiTransform

TOC

Description

Converts a torch.Tensorto numpy

3.20.1 __call__

TOC

Description

Call self as a function.

Parameters

Name Type Description
input torch.Tensor
List[PIL.Image]
List[numpy.array]
Sequence of images

3.20.2 __init__

TOC

Description

Initializes a new instance.

3.21 ToPILImage : MultiTransform

TOC

Description

Converts sequence of images to sequence of PIL.Image.

3.21.1 __call__

TOC

Description

Call self as a function.

Parameters

Name Type Description
input torch.Tensor
List[PIL.Image]
List[numpy.array]
Sequence of images

3.21.2 __init__

TOC

Description

Initializes a new instance.

3.22 ToTensor : MultiTransform

TOC

Description

Converts a sequence of images to torch.Tensor.

3.22.1 __call__

TOC

Description

Call self as a function.

Parameters

Name Type Description
input torch.Tensor
List[PIL.Image]
List[numpy.array]
Sequence of images

3.22.2 __init__

TOC

Description

Initializes a new instance.

4 run

TOC

The module rsp.ml.run provides some tools for storing, loading and visualizing data during training of models using PyTorch.

4.1 Run : builtins.object

TOC

4.1.1 __init__

TOC

Description

Initialize self. See help(type(self)) for accurate signature.

4.1.2 append

TOC

4.1.3 get_avg

TOC

4.1.4 get_val

TOC

4.1.5 len

TOC

4.1.6 load_best_state_dict

TOC

4.1.7 load_state_dict

TOC

4.1.8 pickle_dump

TOC

4.1.9 pickle_load

TOC

4.1.10 plot

TOC

4.1.11 recalculate_moving_average

TOC

4.1.12 save

TOC

4.1.13 save_best_state_dict

TOC

4.1.14 save_state_dict

TOC

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rsp_ml-0.0.66.tar.gz (29.1 kB view details)

Uploaded Source

Built Distribution

rsp_ml-0.0.66-py3-none-any.whl (20.2 kB view details)

Uploaded Python 3

File details

Details for the file rsp_ml-0.0.66.tar.gz.

File metadata

  • Download URL: rsp_ml-0.0.66.tar.gz
  • Upload date:
  • Size: 29.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.0

File hashes

Hashes for rsp_ml-0.0.66.tar.gz
Algorithm Hash digest
SHA256 8ad3248e1353c0fc8fb67263147993abdf5c7475840770e70e967273a635b019
MD5 18397c843ccd3794c0ed8e609a4cc8f2
BLAKE2b-256 ad8ce4013233c7e28924927134dcc804b106ad767974b2c63724cc6fa944d165

See more details on using hashes here.

File details

Details for the file rsp_ml-0.0.66-py3-none-any.whl.

File metadata

  • Download URL: rsp_ml-0.0.66-py3-none-any.whl
  • Upload date:
  • Size: 20.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.0

File hashes

Hashes for rsp_ml-0.0.66-py3-none-any.whl
Algorithm Hash digest
SHA256 f9540aee9992da8cce6bc00a5d9924db16045069049b22b24e70a603f0e618ae
MD5 395e8c283b6b73771c68f341c8347dc9
BLAKE2b-256 3bfe737d8aca155f39e792a67a3fd92e89496ce53410cbf1e7bc5ba7ad2fc40a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page