pub struct DirectSampler<E: Env, H: DirectSamplerHook<E = E>> { /* private fields */ }Expand description
Rollout sampler whose workers write directly to output buffers.
Implementations§
Source§impl<E: Env, H: DirectSamplerHook<E = E>> DirectSampler<E, H>
impl<E: Env, H: DirectSamplerHook<E = E>> DirectSampler<E, H>
pub fn new(core: DirectSamplerCore<E>, hook: H) -> Self
Sourcepub fn build<EB: EnvBuilder<Env = E>>(
env_builder: EnvBuilderType<EB>,
hook: H,
execution_mode: SamplerExecutionMode,
) -> Self
pub fn build<EB: EnvBuilder<Env = E>>( env_builder: EnvBuilderType<EB>, hook: H, execution_mode: SamplerExecutionMode, ) -> Self
Builds a raw sampler and its environment workers.
Sourcepub fn build_from_env_builder(
env_builder: Arc<dyn EnvBuilder<Env = E>>,
num_envs: usize,
hook: H,
execution_mode: SamplerExecutionMode,
) -> Result<Self>where
E: 'static,
pub fn build_from_env_builder(
env_builder: Arc<dyn EnvBuilder<Env = E>>,
num_envs: usize,
hook: H,
execution_mode: SamplerExecutionMode,
) -> Result<Self>where
E: 'static,
Builds a homogeneous sampler from a shared environment builder.
§Errors
Returns an error if num_envs is zero.
Trait Implementations§
Source§impl<E: Env, H: DirectSamplerHook<E = E>> Sampler for DirectSampler<E, H>
impl<E: Env, H: DirectSamplerHook<E = E>> Sampler for DirectSampler<E, H>
Source§fn reset_all_envs(&mut self) -> Result<()>
fn reset_all_envs(&mut self) -> Result<()>
Resets all environments managed by the sampler. Read more
Source§fn collect_rollouts<A: Actor<Tensor = Self::Tensor> + Clone>(
&mut self,
actor: A,
) -> Result<()>
fn collect_rollouts<A: Actor<Tensor = Self::Tensor> + Clone>( &mut self, actor: A, ) -> Result<()>
Collects rollout data using the provided actor. Read more
Source§fn trajectory_views(&mut self) -> impl AsRef<[TrajectoryView<'_, Self::Tensor>]>
fn trajectory_views(&mut self) -> impl AsRef<[TrajectoryView<'_, Self::Tensor>]>
Creates a view for the agents.
Auto Trait Implementations§
impl<E, H> !RefUnwindSafe for DirectSampler<E, H>
impl<E, H> !Sync for DirectSampler<E, H>
impl<E, H> !UnwindSafe for DirectSampler<E, H>
impl<E, H> Freeze for DirectSampler<E, H>
impl<E, H> Send for DirectSampler<E, H>
impl<E, H> Unpin for DirectSampler<E, H>
impl<E, H> UnsafeUnpin for DirectSampler<E, H>
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more