TensorFlow là một thư viện phần mềm mã nguồn mở dành cho máy học trong nhiều loại hình tác vụ nhận thức và hiểu ngôn ngữ.[1] Nó hiện đang được sử dụng cho cả nghiên cứu lẫn sản xuất bởi 50[1]:min 0:15/2:17 đội khác nhau trong hàng tá[2]:p.2 sản phẩm thương mại của Google, như nhận dạng giọng nói, Gmail, Google Photos, và tìm kiếm,[1]:0:26/2:17 nhiều trong số đó đã từng sử dụng chương trình tiền nhiệm DistBelief của nó. TensorFlow nguyên thủy được phát triển bởi đội Google Brain cho mục đích nghiên cứu và sản xuất của Google và sau đó được phát hành theo giấy phép mã nguồn mở Apache 2.0 vào ngày 9/11/2015.[3][4]
Bắt đầu từ năm 2011, Google Brain xây dựng DistBelief như là hệ thống máy học thế hệ đầu tiên, độc quyền của mình. Hơn 50 đội tại Google và các công ty Alphabet khác đã triển khai các mạng nơ-ron học sâu của DistBeliistBelief trong các sản phẩm thương mại của Google, bao gồm Google Search,Google Voice Search, quảng cáo, Google Photos, Google Maps, Google Street View, Google Translate, và YouTube.[2][5] Google đã chỉ định các nhà khoa học máy tính, như tiến sĩ Geoffrey Hinton và tiến sĩ Jeff Dean, để đơn giản hóa và cải tiến mã nguồn codebase của DistBelief để trở thành một thư viện lớp ứng dụng nhanh hơn, mạnh mẽ hơn, mà sau này trở thành TensorFlow.[6] Trong năm 2009, đội ngũ được lãnh đạo bởi Hinton đã có thể giảm số lỗi trong các mạng nơ-ron sử dụng DistBelief một lượng đáng kể; đột phá này đã được thực hiện bởi các đột phá khoa học của Hinton trong truyền ngược tổng quát hóa. Đột phá đáng chú ý nhất của Hinton trực tiếp dẫn đến việc giảm lỗi trong phần mềm nhận dạng giọng nói của Google ít nhất là 25%.[7]
TensorFlow thế hệ thứ hai của hệ thống học máy của Google Brain, với một bản cài đặt tham khảo đã phát hành dưới dạng phần mềm mã nguồn mở vào ngày 9/11/2015. Trong khi bản cài đặt tham khảo chạy trên một thiết bị đơn, TensorFlow có thể chạy trên nhiều CPU và GPU [8] (với nhiều mở rộng CUDA tùy chọn cho việc tính toán đa năng trên các GPU). Nó chạy trên desktop Linux hoặc Mac OS X 64-bit hoặc các hệ thống máy chủ, cũng như trên các nền tảng điện toán di động, bao gồm Android và iOS của Apple. Các tính toán của TensorFlow được thể hiện dưới dạng các biểu đồ dataflow chi tiết. Nhiều nhóm tại Google đã chuyển từ DistBelief sang TensorFlow để phục vụ cho việc nghiên cứu và sản xuất.[2]:p.2 Thư viện thuật toán này bắt nguồn từ nhu cầu của Google để hướng dẫn (lập trình) các hệ thống máy tính, được gọi là mạng nơron, để tìm hiểu và lý luận tương tự cách thức của con người, vì vậy mà các ứng dụng mới có thể được xuất phát từ đây có thể đảm nhận các vai trò và chức năng vốn trước đây chỉ dành cho những người có khả năng; cái tên TensorFlow bản thân nó xuất phát từ các thao tác mà các mạng nơron như vậy thực hiện trên các mảng dữ liệu đa chiều. Những mảng đa chiều được gọi là các "tensor" nhưng khái niệm này là không giống với khái niệm 'tensor' trong toán học.[9] Mục đích là để huấn luyện các mạng nơron phát hiện và giải mã các mẫu và các mối tương quan.
Vào tháng 6/2016, Jeff Dean của Google cho biết đã có 1.500 repository (kho) trên GitHub đề cập tới TensorFlow, trong đó chỉ có 5 đến từ Google.[10]
Vào tháng 5/2016, Google đã công bố một ASIC tùy chỉnh do họ xây dựng đặc biệt cho máy học và dành riêng cho TensorFlow. Họ tiết lộ họ đã vận hành các TPU bên trong các Trung tâm dữ liệu của họ trong hơn một năm, và đã tìm ra cách để tạo ra hiệu suất trên watt tối ưu hóa tốt hơn theo hàm mũ của 10 dành cho máy học.[11] TPU là một máy tăng tốc AI có thể lập trình được tập trung vào một số lượng lớn thuật toán có mức chính xác thấp (ví dụ: 8 bit); và có khả năng ứng dụng nhiều hơn trong các mô hình ('suy luận') thực tế chứ không chỉ là huấn luyện chúng.
TensorFlow cung cấp một API Python, cũng như một ít tài liệu API C/C++.
Trong số các ứng dụng rộng rãi mà TensorFlow làm nền tảng, bao gồm cả phần mềm tự động tạo phụ đề cho hình ảnh, chẳng hạn như DeepDream.[12] Google chính thức triển khai thực hiện RankBrain vào ngày 26/10/2015, được hỗ trợ bởi TensorFlow, RankBrain hiện tại có thể xử lý một lượng truy vấn tìm kiếm đáng kể, thay thế và bổ sung thuật toán tĩnh truyền thống dựa trên các kết quả tìm kiếm.[13]