Convert the continuous-time `t_continuous` (in [epsilon, T]) to the model input time. For discrete-time DPMs, we convert `t_continuous` in [1 / N, 1] to `t_input` in [0, 1000 * (N - 1) / N]. For continuous-time DPMs, we just use `t_continuous`.
(t_continuous)
| 277 | """ |
| 278 | |
| 279 | def get_model_input_time(t_continuous): |
| 280 | """ |
| 281 | Convert the continuous-time `t_continuous` (in [epsilon, T]) to the model input time. |
| 282 | For discrete-time DPMs, we convert `t_continuous` in [1 / N, 1] to `t_input` in [0, 1000 * (N - 1) / N]. |
| 283 | For continuous-time DPMs, we just use `t_continuous`. |
| 284 | """ |
| 285 | if noise_schedule.schedule == 'discrete': |
| 286 | return (t_continuous - 1. / noise_schedule.total_N) * 1000. |
| 287 | else: |
| 288 | return t_continuous |
| 289 | |
| 290 | def noise_pred_fn(x, t_continuous, cond=None): |
| 291 | t_input = get_model_input_time(t_continuous) |
no outgoing calls
no test coverage detected