functional
Pytorch functions
Combinatorics
- pydrobert.torch.functional.binomial_coefficient(length, count)[source]
Compute the binomial coefficients (length choose count)
The binomial coefficient “length choose count” is calculated as
\[\begin{split}\binom{length}{count} = \frac{length!}{length!(length - count)!} \\ x! = \begin{cases} \prod_{x'=1}^x x' & x > 0 \\ 1 & x = 0 \\ 0 & x < 0 \end{cases}\end{split}\]- Parameters:
- Returns:
binom (
torch.Tensor) – A long tensor of the broadcasted shape of length and count. The value at multi-indexn,binom[n], stores the binomial coefficientlength[n]choosecount[n], assuming length and count have already been broadcast together.
Warning
As the values in binom can get very large, this function is susceptible to overflow. For example, \(\binom{67}{33}\) exceeds the long’s maximum. Overflow will be avoided by ensuring length does not exceed
66. The binomial coefficient is at its highest whencount = length // 2and at its lowest whencount == lengthorcount == 0.Notes
When the maximum length exceeds
20, the implementation uses the recursion defined in [howard1972].
- pydrobert.torch.functional.enumerate_vocab_sequences(length, vocab_size, device=device(type='cpu'), dtype=torch.int64)[source]
Enumerate all sequences of a finite range of values of a fixed length
This function generalizes
enumerate_binary_sequences()to any positive vocabulary size. Each step in each sequence takes on a value from 0-vocab_size- Parameters:
- Returns:
support (
torch.Tensor) – A tensor of shape(vocab_size ** length, length)of all possible sequences with that vocabulary. The sequences are ordered such that all configurations wheresupport[s, t] > 0must follow those wheresupport[s', t] == 0(i.e. it impliess' < s). Therefore all sequences of lengthlength - xare contained insupport[2 ** (length - x), :length - x].
- pydrobert.torch.functional.enumerate_binary_sequences(length, device=device(type='cpu'), dtype=torch.int64)[source]
Enumerate all binary sequences of a fixed length
- Parameters:
- Returns:
support (
torch.Tensor) – A tensor of shape(2 ** length, length)of all possible binary sequences of length length. The sequences are ordered such that all configurations wheresupport[s, t] == 1must follow those wheresupport[s', t] == 0(i.e. it impliess' < s). Therefore all binary sequences of lengthlength - xare contained insupport[2 ** (length - x), :length - x].
Examples
>>> support = enumerate_binary_sequences(3) >>> print(support) tensor([[0, 0, 0], [1, 0, 0], [0, 1, 0], [1, 1, 0], [0, 0, 1], [1, 0, 1], [0, 1, 1], [1, 1, 1]]) >>> print(support[:4, :2]) tensor([[0, 0], [1, 0], [0, 1], [1, 1]])
- pydrobert.torch.functional.enumerate_binary_sequences_with_cardinality(length, count, device=device(type='cpu'), dtype=torch.int64)[source]
Enumerate the configurations of binary sequences with fixed sum
- Parameters:
length (
Any) – The number of elements in the binary sequence. Either a tensor or an int. Must be the same type as count. If a tensor, must broadcast with count.count (
Any) – The number of elements with value 1. Either a tensor or an int. Must be the same type as length. If a tensor, must broadcast with length.device (
device) – If length and count are integers, device specifies the device to return the tensor on. Otherwise the device of length is used.dtype (
int) – If length and count are integers, dtype specifies the return type of the tensor. Otherwise the type of length is used.
- Returns:
support (
torch.Tensorortupleoftorch.Tensor) – If length and count are both integers, support is a tensor of shape(N, length)where \(N = \binom{length}{count}\) is the number of unique binary sequence configurations of length length such that for anyn,support[n].sum() == count.If length and count are both long tensors, support is a tuple of tensors
support_, binomwhere support_ is of shape(B*, N_, length_)and binom is of shape(B*).B*refers to the broadcasted shape of length and count,N_is the maximum value in binom, andlength_is the maximum value inlength_. For multi-indexb,support[b]stores the unique binary sequence configurations forlength[b]andcount[b].binom[b]stores the number of unique configurations forlength[b]andcount[b], which is always \(\binom{length[b]}{count[b]}\). Sequences are right-padded to the maximum length and count: for indexb, only values insupport[b, :binom[b], :length[b]]are valid.
Warning
The size of the returned support grows exponentially with length.
- pydrobert.torch.functional.simple_random_sampling_without_replacement(total_count, given_count, out_size=None)[source]
Draw a binary vector with uniform probabilities but fixed cardinality
Uses the algorithm proposed in [fan1962].
- Parameters:
total_count (
Tensor) – The nonnegative sizes of the individual binary vectors. Must broadcast with given_count.given_count (
Tensor) – The cardinalities of the individual binary vectors. Must broadcast with and not exceed the values of total_count.out_size (
Optional[int]) – The vector size. Must be at least the value oftotal_count.max(). If unset, will default to that value.
- Returns:
b (
torch.Tensor) – A sample tensor of shape(*, out_size), where(*,)is the broadcasted shape of total_count and given_count. The final dimension is the vector dimension. Then-th vector of b is right-padded with zero for all values exceedingtotal_count[n], i.e.b[n, total_count[n]:].sum() == 0. The remainingtotal_count[n]elements of the vector sum to associated given count, i.e.b[n, :total_count[n]].sum() == given_count[n].
See also
pydrobert.torch.distributions.SimpleRandomSamplingWithoutReplacementFor information on the distribution.
Decoding
- pydrobert.torch.functional.beam_search_advance(log_probs_t, width, log_probs_prev, y_prev, y_prev_lens=None)[source]
Beam search step function
- Parameters:
log_probs_t (
Tensor) – A tensor of shape(N, old_width, V)containing the log probabilities of extending a given path with a token of a given type in the vocabulary.width (
int) – The beam widthlog_probs_prev (
Tensor) – A tensor of shape(N, old_width)containing the log probabilities of the paths so far.y_prev (
Tensor) – A tensor of shape(S, N, old_width)containing the path prefixes.y_prev_lens (
Optional[Tensor]) – A tensor of shape(N, old_width)specifying the lengths of the prefixes. For batch elementnand pathkin the beam, only the valuesy_prev[:y_prev_lens[n, k], n, k]are valid. If unspecified, it is assumedy_prev_lens[:, :] == S.
- Returns:
y_next, y_next_lens, log_probs_next (
torch.Tensor) – The*next*tensors can be interpreted in the same way as their*prev*counterparts, but after the step. Theold_widthdimension has been replaced with width. y_next is of shape either(S, N, width)or(S + 1, N, width), depending on whether y_prev needed to grow in order to accommodate the newest tokens in the path.next_src (
torch.Tensor) – A long tensor of shape(N, width)such that the valuek_old = next_src[n, k_new]is the index from the previous step (overold_width) that is a prefix of the new path atk_new(i.e. its source).
Warning
This function has been drastically simplified after v0.3.0. The logic for end-of-sequence handling has been punted to the encapsulating search module.
If there are too few possible extensions to fill the beam, undefined paths will be added to the end of the beam with probability
-float('inf'). This means that an invalid path cannot be distibguished from a 0-probability path. Consider using a very negative value as a replacement forlog 0, e.g.log_probs_t = log_probs_t.clamp(min=torch.finfo(torch.float).min / 2).See also
pydrobert.torch.modules.BeamSearchFor the full beam search.
- pydrobert.torch.functional.ctc_greedy_search(logits, in_lens=None, blank_idx=-1, batch_first=False, is_probs=False)[source]
Functional version of CTCGreedySearch
This function accepts both the arguments initializing a
CTCGreedySearchinstance and the inputs to its call and outputs the return value of the call.- Parameters:
- Returns:
typing.Tuple[torch.Tensor,torch.Tensor,torch.Tensor]
See also
pydrobert.torch.modules.CTCGreedySearchFor a description of what this does, its inputs, and its outputs.
- pydrobert.torch.functional.ctc_prefix_search_advance(probs_t, width, probs_prev, y_prev, y_prev_last, y_prev_lens, prev_is_prefix)[source]
CTC prefix search step function
The step function of the CTC prefix search.
- Parameters:
probs_t (
Tuple[Tensor,Tensor,Tensor]) – A triple ofext_probs_t, nonext_probs_t, blank_probs_t. ext_probs_t is of shape(N, old_width, V)containing the probabilities of extending a prefix with a token of each type (resulting in a new token being added to the reduced transcription). nonext_probs_t has shape(N, V)and contains the probabilities of adding a token that does not extend a given prefix (i.e. when a token immediately follows another of the same type with no blanks in between). blank_probs_t is of shape(N)and contains the blank label probabilities.width (
int) – The beam width.probs_prev (
Tuple[Tensor,Tensor]) – A pair ofnb_probs_prev, b_probs_prev. Each is a tensor of shape(N, old_width). nb_probs_prev contains the summed mass of the paths reducing to the given prefix which end in a non-blank token. b_probs_prev is the summed mass of the paths reducing to the given prefix which end in a blank token.nb_probs_prev + b_probs_prev = probs_prev, the total mass of each prefix.y_prev (
Tensor) – A long tensor of shape(S, N, old_width)containing the (reduced) prefixes of each path.y_prev_last (
Tensor) – A long tensor of shape(N, old_width)containing the last token in each prefix. Arbitrary when the prefix is length 0.y_prev_lens (
Tensor) – A long tensor of shape(N, old_width)specifying the length of each prefix. For batch elementnand prefixk, only the tokens iny_prev[:y_prev_lens[n, k], n, k]are valid.prev_is_prefix (
Tensor) – A boolean tensor of shape(N, old_width, old_width).prev_is_prefix[n, k, k']if and only if prefixkis a (non-strict) prefix ofk'
- Returns:
y_next, y_next_last, y_next_lens, probs_next, next_is_prefix (
torch.Tensor) – The*next*tensors are analogous to the*prev*arguments, but after the step is completed.next_src (
torch.Tensor) – A long tensor of shape(N, width)such that the valuek_old = next_src[n, k_new]is the index from the previous step (overold_width) that is a prefix of the new prefix atk_new(i.e. its source).next_is_nonext (
torch.Tensor) – A boolean tensor indicating if the new prefix did _not_ extend its source. If true, the new prefix is identical to the source. If false, it has one token more.
See also
pydrobert.torch.modules.CTCPrefixSearchPerforms the entirety of the search.
Warning
This function treats large widths the same as
pydrobert.torch.modules.CTCPrefixSearch(): the beam will be filled to width but invalid prefixes will be assigned a total probability of-float("inf"). However, this function will only set the non-blank probabilities of invalid prefixes to negative infinity; blank probabilities of invalid prefixes may be0instead. The total (summed) mass will still be-float("inf").Notes
If an extending prefix matches a previous nonextending prefix, the former’s mass is absorbed into the latter’s and the latter’s path is invalidated (see warning).
- pydrobert.torch.functional.random_walk_advance(log_probs_t, log_probs_prev, y_prev, y_prev_lens=None)[source]
Random walk step function
- Parameters:
log_probs_t (
Tensor) – A tensor of shape(N, V)containing the log probabilities of extending a given path with a token of a given type in the vocabulary.log_probs_prev (
Tensor) – A tensor of shape(N,)containing the log probablities of the paths so far.y_prev (
Tensor) – A tensor of shape(S, N)containing the paths so far.y_prev_lens (
Optional[Tensor]) – A tensor of shape(N,)specifying the lengths of the prefixes. For batch elementn, only the valuesy_prev[:y_prev_lens[n], n]are valid. If unspecified, it is assumed thaty_prev_lens[:] == S.
- Returns:
y_next, log_probs_next (
torch.Tensor) – The*next**tensors can be interpreted in the same way as their*prev*counterparts, but after the step. y_next is of shape either(S, N)or(S + 1, N), depending on whether the size of y_prev needed to grow in order to accommodate the newest token in the path. Note the next path lengths are always the previous path lengths plus one, i.e.y_next_lens = y_prev_lens + 1.
Warning
This function has been drastically simplified after v0.3.0. The logic for end-of-sequence handling has been punted to the encapsulating search module. The logic for the relaxation has been entirely removed given the revamp of
pydrobert.torch.estimators.See also
pydrobert.torch.modules.RandomWalkFor the full random walk.
- pydrobert.torch.functional.sequence_log_probs(logits, hyp, dim=0, eos=None)[source]
Functional version of SequentialLogProbabilities
This function accepts both the arguments initializing a
SequentialLogProbabilitiesinstance and the inputs to its call and outputs the return value of the call.- Parameters:
- Returns:
<class
'torch.Tensor'>
See also
pydrobert.torch.modules.SequentialLogProbabilitiesFor a description of what this does, its inputs, and its outputs.
Features
- pydrobert.torch.functional.chunk_by_slices(x, slices, lens=None, mode='constant', value=0.0)[source]
Functional version of ChunkBySlices
This function accepts both the arguments initializing a
ChunkBySlicesinstance and the inputs to its call and outputs the return value of the call.- Parameters:
- Returns:
typing.Tuple[torch.Tensor,torch.Tensor]
See also
pydrobert.torch.modules.ChunkBySlicesFor a description of what this does, its inputs, and its outputs.
- pydrobert.torch.functional.chunk_token_sequences_by_slices(refs, slices, ref_lens=None, partial=False, retain=False)[source]
Functional version of ChunkTokenSequencesBySlices
This function accepts both the arguments initializing a
ChunkTokenSequencesBySlicesinstance and the inputs to its call and outputs the return value of the call.- Parameters:
- Returns:
typing.Tuple[torch.Tensor,torch.Tensor]
See also
pydrobert.torch.modules.ChunkTokenSequencesBySlicesFor a description of what this does, its inputs, and its outputs.
- pydrobert.torch.functional.dense_image_warp(image, flow, indexing='hw', mode='bilinear', padding_mode='border')[source]
Functional version of DenseImageWarp
This function accepts both the arguments initializing a
DenseImageWarpinstance and the inputs to its call and outputs the return value of the call.- Parameters:
- Returns:
<class
'torch.Tensor'>
See also
pydrobert.torch.modules.DenseImageWarpFor a description of what this does, its inputs, and its outputs.
- pydrobert.torch.functional.feat_deltas(x, dim=-1, time_dim=-2, concatenate=True, order=2, width=2, pad_mode='replicate', value=0.0, _filters=None)[source]
Functional version of FeatureDeltas
This function accepts both the arguments initializing a
FeatureDeltasinstance and the inputs to its call and outputs the return value of the call.- Parameters:
- Returns:
<class
'torch.Tensor'>
See also
pydrobert.torch.modules.FeatureDeltasFor a description of what this does, its inputs, and its outputs.
- pydrobert.torch.functional.mean_var_norm(x, dim=-1, mean=None, std=None, eps=1.1754943508222875e-38)[source]
Functional version of MeanVarianceNormalization
This function accepts both the arguments initializing a
MeanVarianceNormalizationinstance and the inputs to its call and outputs the return value of the call.- Parameters:
See also
pydrobert.torch.modules.MeanVarianceNormalizationFor a description of what this does, its inputs, and its outputs.
- pydrobert.torch.functional.pad_masked_sequence(x, mask, batch_first=False, padding_value=0.0)[source]
Functional version of PadMaskedSequence
This function accepts both the arguments initializing a
PadMaskedSequenceinstance and the inputs to its call and outputs the return value of the call.- Parameters:
- Returns:
typing.Tuple[torch.Tensor,torch.Tensor]
See also
pydrobert.torch.modules.PadMaskedSequenceFor a description of what this does, its inputs, and its outputs.
- pydrobert.torch.functional.pad_variable(x, lens, pad, mode='constant', value=0.0)[source]
Functional version of PadVariable
This function accepts both the arguments initializing a
PadVariableinstance and the inputs to its call and outputs the return value of the call.- Parameters:
- Returns:
<class
'torch.Tensor'>
See also
pydrobert.torch.modules.PadVariableFor a description of what this does, its inputs, and its outputs.
- pydrobert.torch.functional.polyharmonic_spline(train_points, train_values, query_points, order, regularization_weight=0.0, full_matrix=True)[source]
Functional version of PolyharmonicSpline
This function accepts both the arguments initializing a
PolyharmonicSplineinstance and the inputs to its call and outputs the return value of the call.- Parameters:
- Returns:
<class
'torch.Tensor'>
See also
pydrobert.torch.modules.PolyharmonicSplineFor a description of what this does, its inputs, and its outputs.
- pydrobert.torch.functional.random_shift(input, in_lens, prop, mode, value, training=True)[source]
Functional version of RandomShift
This function accepts both the arguments initializing a
RandomShiftinstance and the inputs to its call and outputs the return value of the call.- Parameters:
- Returns:
typing.Tuple[torch.Tensor,torch.Tensor]
See also
pydrobert.torch.modules.RandomShiftFor a description of what this does, its inputs, and its outputs.
- pydrobert.torch.functional.slice_spect_data(input, in_lens=None, other_lens=None, policy='fixed', window_type='symmetric', valid_only=True, lobe_size=0)[source]
Functional version of SliceSpectData
This function accepts both the arguments initializing a
SliceSpectDatainstance and the inputs to its call and outputs the return value of the call.- Parameters:
- Returns:
typing.Tuple[torch.Tensor,torch.Tensor]
See also
pydrobert.torch.modules.SliceSpectDataFor a description of what this does, its inputs, and its outputs.
- pydrobert.torch.functional.sparse_image_warp(image, source_points, dest_points, indexing='hw', field_interpolation_order=2, field_regularization_weight=0.0, field_full_matrix=True, pinned_boundary_points=0, dense_interpolation_mode='bilinear', dense_padding_mode='border', include_flow=True)[source]
Functional version of SparseImageWarp
This function accepts both the arguments initializing a
SparseImageWarpinstance and the inputs to its call and outputs the return value of the call.- Parameters:
- Returns:
typing.Any
See also
pydrobert.torch.modules.SparseImageWarpFor a description of what this does, its inputs, and its outputs.
- pydrobert.torch.functional.spec_augment(feats, max_time_warp, max_freq_warp, max_time_mask, max_freq_mask, max_time_mask_proportion, num_time_mask, num_time_mask_proportion, num_freq_mask, interpolation_order, lengths=None, training=True)[source]
Functional version of SpecAugment
This function accepts both the arguments initializing a
SpecAugmentinstance and the inputs to its call and outputs the return value of the call.- Parameters:
- Returns:
<class
'torch.Tensor'>
See also
pydrobert.torch.modules.SpecAugmentFor a description of what this does, its inputs, and its outputs.
- pydrobert.torch.functional.spec_augment_apply_parameters(feats, params, interpolation_order, lengths=None)[source]
Functional version of SpecAugment.apply_parameters
This function accepts both the arguments initializing a
SpecAugment.apply_parametersinstance and the inputs to its call and outputs the return value of the call.- Parameters:
- Returns:
<class
'torch.Tensor'>
See also
pydrobert.torch.modules.SpecAugment.apply_parametersFor a description of what this does, its inputs, and its outputs.
- pydrobert.torch.functional.spec_augment_draw_parameters(feats, max_time_warp, max_freq_warp, max_time_mask, max_freq_mask, max_time_mask_proportion, num_time_mask, num_time_mask_proportion, num_freq_mask, lengths=None)[source]
Functional version of SpecAugment.draw_parameters
This function accepts both the arguments initializing a
SpecAugment.draw_parametersinstance and the inputs to its call and outputs the return value of the call.- Parameters:
- Returns:
typing.Tuple[typing.Optional[torch.Tensor],typing.Optional[torch.Tensor],typing.Optional[torch.Tensor],typing.Optional[torch.Tensor],typing.Optional[torch.Tensor],typing.Optional[torch.Tensor],typing.Optional[torch.Tensor],typing.Optional[torch.Tensor]]
See also
pydrobert.torch.modules.SpecAugment.draw_parametersFor a description of what this does, its inputs, and its outputs.
- pydrobert.torch.functional.warp_1d_grid(src, flow, lengths, max_length=None, interpolation_order=1)[source]
Functional version of Warp1DGrid
This function accepts both the arguments initializing a
Warp1DGridinstance and the inputs to its call and outputs the return value of the call.- Parameters:
- Returns:
<class
'torch.Tensor'>
See also
pydrobert.torch.modules.Warp1DGridFor a description of what this does, its inputs, and its outputs.
Reinforcement Learning
- pydrobert.torch.functional.time_distributed_return(r, gamma, batch_first=False)[source]
Functional version of TimeDistributedReturn
This function accepts both the arguments initializing a
TimeDistributedReturninstance and the inputs to its call and outputs the return value of the call.See also
pydrobert.torch.modules.TimeDistributedReturnFor a description of what this does, its inputs, and its outputs.
String Matching
- pydrobert.torch.functional.edit_distance(ref, hyp, eos=None, include_eos=False, norm=False, batch_first=False, ins_cost=1.0, del_cost=1.0, sub_cost=1.0, warn=True)[source]
Functional version of EditDistance
This function accepts both the arguments initializing a
EditDistanceinstance and the inputs to its call and outputs the return value of the call.- Parameters:
- Returns:
<class
'torch.Tensor'>
See also
pydrobert.torch.modules.EditDistanceFor a description of what this does, its inputs, and its outputs.
- pydrobert.torch.functional.error_rate(ref, hyp, eos=None, include_eos=False, norm=True, batch_first=False, ins_cost=1.0, del_cost=1.0, sub_cost=1.0, warn=True)[source]
Functional version of ErrorRate
This function accepts both the arguments initializing a
ErrorRateinstance and the inputs to its call and outputs the return value of the call.- Parameters:
- Returns:
<class
'torch.Tensor'>
See also
pydrobert.torch.modules.ErrorRateFor a description of what this does, its inputs, and its outputs.
- pydrobert.torch.functional.fill_after_eos(tokens, eos, dim=0, fill=None, value=None)[source]
Functional version of FillAfterEndOfSequence
This function accepts both the arguments initializing a
FillAfterEndOfSequenceinstance and the inputs to its call and outputs the return value of the call.- Parameters:
- Returns:
<class
'torch.Tensor'>
See also
pydrobert.torch.modules.FillAfterEndOfSequenceFor a description of what this does, its inputs, and its outputs.
- pydrobert.torch.functional.hard_optimal_completion_distillation_loss(logits, ref, hyp, eos=None, include_eos=True, batch_first=False, ins_cost=1.0, del_cost=1.0, sub_cost=1.0, weight=None, reduction='mean', ignore_index=-2, warn=True)[source]
Functional version of HardOptimalCompletionDistillationLoss
This function accepts both the arguments initializing a
HardOptimalCompletionDistillationLossinstance and the inputs to its call and outputs the return value of the call.- Parameters:
- Returns:
<class
'torch.Tensor'>
See also
pydrobert.torch.modules.HardOptimalCompletionDistillationLossFor a description of what this does, its inputs, and its outputs.
- pydrobert.torch.functional.minimum_error_rate_loss(log_probs, ref, hyp, eos=None, include_eos=True, sub_avg=True, batch_first=False, norm=True, ins_cost=1.0, del_cost=1.0, sub_cost=1.0, reduction='mean', warn=True)[source]
Functional version of MinimumErrorRateLoss
This function accepts both the arguments initializing a
MinimumErrorRateLossinstance and the inputs to its call and outputs the return value of the call.- Parameters:
- Returns:
<class
'torch.Tensor'>
See also
pydrobert.torch.modules.MinimumErrorRateLossFor a description of what this does, its inputs, and its outputs.
- pydrobert.torch.functional.optimal_completion(ref, hyp, eos=None, include_eos=True, batch_first=False, ins_cost=1.0, del_cost=1.0, sub_cost=1.0, padding=-100, exclude_last=False, warn=True)[source]
Functional version of OptimalCompletion
This function accepts both the arguments initializing a
OptimalCompletioninstance and the inputs to its call and outputs the return value of the call.- Parameters:
- Returns:
<class
'torch.Tensor'>
See also
pydrobert.torch.modules.OptimalCompletionFor a description of what this does, its inputs, and its outputs.
- pydrobert.torch.functional.prefix_edit_distances(ref, hyp, eos=None, include_eos=True, norm=False, batch_first=False, ins_cost=1.0, del_cost=1.0, sub_cost=1.0, padding=-100, exclude_last=False, warn=True)[source]
Functional version of PrefixEditDistances
This function accepts both the arguments initializing a
PrefixEditDistancesinstance and the inputs to its call and outputs the return value of the call.- Parameters:
- Returns:
<class
'torch.Tensor'>
See also
pydrobert.torch.modules.PrefixEditDistancesFor a description of what this does, its inputs, and its outputs.
- pydrobert.torch.functional.prefix_error_rates(ref, hyp, eos=None, include_eos=True, norm=True, batch_first=False, ins_cost=1.0, del_cost=1.0, sub_cost=1.0, padding=-100, exclude_last=False, warn=True)[source]
Functional version of PrefixErrorRates
This function accepts both the arguments initializing a
PrefixErrorRatesinstance and the inputs to its call and outputs the return value of the call.- Parameters:
- Returns:
<class
'torch.Tensor'>
See also
pydrobert.torch.modules.PrefixErrorRatesFor a description of what this does, its inputs, and its outputs.