{"href":"https://api.simplecast.com/oembed?url=https%3A%2F%2Fpytorch-dev-podcast.simplecast.com%2Fepisodes%2Fbatching-MAvJs_I_","width":444,"version":"1.0","type":"rich","title":"Batching","thumbnail_width":300,"thumbnail_url":"https://image.simplecastcdn.com/images/8cefde76-fb46-406a-8d87-ab0df67f3423/92f11400-2dad-49b4-8b14-cce35f5ab765/pytorch-symbol-02-orangeondark.jpg","thumbnail_height":300,"provider_url":"https://simplecast.com","provider_name":"Simplecast","html":"<iframe src=\"https://player.simplecast.com/511409c9-2eca-42a9-96b1-b6db7cae21e3\" height=\"200\" width=\"100%\" title=\"Batching\" frameborder=\"0\" scrolling=\"no\"></iframe>","height":200,"description":"PyTorch operates on its input data in a batched manner, typically processing multiple batches of an input at once (rather than once at a time, as would be the case in typical programming). In this podcast, we talk a little about the implications of batching operations in this way, and then also about how PyTorch's API is structured for batching (hint: poorly) and how Numpy introduced a concept of ufunc/gufuncs to standardize over broadcasting and batching behavior. There is some overlap between this podcast and previous podcasts about TensorIterator and vmap; you may also be interested in those episodes."}