Differentiable programming for image processing and deep learning in halide

Gradient-based optimization has enabled dramatic advances in computational imaging through techniques like deep learning and nonlinear optimization. These methods require gradients not just of simple mathematical functions, but of general programs which encode complex transformations of images and g...

Full description

Bibliographic Details
Main Authors: Li, Tzu-Mao, Gharbi, Michael Yanis, Adams, Andrew, Durand, Frederic, Ragan-Kelley, Jonathan
Other Authors: Massachusetts Institute of Technology. Laboratory for Computer Science
Format: Article
Published: Association for Computing Machinery (ACM) 2019
Online Access:https://hdl.handle.net/1721.1/122623
_version_ 1826204175314190336
author Li, Tzu-Mao
Gharbi, Michael Yanis
Adams, Andrew
Durand, Frederic
Ragan-Kelley, Jonathan
author2 Massachusetts Institute of Technology. Laboratory for Computer Science
author_facet Massachusetts Institute of Technology. Laboratory for Computer Science
Li, Tzu-Mao
Gharbi, Michael Yanis
Adams, Andrew
Durand, Frederic
Ragan-Kelley, Jonathan
author_sort Li, Tzu-Mao
collection MIT
description Gradient-based optimization has enabled dramatic advances in computational imaging through techniques like deep learning and nonlinear optimization. These methods require gradients not just of simple mathematical functions, but of general programs which encode complex transformations of images and graphical data. Unfortunately, practitioners have traditionally been limited to either hand-deriving gradients of complex computations, or composing programs from a limited set of coarse-grained operators in deep learning frameworks. At the same time, writing programs with the level of performance needed for imaging and deep learning is prohibitively difficult for most programmers. We extend the image processing language Halide with general reverse-mode automatic differentiation (AD), and the ability to automatically optimize the implementation of gradient computations. This enables automatic computation of the gradients of arbitrary Halide programs, at high performance, with little programmer effort. A key challenge is to structure the gradient code to retain parallelism. We define a simple algorithm to automatically schedule these pipelines, and show how Halide's existing scheduling primitives can express and extend the key AD optimization of "checkpointing." Using this new tool, we show how to easily define new neural network layers which automatically compile to high-performance GPU implementations, and how to solve nonlinear inverse problems from computational imaging. Finally, we show how differentiable programming enables dramatically improving the quality of even traditional, feed-forward image processing algorithms, blurring the distinction between classical and deep methods.
first_indexed 2024-09-23T12:50:05Z
format Article
id mit-1721.1/122623
institution Massachusetts Institute of Technology
last_indexed 2024-09-23T12:50:05Z
publishDate 2019
publisher Association for Computing Machinery (ACM)
record_format dspace
spelling mit-1721.1/1226232022-10-01T11:24:30Z Differentiable programming for image processing and deep learning in halide Li, Tzu-Mao Gharbi, Michael Yanis Adams, Andrew Durand, Frederic Ragan-Kelley, Jonathan Massachusetts Institute of Technology. Laboratory for Computer Science Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science Gradient-based optimization has enabled dramatic advances in computational imaging through techniques like deep learning and nonlinear optimization. These methods require gradients not just of simple mathematical functions, but of general programs which encode complex transformations of images and graphical data. Unfortunately, practitioners have traditionally been limited to either hand-deriving gradients of complex computations, or composing programs from a limited set of coarse-grained operators in deep learning frameworks. At the same time, writing programs with the level of performance needed for imaging and deep learning is prohibitively difficult for most programmers. We extend the image processing language Halide with general reverse-mode automatic differentiation (AD), and the ability to automatically optimize the implementation of gradient computations. This enables automatic computation of the gradients of arbitrary Halide programs, at high performance, with little programmer effort. A key challenge is to structure the gradient code to retain parallelism. We define a simple algorithm to automatically schedule these pipelines, and show how Halide's existing scheduling primitives can express and extend the key AD optimization of "checkpointing." Using this new tool, we show how to easily define new neural network layers which automatically compile to high-performance GPU implementations, and how to solve nonlinear inverse problems from computational imaging. Finally, we show how differentiable programming enables dramatically improving the quality of even traditional, feed-forward image processing algorithms, blurring the distinction between classical and deep methods. National Science Foundation (U.S.) (Grant CCF-1723445) 2019-10-18T13:55:05Z 2019-10-18T13:55:05Z 2018-08 Article http://purl.org/eprint/type/JournalArticle 0730-0301 https://hdl.handle.net/1721.1/122623 Li, Tzu-Mao et al. "Differentiable programming for image processing and deep learning in halide." ACM Transactions on Graphics 37, 4 (August 2018): 139 © 2018 The Authors 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 10.1145/3197517.3201383 http://dx.doi.org/10.1145/3197517.3201383 ACM Transactions on Graphics Creative Commons Attribution-Noncommercial-Share Alike http://creativecommons.org/licenses/by-nc-sa/4.0/ application/pdf Association for Computing Machinery (ACM) Prof. Durand via Phoebe Ayers
spellingShingle Li, Tzu-Mao
Gharbi, Michael Yanis
Adams, Andrew
Durand, Frederic
Ragan-Kelley, Jonathan
Differentiable programming for image processing and deep learning in halide
title Differentiable programming for image processing and deep learning in halide
title_full Differentiable programming for image processing and deep learning in halide
title_fullStr Differentiable programming for image processing and deep learning in halide
title_full_unstemmed Differentiable programming for image processing and deep learning in halide
title_short Differentiable programming for image processing and deep learning in halide
title_sort differentiable programming for image processing and deep learning in halide
url https://hdl.handle.net/1721.1/122623
work_keys_str_mv AT litzumao differentiableprogrammingforimageprocessinganddeeplearninginhalide
AT gharbimichaelyanis differentiableprogrammingforimageprocessinganddeeplearninginhalide
AT adamsandrew differentiableprogrammingforimageprocessinganddeeplearninginhalide
AT durandfrederic differentiableprogrammingforimageprocessinganddeeplearninginhalide
AT ragankelleyjonathan differentiableprogrammingforimageprocessinganddeeplearninginhalide