在 SageMaker 中打开存储在 S3 上的音频文件时遇到问题

Trouble opening audio files stored on S3 in SageMaker

我在 Amazon S3 上存储了大约 300 GB 的音频数据(mp3/wav 大部分),并试图在 SageMaker 笔记本实例中访问它以进行一些数据转换。我正在尝试使用 torchaudio 或 librosa 将文件加载为波形。 torchaudio 期望文件路径作为输入,librosa 可以使用文件路径或类文件对象。我尝试使用 s3fs 将 url 获取到文件,但 torchaudio 无法将其识别为文件。显然 SageMaker 在安装 librosa 时遇到问题,所以我无法使用它。我该怎么办?

我最终没有为此使用 SageMaker,但对于其他有类似问题的人,我通过使用 s3fs 打开文件并将其写入 tempfile.NamedTemporaryFile 来解决这个问题。这给了我一个文件路径,我可以将其传递给 torchaudio.loadlibrosa.core.load。这也很重要,因为我想要 librosa.core.load 的额外重采样功能,但它不接受用于加载 mp3 的类文件对象。

对于遇到此问题且必须使用 Sagemaker 的任何人,我发现使用以下方法安装 librosa:

!conda install -y -c conda-forge librosa

而不是通过 pip 允许我在 Sagemaker 中使用它。