TorchAudio | PyTorch Developer Day 2020

PyTorch · Intermediate ·📐 ML Fundamentals ·5y ago

Key Takeaways

The video discusses TorchAudio, a library built on top of PyTorch, providing building blocks for audio research and production, including IO, transforms, and model distribution. It highlights the library's capabilities, such as JIT, quantization, and distributed training, and showcases its compatibility with other audio libraries like Kaldi and Socks.

Full Transcript

[Music] hello everyone my name is vincent kenville bel-air and i'm the tech lead for tortugio which is what i'm going to talk about today the goal of torturio is to provide building blocks to other researchers and engineers that allows them to bring research to production this way tortuga can accelerate the development of other libraries in the open source ecosystem tortujo is built around the following core functionalities the first functionality is io to read and save tensors from various file formats like mp3 wav flac and sphere we can also download and use common audio data sets where samples are loaded in parallel using torch multi-processing workers the second functionality is transforms for audio and signal processing such as spectrogram and fcc and resampling the transforms are provided as neural network modules in torture.transforms since the transforms are written using pure pi torch operations the computations can be done on the gpu and it can be compiled using torch grip the third is socks and quality compatibility socks and caudi are audio processing library written in c plus plus for socks we provide an interface to use their transforms for coldly we provide reading and writing of quality binary files as well as equivalent features like spectrogram and ms nf bank the final functionality is the distribution of models along with canonical example pipelines for distributed training for major tasks as i said the first set of functionality revolves around i o here's a small snippet using tortuoload and transform the waveform variable is a tensor which is read from file and the corresponding sample rate of the file is read as a scalar the torture to transform spectrogram is given an input parameter to configure its behavior it is then passed the input tensor which computes the spectrogram tensors as output what's special here that i want to highlight is that not only are the transform standard torch n module and so can be compiled using jit but the load function uses torch bindings and so can also be compiled and ported wherever jit is supported the goal is thus to make it possible to get an entire pipeline to be around in production easily we support several data sets for different tasks for instance library speech for speech recognition libritts for text to speech the next set of functionalities i mentioned is transforms as i said before they're written in pure pi torch and as such support batching torch grip and gpu here's another example since each transform is a torch and in module they can be combined in a standard sequential wrapper for convenient data augmentation here we take a spectrogram apply a random time stretch compute the complex norm apply a random frequency masking and a random time masking and then convert the amplitude to decibel frequency masking and time masking are part of spec augment which is what i'm illustrating in the image a band of frequency and another in time are randomly masked the code is divided in functionals that perform the computation and a transform which is an nn module that wraps each functional and keeps their state here i'm listing a few new functionals that we added recently you can see for instance mask along axis that is used within the tor the frequency and time masking we also have several bi-quad filters that are used in signal processing or voice activity detection operation to detect voice the next functionality is the interface with socks and quality for socks we offer a way of using their efficiency plus plus operations directly within pi torch in a torscriptable manner for instance here i'm applying a sequence of gain speed rate change pad and trim using apply effects sensor directly on the pi torch tensor for caldi torture provides a wrapper for torch audio transforms that mimics the flags provided to quality binaries you can also read arc and scp files through tor trojo so that the processed output of quality can be used within your torture dual program kaldi is used quite a lot in the audio community so we want to make it easy to interface with it the final set of functionalities that i want to talk about is the addition of models within the library for space recognition we added a training example pipeline for speech recognition that uses libre speech data set and the wave to letter model for text to speech we added a vocoder based on the wave rnn model along with an example training pipeline in the example folder that uses libre's tts data set for source separation we added the kovtas net model and an example training pipeline with the wall street journal zero mix dataset before finishing i would like to highlight a few features that are on our roadmap first we would like to include the quality pitch feature extraction due to demand from the community second we are interested in including a beam surge decoder interface this is especially useful for speech recognition application and finally another loss that has been requested by users is the addition of the rnn transducer loss to use and learn about pytorch you can visit pytorch.org audio it contains documentation about the api installation instructions tutorials and links to the github page we also have a new tutorial for the recognition of speech command have fun playing with it torture is compatible with linux mac os windows and supports python 3.6 and up just like pytorch thank you for watching you

Original Description

TorchAudio provides reusable, orthogonal, correct, and performant building blocks for cutting-edge experimentation in the audio domain. In this talk, machine learning scientist Vince Quenneville-Belair examines how the broad range of PyTorch capabilities — such as JIT, quantization, distributed, and mobile — enable seamless research-to-production for core end-to-end applications, such as speech recognition text-to-speech, and source separation.
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Uploads from PyTorch · PyTorch · 0 of 60

← Previous Next →
1 What is PyTorch?
What is PyTorch?
PyTorch
2 PyTorch Tutorial: A Quick Preview
PyTorch Tutorial: A Quick Preview
PyTorch
3 PyTorch Summer Hackathon 2019
PyTorch Summer Hackathon 2019
PyTorch
4 Tips and Tricks on Hacking with PyTorch: A Quick Tutorial by Brad Heintz
Tips and Tricks on Hacking with PyTorch: A Quick Tutorial by Brad Heintz
PyTorch
5 PyTorch 1.2 and PyTorch Hub: A Quick Introduction by Soumith Chintala and Ailing Zhang
PyTorch 1.2 and PyTorch Hub: A Quick Introduction by Soumith Chintala and Ailing Zhang
PyTorch
6 Torchtext 0.4 with Supervised Learning Datasets: A Quick Introduction by George Zhang
Torchtext 0.4 with Supervised Learning Datasets: A Quick Introduction by George Zhang
PyTorch
7 Torchaudio 0.3 with Kaldi Compatibility, New Transforms: A Quick Introduction by Jason Lian
Torchaudio 0.3 with Kaldi Compatibility, New Transforms: A Quick Introduction by Jason Lian
PyTorch
8 Torchvision 0.4 with Support for Video: A Quick Introduction by Francisco Massa
Torchvision 0.4 with Support for Video: A Quick Introduction by Francisco Massa
PyTorch
9 Introduction to Machine Learning for Developers at F8 2019
Introduction to Machine Learning for Developers at F8 2019
PyTorch
10 Powered by PyTorch at F8 2019
Powered by PyTorch at F8 2019
PyTorch
11 Developing and Scaling AI Experiences at Facebook with PyTorch at F8 2019
Developing and Scaling AI Experiences at Facebook with PyTorch at F8 2019
PyTorch
12 New Approaches to Image and Video Reconstruction Using Deep Learning at Facebook at F8 2019
New Approaches to Image and Video Reconstruction Using Deep Learning at Facebook at F8 2019
PyTorch
13 PyTorch Developer Conference 2018: Recap
PyTorch Developer Conference 2018: Recap
PyTorch
14 PyTorch Developer Conference 2018: Keynote & Deep Dive
PyTorch Developer Conference 2018: Keynote & Deep Dive
PyTorch
15 PyTorch Developer Conference 2018: Production & Research Sessions
PyTorch Developer Conference 2018: Production & Research Sessions
PyTorch
16 PyTorch Developer Conference 2018: Cloud & Academia Sessions
PyTorch Developer Conference 2018: Cloud & Academia Sessions
PyTorch
17 PyTorch Developer Conference 2018: Enterprise, Education, & Future of AI Panel
PyTorch Developer Conference 2018: Enterprise, Education, & Future of AI Panel
PyTorch
18 PyTorch Developer Conference 2019 | Full Livestream
PyTorch Developer Conference 2019 | Full Livestream
PyTorch
19 PyTorch Developer Conference 2019: Recap
PyTorch Developer Conference 2019: Recap
PyTorch
20 PyTorch Developer Conference Keynote - Mike Schroepfer
PyTorch Developer Conference Keynote - Mike Schroepfer
PyTorch
21 What’s new in PyTorch 1.3 - Lin Qiao
What’s new in PyTorch 1.3 - Lin Qiao
PyTorch
22 PyTorch Front-End Features: Named Tensors and Type Promotion - Gregory Chanan
PyTorch Front-End Features: Named Tensors and Type Promotion - Gregory Chanan
PyTorch
23 Research to Production: PyTorch JIT/TorchScript Updates - Michael Suo
Research to Production: PyTorch JIT/TorchScript Updates - Michael Suo
PyTorch
24 Quantization - Dmytro Dzhulgakov
Quantization - Dmytro Dzhulgakov
PyTorch
25 PyTorch ONNX Export Support - Lara Haidar, Microsoft
PyTorch ONNX Export Support - Lara Haidar, Microsoft
PyTorch
26 Apex -  Michael Carilli, NVIDIA
Apex - Michael Carilli, NVIDIA
PyTorch
27 Dataloader Design for PyTorch - Tongzhou Wang, MIT
Dataloader Design for PyTorch - Tongzhou Wang, MIT
PyTorch
28 Linear Algebra in PyTorch - Vishwak Srinivasan, CMU
Linear Algebra in PyTorch - Vishwak Srinivasan, CMU
PyTorch
29 PyTorch Mobile - David Reiss
PyTorch Mobile - David Reiss
PyTorch
30 Model Interpretability with Captum - Narine Kokhilkyan
Model Interpretability with Captum - Narine Kokhilkyan
PyTorch
31 Detectron2 - Next Gen Object Detection Library - Yuxin Wu
Detectron2 - Next Gen Object Detection Library - Yuxin Wu
PyTorch
32 Speech Extensions to Fairseq - Dmytro Okhonko
Speech Extensions to Fairseq - Dmytro Okhonko
PyTorch
33 PyTorch on Google Cloud TPUs - Google, Salesforce, Facebook
PyTorch on Google Cloud TPUs - Google, Salesforce, Facebook
PyTorch
34 PyTorch Summer Hackathon Winners - Joe Spisak, Sebastien Arnold, Tristan Deleu
PyTorch Summer Hackathon Winners - Joe Spisak, Sebastien Arnold, Tristan Deleu
PyTorch
35 PyTorch in Robotics - Yisong Yue, Caltech
PyTorch in Robotics - Yisong Yue, Caltech
PyTorch
36 StanfordNLP - Yuhao Zhang, Stanford
StanfordNLP - Yuhao Zhang, Stanford
PyTorch
37 Sotabench for Reproducible Research - Robert Stojnic, Papers with Code
Sotabench for Reproducible Research - Robert Stojnic, Papers with Code
PyTorch
38 Collaborative Natural Language Inference - Sasha Rush, Cornell
Collaborative Natural Language Inference - Sasha Rush, Cornell
PyTorch
39 Privacy Preserving AI - Andrew Trask, OpenMined
Privacy Preserving AI - Andrew Trask, OpenMined
PyTorch
40 CrypTen - Laurens van der Maaten
CrypTen - Laurens van der Maaten
PyTorch
41 PyTorch at Uber - Sidney Zhang, Uber
PyTorch at Uber - Sidney Zhang, Uber
PyTorch
42 PyTorch at Tesla - Andrej Karpathy, Tesla
PyTorch at Tesla - Andrej Karpathy, Tesla
PyTorch
43 PyTorch at Microsoft - Saurabh Tiwary, Microsoft
PyTorch at Microsoft - Saurabh Tiwary, Microsoft
PyTorch
44 PyTorch at Dolby Labs - Vivek Kumar, Dolby Labs
PyTorch at Dolby Labs - Vivek Kumar, Dolby Labs
PyTorch
45 PyTorch Developer Conference 2019 - Panel Discussion
PyTorch Developer Conference 2019 - Panel Discussion
PyTorch
46 Using deep learning and PyTorch to power next gen aircraft at Caltech
Using deep learning and PyTorch to power next gen aircraft at Caltech
PyTorch
47 Named Tensors, Model Quantization, and the Latest PyTorch Features - Part 1
Named Tensors, Model Quantization, and the Latest PyTorch Features - Part 1
PyTorch
48 TorchScript and PyTorch JIT | Deep Dive
TorchScript and PyTorch JIT | Deep Dive
PyTorch
49 Announcing the PyTorch Global Summer Hackathon 2020
Announcing the PyTorch Global Summer Hackathon 2020
PyTorch
50 Opening Up the Black Box: Model Understanding with Captum and PyTorch
Opening Up the Black Box: Model Understanding with Captum and PyTorch
PyTorch
51 PyTorch Mobile Runtime for Android
PyTorch Mobile Runtime for Android
PyTorch
52 Torchvision in 5 minutes
Torchvision in 5 minutes
PyTorch
53 3D Deep Learning with PyTorch3D
3D Deep Learning with PyTorch3D
PyTorch
54 What is Torchtext?
What is Torchtext?
PyTorch
55 TorchAudio: A Quick Intro
TorchAudio: A Quick Intro
PyTorch
56 PyTorch Mobile Runtime for iOS
PyTorch Mobile Runtime for iOS
PyTorch
57 PySlowFast: Deep learning with Video
PySlowFast: Deep learning with Video
PyTorch
58 PyTorch Pruning | How it's Made by Michela Paganini
PyTorch Pruning | How it's Made by Michela Paganini
PyTorch
59 Measuring Fairness in Machine Learning Systems
Measuring Fairness in Machine Learning Systems
PyTorch
60 PyTorch for Hackathons
PyTorch for Hackathons
PyTorch

TorchAudio provides a set of building blocks for audio research and production, allowing users to accelerate the development of audio-based applications. The library includes tools for IO, transforms, and model distribution, and is compatible with other popular audio libraries. By using TorchAudio, users can build and deploy models for speech recognition, text-to-speech, and other audio-based tasks.

Key Takeaways
  1. Install TorchAudio using pip
  2. Import TorchAudio and load audio data
  3. Apply transforms to audio data for augmentation
  4. Use TorchAudio's model distribution functionality to deploy models
  5. Experiment with different models and hyperparameters for optimal results
💡 TorchAudio's compatibility with other audio libraries and its ability to accelerate the development of audio-based applications make it a valuable tool for researchers and engineers.

Related Reads

📰
Building Safe Escalation Paths For High-Risk Healthcare Decisions
Learn to build safe escalation paths for high-risk healthcare decisions using predictive ML systems
Forbes Innovation
📰
9 Python Concepts That Become Obvious Once You Build Real Applications
Learn 9 essential Python concepts that become clear when building real applications, crucial for production project success
Medium · Programming
📰
9 Python Concepts That Become Obvious Once You Build Real Applications
Learn 9 essential Python concepts that become clear when building real applications, improving your coding skills and productivity
Medium · Python
📰
I Taught an AI to Recognize the Shadows of Four-Dimensional Objects
Learn how a neural network was taught to recognize the shadows of four-dimensional objects, expanding our understanding of high-dimensional geometry
Medium · AI
Up next
QR Decomposition is Just Gram-Schmidt with Receipts
DataMListic
Watch →