pub trait Collate<T> {
type Output;
// Required method
fn collate(&self, batch: Vec<T>) -> Self::Output;
}
Expand description
Any collate gather samples from one batch together.
A DefaultCollate
struct is provided which will cover most of the use cases.
This trait is used instead of Fn
because we cannot currently impl Fn*
on struct on stable rust.
Required Associated Types§
Required Methods§
Implementors§
Source§impl Collate<bool> for DefaultCollate
impl Collate<bool> for DefaultCollate
Source§impl Collate<bool> for TorchCollate
Available on crate feature tch
only.
impl Collate<bool> for TorchCollate
Available on crate feature
tch
only.Source§impl Collate<char> for DefaultCollate
impl Collate<char> for DefaultCollate
Source§impl Collate<f32> for DefaultCollate
impl Collate<f32> for DefaultCollate
Source§impl Collate<f32> for TorchCollate
Available on crate feature tch
only.
impl Collate<f32> for TorchCollate
Available on crate feature
tch
only.Source§impl Collate<f64> for DefaultCollate
impl Collate<f64> for DefaultCollate
Source§impl Collate<f64> for TorchCollate
Available on crate feature tch
only.
impl Collate<f64> for TorchCollate
Available on crate feature
tch
only.Source§impl Collate<i8> for DefaultCollate
impl Collate<i8> for DefaultCollate
Source§impl Collate<i8> for TorchCollate
Available on crate feature tch
only.
impl Collate<i8> for TorchCollate
Available on crate feature
tch
only.Source§impl Collate<i16> for DefaultCollate
impl Collate<i16> for DefaultCollate
Source§impl Collate<i16> for TorchCollate
Available on crate feature tch
only.
impl Collate<i16> for TorchCollate
Available on crate feature
tch
only.Source§impl Collate<i32> for DefaultCollate
impl Collate<i32> for DefaultCollate
Source§impl Collate<i32> for TorchCollate
Available on crate feature tch
only.
impl Collate<i32> for TorchCollate
Available on crate feature
tch
only.Source§impl Collate<i64> for DefaultCollate
impl Collate<i64> for DefaultCollate
Source§impl Collate<i64> for TorchCollate
Available on crate feature tch
only.
impl Collate<i64> for TorchCollate
Available on crate feature
tch
only.Source§impl Collate<i128> for DefaultCollate
impl Collate<i128> for DefaultCollate
Source§impl Collate<isize> for DefaultCollate
impl Collate<isize> for DefaultCollate
Source§impl Collate<u8> for DefaultCollate
NoOp
for binary, as pytorch default_collate
function.
impl Collate<u8> for DefaultCollate
NoOp
for binary, as pytorch default_collate
function.
Source§impl Collate<u8> for TorchCollate
Available on crate feature tch
only.NoOp
for binary, as pytorch default_collate
function.
impl Collate<u8> for TorchCollate
Available on crate feature
tch
only.NoOp
for binary, as pytorch default_collate
function.
Source§impl Collate<u16> for DefaultCollate
impl Collate<u16> for DefaultCollate
Source§impl Collate<u32> for DefaultCollate
impl Collate<u32> for DefaultCollate
Source§impl Collate<u64> for DefaultCollate
impl Collate<u64> for DefaultCollate
Source§impl Collate<u128> for DefaultCollate
impl Collate<u128> for DefaultCollate
Source§impl Collate<usize> for DefaultCollate
impl Collate<usize> for DefaultCollate
Source§impl Collate<CString> for TorchCollate
Available on crate feature tch
only.
impl Collate<CString> for TorchCollate
Available on crate feature
tch
only.Source§impl Collate<String> for TorchCollate
Available on crate feature tch
only.
impl Collate<String> for TorchCollate
Available on crate feature
tch
only.Source§impl Collate<OsString> for TorchCollate
Available on crate feature tch
only.
impl Collate<OsString> for TorchCollate
Available on crate feature
tch
only.Source§impl<'a> Collate<&'a str> for TorchCollate
Available on crate feature tch
only.
impl<'a> Collate<&'a str> for TorchCollate
Available on crate feature
tch
only.Source§impl<'a> Collate<&'a CStr> for TorchCollate
Available on crate feature tch
only.
impl<'a> Collate<&'a CStr> for TorchCollate
Available on crate feature
tch
only.Source§impl<A> Collate<(A,)> for DefaultCollate
impl<A> Collate<(A,)> for DefaultCollate
Source§impl<A> Collate<(A,)> for TorchCollate
Available on crate feature tch
only.
impl<A> Collate<(A,)> for TorchCollate
Available on crate feature
tch
only.Source§impl<A, B> Collate<(A, B)> for DefaultCollate
impl<A, B> Collate<(A, B)> for DefaultCollate
type Output = (<DefaultCollate as Collate<A>>::Output, <DefaultCollate as Collate<B>>::Output)
Source§impl<A, B> Collate<(A, B)> for TorchCollate
Available on crate feature tch
only.
impl<A, B> Collate<(A, B)> for TorchCollate
Available on crate feature
tch
only.type Output = (<TorchCollate as Collate<A>>::Output, <TorchCollate as Collate<B>>::Output)
Source§impl<A, B, C> Collate<(A, B, C)> for DefaultCollate
impl<A, B, C> Collate<(A, B, C)> for DefaultCollate
type Output = (<DefaultCollate as Collate<A>>::Output, <DefaultCollate as Collate<B>>::Output, <DefaultCollate as Collate<C>>::Output)
Source§impl<A, B, C> Collate<(A, B, C)> for TorchCollate
Available on crate feature tch
only.
impl<A, B, C> Collate<(A, B, C)> for TorchCollate
Available on crate feature
tch
only.type Output = (<TorchCollate as Collate<A>>::Output, <TorchCollate as Collate<B>>::Output, <TorchCollate as Collate<C>>::Output)
Source§impl<A, B, C, D> Collate<(A, B, C, D)> for DefaultCollate
impl<A, B, C, D> Collate<(A, B, C, D)> for DefaultCollate
type Output = (<DefaultCollate as Collate<A>>::Output, <DefaultCollate as Collate<B>>::Output, <DefaultCollate as Collate<C>>::Output, <DefaultCollate as Collate<D>>::Output)
Source§impl<A, B, C, D> Collate<(A, B, C, D)> for TorchCollate
Available on crate feature tch
only.
impl<A, B, C, D> Collate<(A, B, C, D)> for TorchCollate
Available on crate feature
tch
only.type Output = (<TorchCollate as Collate<A>>::Output, <TorchCollate as Collate<B>>::Output, <TorchCollate as Collate<C>>::Output, <TorchCollate as Collate<D>>::Output)
Source§impl<A, B, C, D, E> Collate<(A, B, C, D, E)> for DefaultCollate
impl<A, B, C, D, E> Collate<(A, B, C, D, E)> for DefaultCollate
type Output = (<DefaultCollate as Collate<A>>::Output, <DefaultCollate as Collate<B>>::Output, <DefaultCollate as Collate<C>>::Output, <DefaultCollate as Collate<D>>::Output, <DefaultCollate as Collate<E>>::Output)
Source§impl<A, B, C, D, E> Collate<(A, B, C, D, E)> for TorchCollate
Available on crate feature tch
only.
impl<A, B, C, D, E> Collate<(A, B, C, D, E)> for TorchCollate
Available on crate feature
tch
only.type Output = (<TorchCollate as Collate<A>>::Output, <TorchCollate as Collate<B>>::Output, <TorchCollate as Collate<C>>::Output, <TorchCollate as Collate<D>>::Output, <TorchCollate as Collate<E>>::Output)
Source§impl<A, B, C, D, E, F> Collate<(A, B, C, D, E, F)> for DefaultCollate
impl<A, B, C, D, E, F> Collate<(A, B, C, D, E, F)> for DefaultCollate
type Output = (<DefaultCollate as Collate<A>>::Output, <DefaultCollate as Collate<B>>::Output, <DefaultCollate as Collate<C>>::Output, <DefaultCollate as Collate<D>>::Output, <DefaultCollate as Collate<E>>::Output, <DefaultCollate as Collate<F>>::Output)
Source§impl<A, B, C, D, E, F> Collate<(A, B, C, D, E, F)> for TorchCollate
Available on crate feature tch
only.
impl<A, B, C, D, E, F> Collate<(A, B, C, D, E, F)> for TorchCollate
Available on crate feature
tch
only.type Output = (<TorchCollate as Collate<A>>::Output, <TorchCollate as Collate<B>>::Output, <TorchCollate as Collate<C>>::Output, <TorchCollate as Collate<D>>::Output, <TorchCollate as Collate<E>>::Output, <TorchCollate as Collate<F>>::Output)
Source§impl<A, B, C, D, E, F, G> Collate<(A, B, C, D, E, F, G)> for DefaultCollate
impl<A, B, C, D, E, F, G> Collate<(A, B, C, D, E, F, G)> for DefaultCollate
type Output = (<DefaultCollate as Collate<A>>::Output, <DefaultCollate as Collate<B>>::Output, <DefaultCollate as Collate<C>>::Output, <DefaultCollate as Collate<D>>::Output, <DefaultCollate as Collate<E>>::Output, <DefaultCollate as Collate<F>>::Output, <DefaultCollate as Collate<G>>::Output)
Source§impl<A, B, C, D, E, F, G> Collate<(A, B, C, D, E, F, G)> for TorchCollate
Available on crate feature tch
only.
impl<A, B, C, D, E, F, G> Collate<(A, B, C, D, E, F, G)> for TorchCollate
Available on crate feature
tch
only.type Output = (<TorchCollate as Collate<A>>::Output, <TorchCollate as Collate<B>>::Output, <TorchCollate as Collate<C>>::Output, <TorchCollate as Collate<D>>::Output, <TorchCollate as Collate<E>>::Output, <TorchCollate as Collate<F>>::Output, <TorchCollate as Collate<G>>::Output)
Source§impl<A, B, C, D, E, F, G, H> Collate<(A, B, C, D, E, F, G, H)> for DefaultCollate
impl<A, B, C, D, E, F, G, H> Collate<(A, B, C, D, E, F, G, H)> for DefaultCollate
type Output = (<DefaultCollate as Collate<A>>::Output, <DefaultCollate as Collate<B>>::Output, <DefaultCollate as Collate<C>>::Output, <DefaultCollate as Collate<D>>::Output, <DefaultCollate as Collate<E>>::Output, <DefaultCollate as Collate<F>>::Output, <DefaultCollate as Collate<G>>::Output, <DefaultCollate as Collate<H>>::Output)
Source§impl<A, B, C, D, E, F, G, H> Collate<(A, B, C, D, E, F, G, H)> for TorchCollate
Available on crate feature tch
only.
impl<A, B, C, D, E, F, G, H> Collate<(A, B, C, D, E, F, G, H)> for TorchCollate
Available on crate feature
tch
only.type Output = (<TorchCollate as Collate<A>>::Output, <TorchCollate as Collate<B>>::Output, <TorchCollate as Collate<C>>::Output, <TorchCollate as Collate<D>>::Output, <TorchCollate as Collate<E>>::Output, <TorchCollate as Collate<F>>::Output, <TorchCollate as Collate<G>>::Output, <TorchCollate as Collate<H>>::Output)
Source§impl<A, B, C, D, E, F, G, H, I> Collate<(A, B, C, D, E, F, G, H, I)> for DefaultCollate
impl<A, B, C, D, E, F, G, H, I> Collate<(A, B, C, D, E, F, G, H, I)> for DefaultCollate
type Output = (<DefaultCollate as Collate<A>>::Output, <DefaultCollate as Collate<B>>::Output, <DefaultCollate as Collate<C>>::Output, <DefaultCollate as Collate<D>>::Output, <DefaultCollate as Collate<E>>::Output, <DefaultCollate as Collate<F>>::Output, <DefaultCollate as Collate<G>>::Output, <DefaultCollate as Collate<H>>::Output, <DefaultCollate as Collate<I>>::Output)
Source§impl<A, B, C, D, E, F, G, H, I> Collate<(A, B, C, D, E, F, G, H, I)> for TorchCollate
Available on crate feature tch
only.
impl<A, B, C, D, E, F, G, H, I> Collate<(A, B, C, D, E, F, G, H, I)> for TorchCollate
Available on crate feature
tch
only.type Output = (<TorchCollate as Collate<A>>::Output, <TorchCollate as Collate<B>>::Output, <TorchCollate as Collate<C>>::Output, <TorchCollate as Collate<D>>::Output, <TorchCollate as Collate<E>>::Output, <TorchCollate as Collate<F>>::Output, <TorchCollate as Collate<G>>::Output, <TorchCollate as Collate<H>>::Output, <TorchCollate as Collate<I>>::Output)
Source§impl<A, B, C, D, E, F, G, H, I, J> Collate<(A, B, C, D, E, F, G, H, I, J)> for DefaultCollate
impl<A, B, C, D, E, F, G, H, I, J> Collate<(A, B, C, D, E, F, G, H, I, J)> for DefaultCollate
type Output = (<DefaultCollate as Collate<A>>::Output, <DefaultCollate as Collate<B>>::Output, <DefaultCollate as Collate<C>>::Output, <DefaultCollate as Collate<D>>::Output, <DefaultCollate as Collate<E>>::Output, <DefaultCollate as Collate<F>>::Output, <DefaultCollate as Collate<G>>::Output, <DefaultCollate as Collate<H>>::Output, <DefaultCollate as Collate<I>>::Output, <DefaultCollate as Collate<J>>::Output)
Source§impl<A, B, C, D, E, F, G, H, I, J> Collate<(A, B, C, D, E, F, G, H, I, J)> for TorchCollate
Available on crate feature tch
only.
impl<A, B, C, D, E, F, G, H, I, J> Collate<(A, B, C, D, E, F, G, H, I, J)> for TorchCollate
Available on crate feature
tch
only.type Output = (<TorchCollate as Collate<A>>::Output, <TorchCollate as Collate<B>>::Output, <TorchCollate as Collate<C>>::Output, <TorchCollate as Collate<D>>::Output, <TorchCollate as Collate<E>>::Output, <TorchCollate as Collate<F>>::Output, <TorchCollate as Collate<G>>::Output, <TorchCollate as Collate<H>>::Output, <TorchCollate as Collate<I>>::Output, <TorchCollate as Collate<J>>::Output)
Source§impl<A, B, C, D, E, F, G, H, I, J, K> Collate<(A, B, C, D, E, F, G, H, I, J, K)> for DefaultCollate
impl<A, B, C, D, E, F, G, H, I, J, K> Collate<(A, B, C, D, E, F, G, H, I, J, K)> for DefaultCollate
type Output = (<DefaultCollate as Collate<A>>::Output, <DefaultCollate as Collate<B>>::Output, <DefaultCollate as Collate<C>>::Output, <DefaultCollate as Collate<D>>::Output, <DefaultCollate as Collate<E>>::Output, <DefaultCollate as Collate<F>>::Output, <DefaultCollate as Collate<G>>::Output, <DefaultCollate as Collate<H>>::Output, <DefaultCollate as Collate<I>>::Output, <DefaultCollate as Collate<J>>::Output, <DefaultCollate as Collate<K>>::Output)
Source§impl<A, B, C, D, E, F, G, H, I, J, K> Collate<(A, B, C, D, E, F, G, H, I, J, K)> for TorchCollate
Available on crate feature tch
only.
impl<A, B, C, D, E, F, G, H, I, J, K> Collate<(A, B, C, D, E, F, G, H, I, J, K)> for TorchCollate
Available on crate feature
tch
only.type Output = (<TorchCollate as Collate<A>>::Output, <TorchCollate as Collate<B>>::Output, <TorchCollate as Collate<C>>::Output, <TorchCollate as Collate<D>>::Output, <TorchCollate as Collate<E>>::Output, <TorchCollate as Collate<F>>::Output, <TorchCollate as Collate<G>>::Output, <TorchCollate as Collate<H>>::Output, <TorchCollate as Collate<I>>::Output, <TorchCollate as Collate<J>>::Output, <TorchCollate as Collate<K>>::Output)
Source§impl<A, B, C, D, E, F, G, H, I, J, K, L> Collate<(A, B, C, D, E, F, G, H, I, J, K, L)> for DefaultCollate
impl<A, B, C, D, E, F, G, H, I, J, K, L> Collate<(A, B, C, D, E, F, G, H, I, J, K, L)> for DefaultCollate
type Output = (<DefaultCollate as Collate<A>>::Output, <DefaultCollate as Collate<B>>::Output, <DefaultCollate as Collate<C>>::Output, <DefaultCollate as Collate<D>>::Output, <DefaultCollate as Collate<E>>::Output, <DefaultCollate as Collate<F>>::Output, <DefaultCollate as Collate<G>>::Output, <DefaultCollate as Collate<H>>::Output, <DefaultCollate as Collate<I>>::Output, <DefaultCollate as Collate<J>>::Output, <DefaultCollate as Collate<K>>::Output, <DefaultCollate as Collate<L>>::Output)
Source§impl<A, B, C, D, E, F, G, H, I, J, K, L> Collate<(A, B, C, D, E, F, G, H, I, J, K, L)> for TorchCollate
Available on crate feature tch
only.
impl<A, B, C, D, E, F, G, H, I, J, K, L> Collate<(A, B, C, D, E, F, G, H, I, J, K, L)> for TorchCollate
Available on crate feature
tch
only.type Output = (<TorchCollate as Collate<A>>::Output, <TorchCollate as Collate<B>>::Output, <TorchCollate as Collate<C>>::Output, <TorchCollate as Collate<D>>::Output, <TorchCollate as Collate<E>>::Output, <TorchCollate as Collate<F>>::Output, <TorchCollate as Collate<G>>::Output, <TorchCollate as Collate<H>>::Output, <TorchCollate as Collate<I>>::Output, <TorchCollate as Collate<J>>::Output, <TorchCollate as Collate<K>>::Output, <TorchCollate as Collate<L>>::Output)
Source§impl<A, D> Collate<ArrayBase<OwnedRepr<A>, D>> for TorchCollate
Available on crate feature tch
only.
impl<A, D> Collate<ArrayBase<OwnedRepr<A>, D>> for TorchCollate
Available on crate feature
tch
only.Source§impl<K, V> Collate<BTreeMap<K, V>> for DefaultCollate
impl<K, V> Collate<BTreeMap<K, V>> for DefaultCollate
Source§impl<K, V> Collate<BTreeMap<K, V>> for TorchCollate
Available on crate feature tch
only.
impl<K, V> Collate<BTreeMap<K, V>> for TorchCollate
Available on crate feature
tch
only.Source§impl<K, V, H> Collate<HashMap<K, V, H>> for DefaultCollate
impl<K, V, H> Collate<HashMap<K, V, H>> for DefaultCollate
Source§impl<K, V, H> Collate<HashMap<K, V, H>> for TorchCollate
Available on crate feature tch
only.
impl<K, V, H> Collate<HashMap<K, V, H>> for TorchCollate
Available on crate feature
tch
only.Source§impl<T> Collate<&T> for DefaultCollate
We think it makes no sense to but a bench of reference into a Tensor. That’s why if the dataset yield reference a
we clone them them.
It is useful for having a non-consuming Iterator
over the Dataloader
.
impl<T> Collate<&T> for DefaultCollate
We think it makes no sense to but a bench of reference into a Tensor. That’s why if the dataset yield reference a
we clone them them.
It is useful for having a non-consuming Iterator
over the Dataloader
.
Source§impl<T> Collate<&T> for TorchCollate
Available on crate feature tch
only.We think it makes no sense to but a bench of reference into a Tensor. That’s why if the dataset yield reference and they
we clone their value.
It is useful for having a non-consuming Iterator
over the Dataloader
.
impl<T> Collate<&T> for TorchCollate
Available on crate feature
tch
only.We think it makes no sense to but a bench of reference into a Tensor. That’s why if the dataset yield reference and they
we clone their value.
It is useful for having a non-consuming Iterator
over the Dataloader
.
Source§impl<T> Collate<VecDeque<T>> for DefaultCollate
impl<T> Collate<VecDeque<T>> for DefaultCollate
Source§impl<T> Collate<VecDeque<T>> for TorchCollate
Available on crate feature tch
only.
impl<T> Collate<VecDeque<T>> for TorchCollate
Available on crate feature
tch
only.Source§impl<T> Collate<Vec<T>> for DefaultCollate
impl<T> Collate<Vec<T>> for DefaultCollate
Source§impl<T> Collate<Vec<T>> for TorchCollate
Available on crate feature tch
only.
impl<T> Collate<Vec<T>> for TorchCollate
Available on crate feature
tch
only.