(
t: Tensor,
continuous_range: Tuple[float, float],
num_discrete: int = 128
)
| 6 | |
| 7 | |
| 8 | def discretize( |
| 9 | t: Tensor, |
| 10 | continuous_range: Tuple[float, float], |
| 11 | num_discrete: int = 128 |
| 12 | ) -> Tensor: |
| 13 | |
| 14 | lo, hi = continuous_range |
| 15 | assert hi > lo |
| 16 | t = (t - lo) / (hi - lo) # cube normalize |
| 17 | t *= num_discrete |
| 18 | t -= 0.5 |
| 19 | return t.round().long().clamp(min = 0, max = num_discrete - 1) |
| 20 | |
| 21 | |
| 22 |