ducido's picture
Initial commit
987ed1b verified
Raw
History Blame Contribute Delete
1.22 kB
import torch
import numpy as np
def slice_episode(episode, horizon, stride, start=0):
is_torch = hasattr(episode, 'cuda')
shape = episode.shape
N, T = shape[:2]
sliced_fragments = []
for current_start in range(start, T, stride):
end = current_start + horizon
if end > T:
current_start = max(0, T - horizon)
end = T
fragment = episode[:, current_start:end, ...]
sliced_fragments.append(fragment)
if end == T:
break
if is_torch:
return torch.stack(sliced_fragments)
else:
return np.stack(sliced_fragments)
def slice_episode_time(episode, horizon, stride):
is_torch = hasattr(episode, 'cuda')
shape = episode.shape
T = shape[0]
sliced_fragments = []
for start in range(0, T, stride):
end = start + horizon
if end > T:
start = max(0, T - horizon)
end = T
fragment = episode[start:end, ...]
sliced_fragments.append(fragment)
if end == T:
break
if is_torch:
return torch.stack(sliced_fragments)
else:
return np.stack(sliced_fragments)