Download src/triton/models/resample_cpu/1/model.py from CIIL/Anuvani-Diarization: direct link, hf CLI and curl.
- Browser
- Download file 1.37 kB
-
https://huggingface.co/CIIL/Anuvani-Diarization/resolve/main/src/triton/models/resample_cpu/1/model.py
- Command line
-
hf download hf://CIIL/Anuvani-Diarization/src/triton/models/resample_cpu/1/model.py
-
curl -L -o model.py https://huggingface.co/CIIL/Anuvani-Diarization/resolve/main/src/triton/models/resample_cpu/1/model.py
1.37 kB
| # Copyright (c) 2026 The Anuvani-Diarization authors | |
| # SPDX-License-Identifier: MIT OR Apache-2.0 | |
| """Triton Python backend: the release's `load_audio` resampling (torchaudio 2.1.1's sinc resampler, as copied unchanged | |
| into anuvani_diar.nn.resample, 2 CPU threads) for non-16 kHz input.""" | |
| import numpy as np | |
| import triton_python_backend_utils as pb_utils | |
| class TritonPythonModel: | |
| def initialize(self, args): | |
| import torch | |
| from anuvani_diar.nn.resample import resample | |
| self.torch, self.resample = torch, resample | |
| torch.set_num_threads(2) | |
| def execute(self, requests): | |
| t, resample = self.torch, self.resample | |
| responses = [] | |
| for req in requests: | |
| try: | |
| audio = pb_utils.get_input_tensor_by_name(req, "AUDIO").as_numpy() | |
| sr = int(pb_utils.get_input_tensor_by_name(req, "SR").as_numpy()[0]) | |
| t.set_num_threads(2) | |
| out = resample(t.from_numpy(np.ascontiguousarray(audio)).unsqueeze(0), sr, 16000).squeeze(0).numpy().astype(np.float32) | |
| responses.append(pb_utils.InferenceResponse(output_tensors=[pb_utils.Tensor("OUT", out)])) | |
| except Exception as e: | |
| responses.append(pb_utils.InferenceResponse(output_tensors=[], error=pb_utils.TritonError(f"{type(e).__name__}: {e}"))) | |
| return responses | |