Releases: tensorflow/tensorflow
TensorFlow v0.12.0 RC0
Release 0.12.0
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:
DepthwiseConv2dNative, DepthwiseConv2dNativeBackpropFilter,
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
(https://godoc.org/github.com/tensorflow/tensorflow/tensorflow/go) - New checkpoint format becomes the default in
tf.train.Saver
. Old V1
checkpoints continue to be readable; controlled by thewrite_version
argument,tf.train.Saver
now 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
matrix_solve_ls
andself_adjoint_eig
. - Large cleanup to add second order gradient for ops with C++ gradients and
improve existing gradients such that most ops can now be differentiated
multiple times. - Added a solver for ordinary differential equations,
tf.contrib.integrate.odeint
. - New contrib module for tensors with named axes,
tf.contrib.labeled_tensor
. - Visualization of embeddings in TensorBoard.
Breaking Changes to the API
BusAdjacency
enum replaced with a protocol bufferDeviceLocality
. PCI bus
indexing now starts from 1 instead of 0, andbus_id==0
is used where
previouslyBUS_ANY
was used.Env::FileExists
andFileSystem::FileExists
now return a
tensorflow::Status
intead of a bool. Any callers to this function can be
converted to a bool by adding.ok()
to the call.- C API: Type
TF_SessionWithGraph
has been renamed toTF_Session
, indicating
its preferred use in language bindings for TensorFlow. What was previously
TF_Session
has been renamed toTF_DeprecatedSession
. - C API: Renamed
TF_Port
toTF_Output
. - C API: The caller retains ownership of
TF_Tensor
objects provided to
TF_Run
,TF_SessionRun
,TF_SetAttrTensor
etc. - Renamed
tf.image.per_image_whitening()
to
tf.image.per_image_standardization()
- Move Summary protobuf constructors to
tf.summary
submodule. - Deprecate
histogram_summary
,audio_summary
,scalar_summary
,
image_summary
,merge_summary
, andmerge_all_summaries
. - Combined
batch_*
and regular version of linear algebra and FFT ops. The
regular op now handles batches as well. Allbatch_*
Python interfaces were
removed. tf.all_variables
,tf.VARIABLES
andtf.initialize_all_variables
renamed
totf.global_variables
,tf.GLOBAL_VARIABLES
and
tf.global_variable_initializers
respectively.
Bug Fixes and Other Changes
- Use threadsafe version of
lgamma
function. - Fix
tf.sqrt
handling of negative arguments. - Fixed bug causing incorrect number of threads to be used for multi-threaded
benchmarks. - Performance optimizations for
batch_matmul
on multi-core CPUs. - Improve trace,
matrix_set_diag
,matrix_diag_part
and 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.
TensorFlow v0.11.0
Merge pull request #5503 from yifeif/r0.11 Reformat markdown.
TensorFlow v0.11.0 RC2
Bug fixes and minor changes.
TensorFlow v0.11.0 RC1
Major Features and Improvements
- CUDA 8.0 support.
TensorFlow v0.11.0 RC0
Major Features and Improvements
- cuDNN 5 support.
- HDFS Support.
- Adds Fused LSTM support via cuDNN 5 in
tensorflow/contrib/cudnn_rnn
. - Improved support for NumPy style basic slicing including non-1 strides,
ellipses, newaxis, and negative indices. For example complicated expressions
likefoo[1, 2:4, tf.newaxis, ..., :-3:-1, :]
are now supported. In addition
we have preliminary (non-broadcasting) support for sliced assignment to
variables. In particular one can writevar[1:3].assign([1,11,111])
. - Introducing
core/util/tensor_bundle
module: a module to efficiently
serialize/deserialize tensors to disk. Will be used in TF's new checkpoint
format. - Added tf.svd for computing the singular value decomposition (SVD) of dense
matrices or batches of matrices (CPU only). - Added gradients for eigenvalues and eigenvectors computed using
self_adjoint_eig
orself_adjoint_eigvals
. - Eliminated
batch_*
methods for most linear algebra and FFT ops and promoted
the non-batch version of the ops to handle batches of matrices. - Tracing/timeline support for distributed runtime (no GPU profiler yet).
- C API gives access to inferred shapes with
TF_GraphGetTensorNumDims
and
TF_GraphGetTensorShape
. - Shape functions for core ops have moved to C++ via
REGISTER_OP(...).SetShapeFn(...)
. Python shape inference RegisterShape calls
use the C++ shape functions withcommon_shapes.call_cpp_shape_fn
. A future
release will removeRegisterShape
from python.
Bug Fixes and Other Changes
- Documentation now includes operator overloads on Tensor and Variable.
tensorflow.__git_version__
now allows users to identify the version of the
code that TensorFlow was compiled with. We also have
tensorflow.__git_compiler__
which identifies the compiler used to compile
TensorFlow's core.- Improved multi-threaded performance of
batch_matmul
. - LSTMCell, BasicLSTMCell, and MultiRNNCell constructors now default to
state_is_tuple=True
. For a quick fix while transitioning to the new
default, simply pass the argumentstate_is_tuple=False
. - DeviceFactory's AddDevices and CreateDevices functions now return
a Status instead of void. - Int32 elements of list(type) arguments are no longer placed in host memory by
default. If necessary, a list(type) argument to a kernel can be placed in host
memory using a HostMemory annotation. uniform_unit_scaling_initializer()
no longer takes afull_shape
arg,
instead relying on the partition info passed to the initializer function when
it's called.- The NodeDef protocol message is now defined in its own file
node_def.proto
instead of graph.proto
. ops.NoGradient
was renamedops.NotDifferentiable
.ops.NoGradient
will
be removed soon.dot.h
/ DotGraph was removed (it was an early analysis tool prior
to TensorBoard, no longer that useful). It remains in history
should someone find the code useful.
Thanks to our Contributors
This release contains contributions from many people at Google, as well as:
Abid K, @afshinrahimi, @AidanGG, Ajay Rao, Aki Sukegawa, Alex Rothberg,
Alexander Rosenberg Johansen, Andrew Gibiansky, Andrew Thomas, @AppleHolic,
Bastiaan Quast, Ben Dilday, Bofu Chen, Brandon Amos, Bryon Gloden, Cissp®,
@chanis, Chenyang Liu, Corey Wharton, Daeyun Shin, Daniel Julius Lasiman, Daniel
Waterworth, Danijar Hafner, Darren Garvey, Denis Gorbachev, @DjangoPeng,
Egor-Krivov, Elia Palme, Eric Platon, Fabrizio Milo, Gaetan Semet,
Georg Nebehay, Gu Wang, Gustav Larsson, @haosdent, Harold Cooper, Hw-Zz,
@ichuang, Igor Babuschkin, Igor Macedo Quintanilha, Ilya Edrenkin, @ironhead,
Jakub Kolodziejczyk, Jennifer Guo, Jihun Choi, Jonas Rauber, Josh Bleecher
Snyder, @jpangburn, Jules Gagnon-Marchand, Karen Brems, @kborer, Kirill Bobyrev,
Laurent Mazare, Longqi Yang, Malith Yapa, Maniteja Nandana, Martin Englund,
Matthias Winkelmann, @mecab, Mu-Ik Jeon, Nand Dalal, Niels Ole Salscheider,
Nikhil Mishra, Park Jiin, Pieter De Rijk, @raix852, Ritwik Gupta, Sahil Sharma,
@sangheum, @sergejsrk, Shinichiro Hamaji, Simon Denel, @Steve, @suiyuan2009,
Tiago Jorge, Tijmen Tieleman, @tvn, @tyfkda, Wang Yang, Wei-Ting Kuo, Wenjian
Huang, Yan Chen, @yenchenlin, Yuan (Terry) Tang, Yuncheng Li, Yunfeng Wang, Zack
Polizzi, @zhongzyd, Ziming Dong, @perhapszzy
We are also grateful to all who filed issues or helped resolve them, asked and
answered questions, and were part of inspiring discussions.
TensorFlow v0.10.0
Bug fixes for rc0
TensorFlow v0.10.0 RC0
Major Features and Improvements
- Added support for C++ shape inference
- Added graph-construction C API
- Major revision to the graph-construction C++ API
- Support makefile build for iOS
- Added Mac GPU support
- Full version of TF-Slim available as
tf.contrib.slim
- Added k-Means clustering and WALS matrix factorization
Big Fixes and Other Changes
- Allow gradient computation for scalar values.
- Performance improvements for gRPC
- Improved support for fp16
- New high-level ops in tf.contrib.{layers,metrics}
- New features for TensorBoard, such as shape display, exponential smoothing
- Faster and more stable Google Cloud Storage (GCS) filesystem support
- Support for zlib compression and decompression for TFRecordReader and TFRecordWriter
- Support for reading (animated) GIFs
- Improved support for SparseTensor
- Added support for more probability distributions (Dirichlet, Beta, Bernoulli, etc.)
- Added Python interfaces to reset resource containers.
- Many bugfixes and performance improvements
- Many documentation fixes
Thanks to our Contributors
This release contains contributions from many people at Google, as well as:
Alex Rothberg, Andrew Royer, Austin Marshall, @BlackCoal, Bob Adolf, Brian Diesel, Charles-Emmanuel Dias, @chemelnucfin, Chris Lesniewski, Daeyun Shin, Daniel Rodriguez, Danijar Hafner, Darcy Liu, Kristinn R. Thórisson, Daniel Castro, Dmitry Savintsev, Kashif Rasul, Dylan Paiton, Emmanuel T. Odeke, Ernest Grzybowski, Gavin Sherry, Gideon Dresdner, Gregory King, Harold Cooper, @heinzbeinz, Henry Saputra, Huarong Huo, Huazuo Gao, Igor Babuschkin, Igor Macedo Quintanilha, Ivan Ukhov, James Fysh, Jan Wilken Dörrie, Jihun Choi, Johnny Lim, Jonathan Raiman, Justin Francis, @lilac, Li Yi, Marc Khoury, Marco Marchesi, Max Melnick, Micael Carvalho, @mikowals, Mostafa Gazar, Nico Galoppo, Nishant Agrawal, Petr Janda, Yuncheng Li, @raix852, Robert Rose, @Robin-des-Bois, Rohit Girdhar, Sam Abrahams, @satok16, Sergey Kishchenko, Sharkd Tu, @shotat, Siddharth Agrawal, Simon Denel, @sono-bfio, SunYeop Lee, Thijs Vogels, @tobegit3hub, @Undo1, Wang Yang, Wenjian Huang, Yaroslav Bulatov, Yunfeng Wang, Ziming Dong
We are also grateful to all who filed issues or helped resolve them, asked and
answered questions, and were part of inspiring discussions.
TensorFlow 0.9.0
Bug fixes on top of RC0.
TensorFlow v0.9.0 RC0
Major Features and Improvements
- Python 3.5 support and binaries
- Added iOS support
- Added support for processing on GPUs on MacOS
- Added makefile for better cross-platform build support (C API only)
- fp16 support for many ops
- Higher level functionality in contrib.{layers,losses,metrics,learn}
- More features to Tensorboard
- Improved support for string embedding and sparse features
- TensorBoard now has an Audio Dashboard, with associated audio summaries.
Big Fixes and Other Changes
- Turned on CuDNN Autotune.
- Added support for using third-party Python optimization algorithms (contrib.opt).
- Google Cloud Storage filesystem support.
- HDF5 support
- Add support for 3d convolutions and pooling.
- Update gRPC release to 0.14.
- Eigen version upgrade.
- Switch to eigen thread pool
tf.nn.moments()
now accepts ashift
argument. Shifting by a good estimate
of the mean improves numerical stability. Also changes the behavior of the
shift
argument totf.nn.sufficient_statistics()
.- Performance improvements
- Many bugfixes
- Many documentation fixes
- TensorBoard fixes: graphs with only one data point, Nan values,
reload button and auto-reload, tooltips in scalar charts, run
filtering, stable colors - Tensorboard graph visualizer now supports run metadata. Clicking on nodes
while viewing a stats for a particular run will show runtime statistics, such
as memory or compute usage. Unused nodes will be faded out.
Thanks to our Contributors
This release contains contributions from many people at Google, as well as:
Aaron Schumacher, Aidan Dang, Akihiko ITOH, Aki Sukegawa, Arbit Chen, Aziz Alto, Danijar Hafner, Erik Erwitt, Fabrizio Milo, Felix Maximilian Möller, Henry Saputra, Sung Kim, Igor Babuschkin, Jan Zikes, Jesper Steen Møller, Johannes Mayer, Justin Harris, Kashif Rasul, Kevin Robinson, Loo Rong Jie, Lucas Moura, Łukasz Bieniasz-Krzywiec, Mario Cho, Maxim Grechkin, Michael Heilman, Mostafa Rahmani, Mourad Mourafiq, @ninotoshi, Orion Reblitz-Richardson, Yuncheng Li, @raoqiyu, Robert DiPietro, Sam Abrahams, Sebastian Raschka, Siddharth Agrawal, @snakecharmer1024, Stephen Roller, Sung Kim, SunYeop Lee, Thijs Vogels, Till Hoffmann, Victor Melo, Ville Kallioniemi, Waleed Abdulla, Wenjian Huang, Yaroslav Bulatov, Yeison Rodriguez, Yuan (Terry) Tang, Yuxin Wu, @zhongzyd, Ziming Dong, Zohar Jackson
We are also grateful to all who filed issues or helped resolve them, asked and
answered questions, and were part of inspiring discussions.
TensorFlow v0.8.0
Bugfixes on top of RC0.