Major Features and Improvements
- TensorFlow now builds and runs on Microsoft Windows (tested on Windows 10,
Windows 7, and Windows Server 2016). Supported languages include Python (via a
pip package) and C++. CUDA 8.0 and cuDNN 5.1 are supported for GPU
acceleration. Known limitations include: It is not currently possible to load
a custom op library. The GCS and HDFS file systems are not currently
supported. The following ops are not currently implemented:
DepthwiseConv2dNativeBackpropInput, Dequantize, Digamma, Erf, Erfc, Igamma,
Igammac, Lgamma, Polygamma, QuantizeAndDequantize, QuantizedAvgPool,
QuantizedBatchNomWithGlobalNormalization, QuantizedBiasAdd, QuantizedConcat,
QuantizedConv2D, QuantizedMatmul, QuantizedMaxPool,
QuantizeDownAndShrinkRange, QuantizedRelu, QuantizedRelu6, QuantizedReshape,
QuantizeV2, RequantizationRange, and Requantize.
- Go: Experimental API in Go to create and execute graphs
- New checkpoint format becomes the default in
tf.train.Saver. Old V1
checkpoints continue to be readable; controlled by the
tf.train.Savernow by default writes out in the new V2
format. It significantly reduces the peak memory required and latency
incurred during restore.
- Added a new library for library of matrix-free (iterative) solvers for linear
equations, linear least-squares, eigenvalues and singular values in
tensorflow/contrib/solvers. Initial version has lanczos bidiagonalization,
conjugate gradients and CGLS.
- Added gradients for
- Large cleanup to add second order gradient for ops with C++ gradients and
improve existing gradients such that most ops can now be differentiated
- Added a solver for ordinary differential equations,
- New contrib module for tensors with named axes,
- Visualization of embeddings in TensorBoard.
Breaking Changes to the API
BusAdjacencyenum replaced with a protocol buffer
DeviceLocality. PCI bus
indexing now starts from 1 instead of 0, and
bus_id==0is used where
FileSystem::FileExistsnow return a
tensorflow::Statusintead of a bool. Any callers to this function can be
converted to a bool by adding
.ok()to the call.
- C API: Type
TF_SessionWithGraphhas been renamed to
its preferred use in language bindings for TensorFlow. What was previously
TF_Sessionhas been renamed to
- C API: Renamed
- C API: The caller retains ownership of
TF_Tensorobjects provided to
- Move Summary protobuf constructors to
batch_*and regular version of linear algebra and FFT ops. The
regular op now handles batches as well. All
batch_*Python interfaces were
Bug Fixes and Other Changes
- Use threadsafe version of
tf.sqrthandling of negative arguments.
- Fixed bug causing incorrect number of threads to be used for multi-threaded
- Performance optimizations for
batch_matmulon multi-core CPUs.
- Improve trace,
matrix_diag_partand their gradients to
work for rectangular matrices.
- Support for SVD of complex valued matrices.
Thanks to our Contributors
This release contains contributions from many people at Google, as well as:
@a7744hsc, Abhi Agg, @admcrae, Adriano Carmezim, Aki Sukegawa, Alex Kendall,
Alexander Rosenberg Johansen, @amcrae, Amlan Kar, Andre Simpelo, Andreas Eberle,
Andrew Hundt, Arnaud Lenglet, @b0noI, Balachander Ramachandran, Ben Barsdell,
Ben Guidarelli, Benjamin Mularczyk, Burness Duan, @c0g, Changming Sun,
@chanis, Corey Wharton, Dan J, Daniel Trebbien, Darren Garvey, David Brailovsky,
David Jones, Di Zeng, @DjangoPeng, Dr. Kashif Rasul, @Drag0, Fabrizio (Misto)
Milo, FabríCio Ceschin, @fp, @Ghedeon, @guschmue, Gökçen Eraslan, Haosdent
Huang, Haroen Viaene, Harold Cooper, Henrik Holst, @hoangmit, Ivan Ukhov, Javier
Dehesa, Jingtian Peng, Jithin Odattu, Joan Pastor, Johan Mathe, Johannes Mayer,
Jongwook Choi, Justus Schwabedal, Kai Wolf, Kamil Hryniewicz, Kamran Amini,
Karen Brems, Karl Lattimer, @kborer, Ken Shirriff, Kevin Rose, Larissa Laich,
Laurent Mazare, Leonard Lee, Liang-Chi Hsieh, Liangliang He, Luke Iwanski,
Marek Kolodziej, Moustafa Alzantot, @MrQianJinSi, @nagachika, Neil Han, Nick
Meehan, Niels Ole Salscheider, Nikhil Mishra, @nschuc, Ondrej Skopek, OndřEj
Filip, @OscarDPan, Pablo Moyano, Przemyslaw Tredak, @qitaishui, @Quarazy,
@raix852, Philipp Helo, Sam Abrahams, @SriramRamesh, Till Hoffmann, Tushar Soni,
@TVN, @tyfkda, Uwe Schmidt, Victor Villas, Vit Stepanovs, Vladislav Gubarev,
@wujingyue, Xuesong Yang, Yi Liu, Yilei Yang, @youyou3, Yuan (Terry) Tang,
Yuming Wang, Zafar Takhirov, @zhongyuk, Ziming Dong, @guotong1988
We are also grateful to all who filed issues or helped resolve them, asked and
answered questions, and were part of inspiring discussions.