pub enum PartialError {
Format {
kind: PartialFormatErrorKind,
},
DatasetMismatch {
expected: [u8; 32],
actual: [u8; 32],
},
ParamsMismatch {
expected: [u8; 32],
actual: [u8; 32],
},
PartitionOverlap {
rank_a: u32,
rank_b: u32,
image_id: i64,
},
RankCollision {
rank_id: u32,
},
}Expand description
Top-level error returned by the encode/decode and merge surface in
this crate. Each variant maps 1:1 to one of the five Python
exception classes (PartialFormatMismatch, PartialDatasetMismatch,
PartialParamsMismatch, PartialPartitionOverlap,
PartialRankCollision).
Variants§
Format
Framing or structural check tripped. See
PartialFormatErrorKind for which one.
Fields
kind: PartialFormatErrorKindSub-discriminator naming the specific check.
DatasetMismatch
Partial’s dataset_hash does not match the receiving rank’s
live dataset. Sampler / config bug; refusing protects the merge
from silently producing un-reproducible numbers.
Fields
ParamsMismatch
Partial’s params_hash does not match the receiving rank’s.
Means params (max_dets / iou_thresholds / use_cats / …) diverged.
Fields
PartitionOverlap
Two partials cover the same image_id — the disjoint-partition
rule is violated. Names both rank ids and the colliding image
so the user can fix their DistributedSampler.
Fields
RankCollision
Two strict-mode partials declare the same rank_id. Strict
merge requires distinct ids so the cross-rank tiebreak gives a
total order. Corrected mode tolerates collisions.
Trait Implementations§
Source§impl Clone for PartialError
impl Clone for PartialError
Source§fn clone(&self) -> PartialError
fn clone(&self) -> PartialError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PartialError
impl Debug for PartialError
Source§impl Display for PartialError
impl Display for PartialError
Source§impl Error for PartialError
impl Error for PartialError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl PartialEq for PartialError
impl PartialEq for PartialError
Source§fn eq(&self, other: &PartialError) -> bool
fn eq(&self, other: &PartialError) -> bool
self and other values to be equal, and is used by ==.impl Eq for PartialError
impl StructuralPartialEq for PartialError
Auto Trait Implementations§
impl Freeze for PartialError
impl RefUnwindSafe for PartialError
impl Send for PartialError
impl Sync for PartialError
impl Unpin for PartialError
impl UnsafeUnpin for PartialError
impl UnwindSafe for PartialError
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.