1 # TensorFlow White Papers 2 3 This document identifies white papers about TensorFlow. 4 5 ## Large-Scale Machine Learning on Heterogeneous Distributed Systems 6 7 [Access this white paper.](https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/45166.pdf) 8 9 **Abstract:** TensorFlow is an interface for expressing machine learning 10 algorithms, and an implementation for executing such algorithms. 11 A computation expressed using TensorFlow can be 12 executed with little or no change on a wide variety of heterogeneous 13 systems, ranging from mobile devices such as phones 14 and tablets up to large-scale distributed systems of hundreds 15 of machines and thousands of computational devices such as 16 GPU cards. The system is flexible and can be used to express 17 a wide variety of algorithms, including training and inference 18 algorithms for deep neural network models, and it has been 19 used for conducting research and for deploying machine learning 20 systems into production across more than a dozen areas of 21 computer science and other fields, including speech recognition, 22 computer vision, robotics, information retrieval, natural 23 language processing, geographic information extraction, and 24 computational drug discovery. This paper describes the TensorFlow 25 interface and an implementation of that interface that 26 we have built at Google. The TensorFlow API and a reference 27 implementation were released as an open-source package under 28 the Apache 2.0 license in November, 2015 and are available at 29 www.tensorflow.org. 30 31 32 ### In BibTeX format 33 34 If you use TensorFlow in your research and would like to cite the TensorFlow 35 system, we suggest you cite this whitepaper. 36 37 <pre> 38 @misc{tensorflow2015-whitepaper, 39 title={ {TensorFlow}: Large-Scale Machine Learning on Heterogeneous Systems}, 40 url={https://www.tensorflow.org/}, 41 note={Software available from tensorflow.org}, 42 author={ 43 Mart\'{\i}n~Abadi and 44 Ashish~Agarwal and 45 Paul~Barham and 46 Eugene~Brevdo and 47 Zhifeng~Chen and 48 Craig~Citro and 49 Greg~S.~Corrado and 50 Andy~Davis and 51 Jeffrey~Dean and 52 Matthieu~Devin and 53 Sanjay~Ghemawat and 54 Ian~Goodfellow and 55 Andrew~Harp and 56 Geoffrey~Irving and 57 Michael~Isard and 58 Yangqing Jia and 59 Rafal~Jozefowicz and 60 Lukasz~Kaiser and 61 Manjunath~Kudlur and 62 Josh~Levenberg and 63 Dandelion~Man\'{e} and 64 Rajat~Monga and 65 Sherry~Moore and 66 Derek~Murray and 67 Chris~Olah and 68 Mike~Schuster and 69 Jonathon~Shlens and 70 Benoit~Steiner and 71 Ilya~Sutskever and 72 Kunal~Talwar and 73 Paul~Tucker and 74 Vincent~Vanhoucke and 75 Vijay~Vasudevan and 76 Fernanda~Vi\'{e}gas and 77 Oriol~Vinyals and 78 Pete~Warden and 79 Martin~Wattenberg and 80 Martin~Wicke and 81 Yuan~Yu and 82 Xiaoqiang~Zheng}, 83 year={2015}, 84 } 85 </pre> 86 87 Or in textual form: 88 89 <pre> 90 Martn Abadi, Ashish Agarwal, Paul Barham, Eugene Brevdo, 91 Zhifeng Chen, Craig Citro, Greg S. Corrado, Andy Davis, 92 Jeffrey Dean, Matthieu Devin, Sanjay Ghemawat, Ian Goodfellow, 93 Andrew Harp, Geoffrey Irving, Michael Isard, Rafal Jozefowicz, Yangqing Jia, 94 Lukasz Kaiser, Manjunath Kudlur, Josh Levenberg, Dan Man, Mike Schuster, 95 Rajat Monga, Sherry Moore, Derek Murray, Chris Olah, Jonathon Shlens, 96 Benoit Steiner, Ilya Sutskever, Kunal Talwar, Paul Tucker, 97 Vincent Vanhoucke, Vijay Vasudevan, Fernanda Vigas, 98 Oriol Vinyals, Pete Warden, Martin Wattenberg, Martin Wicke, 99 Yuan Yu, and Xiaoqiang Zheng. 100 TensorFlow: Large-scale machine learning on heterogeneous systems, 101 2015. Software available from tensorflow.org. 102 </pre> 103 104 105 106 ## TensorFlow: A System for Large-Scale Machine Learning 107 108 [Access this white paper.](https://www.usenix.org/system/files/conference/osdi16/osdi16-abadi.pdf) 109 110 **Abstract:** TensorFlow is a machine learning system that operates at 111 large scale and in heterogeneous environments. TensorFlow 112 uses dataflow graphs to represent computation, 113 shared state, and the operations that mutate that state. It 114 maps the nodes of a dataflow graph across many machines 115 in a cluster, and within a machine across multiple computational 116 devices, including multicore CPUs, generalpurpose 117 GPUs, and custom-designed ASICs known as 118 Tensor Processing Units (TPUs). This architecture gives 119 flexibility to the application developer: whereas in previous 120 parameter server designs the management of shared 121 state is built into the system, TensorFlow enables developers 122 to experiment with novel optimizations and training algorithms. 123 TensorFlow supports a variety of applications, 124 with a focus on training and inference on deep neural networks. 125 Several Google services use TensorFlow in production, 126 we have released it as an open-source project, and 127 it has become widely used for machine learning research. 128 In this paper, we describe the TensorFlow dataflow model 129 and demonstrate the compelling performance that TensorFlow 130 achieves for several real-world applications. 131 132