Skip to content

Releases: tensorflow/tensorflow

TensorFlow 1.1.0-rc0

25 Mar 02:05
Compare
Choose a tag to compare
TensorFlow 1.1.0-rc0 Pre-release
Pre-release

Release 1.1.0

Major Features and Improvements

  • Added Java API support for Windows.
  • Added tf.spectral module. Moved existing FFT ops to tf.spectral while
    keeping an alias in the old location (tf.*).
  • Added 1D, 2D and 3D Fourier transform ops for real signals to tf.spectral.
  • Added a tf.bincount function.
  • Added Keras 2 API to contrib.
  • Added a new lightweight queue-like object - RecordInput.
  • Added tf.contrib.image.compose_transforms function.
  • Bring tf.estimator.* into the API. Non-deprecated functionality from tf.contrib.learn.Estimator is moved to tf.estimator.Estimator with cosmetic changes.
  • Docker images: TF images on gcr.io and Docker Hub are upgraded to ubuntu:16.04.
  • Added the following features to TensorFlow Debugger (tfdbg):
    • Ability to inspect Python source file against TF ops and tensors (command print_source / ps)
    • New navigation bar in Curses-based UI
    • NodeStepper (command invoke_stepper) now uses intermediate tensor dumps. It also uses TensorHandles as direct feeds during successive cont calls for improved performance and reduced memory consumption.

Deprecations

  • TensorFlow 1.1.0 will be the last time we release a binary with Mac GPU support. Going forward, we will stop testing on Mac GPU systems. We continue to welcome patches that maintain Mac GPU support, and we will try to keep the Mac GPU build working.

Changes to contrib APIs

  • The behavior of RNNCells is now stricter due to the transition towards making RNNCells act more like Keras layers.
    • If an RNNCell is used twice in two different variable scopes, an error is raised describing how to avoid this behavior.
    • If an RNNCell is used in a variable scope with existing conflicting variables, an error is raised showing that the RNNCell must be constructed with argument reuse=True.
  • Deprecated contrib/distributions pmf, pdf, log_pmf, log_pdf.
  • Moved bayesflow.special_math to distributions.
  • tf.contrib.tensor_forest.python.tensor_forest.RandomForestDeviceAssigner removed.
  • Changed some MVN classes and parameters:
    • tf.contrib.distributions.MultivariateNormalFull replaced by tf.contrib.distributions.MultivariateNormalTriL.
    • tf.contrib.distributions.MultivariateNormalCholesky replaced by tf.contrib.distributions.MultivariateNormalTriL
    • tf.contrib.distributions.MultivariateNormalDiagWithSoftplusStDev replaced
      by tf.contrib.distributions.MultivariateNormalDiagWithSoftplusScale
    • tf.contrib.distributions.MultivariateNormalDiag arguments changed from mu, diag_stddev to log, scale_diag.
    • tf.contrib.distributions.MultivariateNormalDiagPlusVDVT removed.
    • tf.contrib.distributions.MultivariateNormalDiagPlusLowRank added.

Bug Fixes and Other Changes

  • Java: Support for loading models exported using the SavedModel API (courtesy @EronWright).
  • Go: Added support for incremental graph execution.
  • Fix a bug in the WALS solver when single-threaded.
  • Added support for integer sparse feature values in tf.contrib.layers.sparse_column_with_keys.
  • Fixed tf.set_random_seed(0) to be deterministic for all ops.
  • Stability improvements for the GCS file system support.
  • Improved TensorForest performance.
  • Added support for multiple filename globs in tf.matching_files.
  • LogMessage now includes a timestamp as beginning of a message.
  • Added MultiBox person detector example standalone binary.
  • Android demo: Makefile build functionality added to build.gradle to fully support building TensorFlow demo in Android on Windows.
  • Android demo: read MultiBox priors from txt file rather than protobuf.
  • Added colocation constraints to StagingArea.
  • sparse_matmul_op reenabled for Android builds.
  • Restrict weights rank to be the same as the broadcast target, to avoid ambiguity on broadcast rules.
  • Upgraded libxsmm to 1.7.1 and applied other changes for performance and memory usage.
  • Fixed bfloat16 integration of LIBXSMM sparse mat-mul.
  • Improved performance and reduce memory usage by allowing ops to forward input buffers to output buffers and perform computations in-place.
  • Improved the performance of CPU assignment for strings.
  • Speed up matrix * vector multiplication and matrix * matrix with unknown shapes.
  • C API: Graph imports now support input remapping, control dependencies, and returning imported nodes (see TF_GraphImportGraphDefWithReturnOutputs())
  • Multiple C++ API updates.
  • Multiple TensorBoard updates including:
    • Users can now view image summaries at various sampled steps (instead of just the last step).
    • Bugs involving switching runs as well as the image dashboard are fixed.
    • Removed data download links from TensorBoard.
    • TensorBoard uses a relative data directory, for easier embedding.
    • TensorBoard automatically ignores outliers for domain calculation, and formats proportional values consistently.
  • Multiple tfdbg bug fixes:
    • Fixed Windows compatibility issues.
    • Command history now persists across runs.

Thanks to our Contributors

This release contains contributions from many people at Google, as well as:

A. Besir Kurtulmus, Adal Chiriliuc, @akash, Alec-Desouza, Alex Rothberg, Alex
Sergeev, Alexander Heinecke, Allen Guo, Andreas Madsen, Ankesh Anand, Anton
Loss, @aravind, @Arie, Ashutosh Das, AuréLien Geron, Bairen Yi, @bakunyo, Ben
Visser, Brady Zhou, Calpa Liu, Changming Sun, Chi Zeng, Chih Cheng Liang,
Christopher Berner, Clark Zinzow, @Conchylicultor, Courtial Florian, Dan Ellis,
Dan J, Dan Jarvis, Daniel Ylitalo, Darren Garvey, David Norman, David Truong,
@DavidNorman, Dimitar Pavlov, Dmitry Persiyanov, @eddie, @elirex, Erfan
Noury, Eron Wright, Evgeny Mazovetskiy, Fabrizio (Misto) Milo, @fanlu, Fisher
Coder, Franck Dernoncourt, Gagan Goel, Gao, Xiang, @Gautam, Gefu Tang,
@guilherme, @guschmue, Hannah Provenza, Hans Pabst, @hartb, Hsiao Yi, Huazuo
Gao, Igor ChorążEwicz, Ivan Smirnov, Jakub Kolodziejczyk, Jason Gavris, Jason
Morton, Jay Young, Jayaram Bobba, Jeremy Sawruk, Jiaming Liu, Jihun Choi,
@jiqiu, Joan Thibault, John C F, Jojy G Varghese, Jon Malmaud, Julian Berman,
Julian Niedermeier, Junpeng Lao, Kai Sasaki, @Kankroc, Karl Lessard, Kyle
Bostelmann, @lezcano, Li Yi, Luo Yun, @lurker, Mahmoud-Abuzaina, Mandeep Singh,
Marek Kolodziej, Mark Szepieniec, Martial Hue, Medhat Omr, Memo Akten, Michael
Gharbi, MichaëL Defferrard, Milan Straka, @MircoT, @mlucool, Muammar Ibn Faisal,
Nayana Thorat, @nghiattran, Nicholas Connor, Nikolaas Steenbergen, Niraj Patel,
Niranjan Hasabnis, @panmari, Pavel Bulanov, Philip Pries Henningsen, Philipp
Jund, @polonez, Prayag Verma, Rahul Kavi, Raphael Gontijo Lopes, @rasbt, Raven
Iqqe, Reid Pryzant, Richard Shin, Rizwan Asif, Russell Kaplan, Ryo Asakura,
RüDiger Busche, Saisai Shao, Sam Abrahams, @sanosay, Sean Papay, @SeaOtterMan,
@selay01, Shaurya Sharma, Sriram Narayanamoorthy, Stefano Probst, @taknevski,
@tbonza, @teldridge11, Yuan (Terry) Tang, Tim Anglade, Tomas Reimers, Tomer Gafner,
Valentin Iovene, Vamsi Sripathi, Viktor Malyi, Vit Stepanovs, Vivek Rane, Vlad
Firoiu, @wangg12, @will, Xiaoyu Tao, Yaroslav Bulatov, Yuan (Terry) Tang,
@yufeng, Yuming Wang, Yuxin Wu, Zafar Takhirov, 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 1.0.1

08 Mar 01:01
Compare
Choose a tag to compare

Bug Fixes and Other Changes

  • Change GraphConstructor to not increase the version when importing, but instead take the min of all versions.
  • Google Cloud Storage fixes.
  • Removed tf.core and tf.python modules from the API. These were never intended to be exposed. Please use the same objects through top-level tf module instead.

TensorFlow 1.0.0

15 Feb 17:46
Compare
Choose a tag to compare

Major Features and Improvements

  • XLA (experimental): initial release of XLA, a domain-specific compiler for TensorFlow graphs, that targets CPUs and GPUs.
  • TensorFlow Debugger (tfdbg): command-line interface and API.
  • New python 3 docker images added.
  • Made pip packages pypi compliant. TensorFlow can now be installed by pip install tensorflow command.
  • Several python API calls have been changed to resemble NumPy more closely.
  • New (experimental) Java API.
  • Android: new person detection + tracking demo implementing "Scalable Object Detection using Deep Neural Networks" (with additional YOLO object detector support)
  • Android: new camera-based image stylization demo based on "A Learned Representation For Artistic Style"

Breaking Changes to the API

To help you upgrade your existing TensorFlow Python code to match the API changes below, we have prepared a conversion script.

  • TensorFlow/models have been moved to a separate github repository.
  • Division and modulus operators (/, //, %) now match Python (flooring)
    semantics. This applies to tf.div and tf.mod as well. To obtain forced
    integer truncation based behaviors you can use tf.truncatediv
    and tf.truncatemod.
  • tf.divide() is now the recommended division function. tf.div() will
    remain, but its semantics do not respond to Python 3 or from future
    mechanisms.
  • tf.reverse() now takes indices of axes to be reversed. E.g.
    tf.reverse(a, [True, False, True]) must now be written as
    tf.reverse(a, [0, 2]). tf.reverse_v2() will remain until 1.0 final.
  • tf.mul, tf.sub and tf.neg are deprecated in favor of tf.multiply,
    tf.subtract and tf.negative.
  • tf.pack and tf.unpack are deprecated in favor of tf.stack and
    tf.unstack.
  • TensorArray.pack and TensorArray.unpack are getting deprecated in favor of
    TensorArray.stack and TensorArray.unstack.
  • The following Python functions have had their arguments changed to use axis
    when referring to specific dimensions. We have kept the old keyword arguments
    for compatibility currently, but we will be removing them well before the
    final 1.0.
    • tf.argmax: dimension becomes axis
    • tf.argmin: dimension becomes axis
    • tf.count_nonzero: reduction_indices becomes axis
    • tf.expand_dims: dim becomes axis
    • tf.reduce_all: reduction_indices becomes axis
    • tf.reduce_any: reduction_indices becomes axis
    • tf.reduce_join: reduction_indices becomes axis
    • tf.reduce_logsumexp: reduction_indices becomes axis
    • tf.reduce_max: reduction_indices becomes axis
    • tf.reduce_mean: reduction_indices becomes axis
    • tf.reduce_min: reduction_indices becomes axis
    • tf.reduce_prod: reduction_indices becomes axis
    • tf.reduce_sum: reduction_indices becomes axis
    • tf.reverse_sequence: batch_dim becomes batch_axis, seq_dim becomes seq_axis
    • tf.sparse_concat: concat_dim becomes axis
    • tf.sparse_reduce_sum: reduction_axes becomes axis
    • tf.sparse_reduce_sum_sparse: reduction_axes becomes axis
    • tf.sparse_split: split_dim becomes axis
  • tf.listdiff has been renamed to tf.setdiff1d to match NumPy naming.
  • tf.inv has been renamed to be tf.reciprocal (component-wise reciprocal)
    to avoid confusion with np.inv which is matrix inversion
  • tf.round now uses banker's rounding (round to even) semantics to match NumPy.
  • tf.split now takes arguments in a reversed order and with different
    keywords. In particular, we now match NumPy order as
    tf.split(value, num_or_size_splits, axis).
  • tf.sparse_split now takes arguments in reversed order and with different
    keywords. In particular we now match NumPy order as
    tf.sparse_split(sp_input, num_split, axis). NOTE: we have temporarily
    made tf.sparse_split require keyword arguments.
  • tf.concat now takes arguments in reversed order and with different keywords. In particular we now match NumPy order as tf.concat(values, axis, name).
  • tf.image.decode_jpeg by default uses the faster DCT method, sacrificing
    a little fidelity for improved speed. One can revert to the old
    behavior by specifying the attribute dct_method='INTEGER_ACCURATE'.
  • tf.complex_abs has been removed from the Python interface. tf.abs
    supports complex tensors and should be used instead.
  • Template.var_scope property renamed to .variable_scope
  • SyncReplicasOptimizer is removed and SyncReplicasOptimizerV2 renamed to SyncReplicasOptimizer.
  • tf.zeros_initializer() and tf.ones_initializer() now return a callable
    that must be called with initializer arguments, in your code replace
    tf.zeros_initializer with tf.zeros_initializer().
  • SparseTensor.shape has been renamed to SparseTensor.dense_shape. Same for
    SparseTensorValue.shape.
  • Replace tf.scalar_summary, tf.histogram_summary, tf.audio_summary, tf.image_summary with tf.summary.scalar, tf.summary.histogram, tf.summary.audio, tf.summary.image, respectively. The new summary ops take name rather than tag as their first argument, meaning summary ops now respect TensorFlow name scopes.
  • Replace tf.train.SummaryWriter and tf.train.SummaryWriterCache with tf.summary.FileWriter and tf.summary.FileWriterCache.
  • Removes RegisterShape from public API. Use C++ shape function registration
    instead.
  • Deprecated _ref dtypes from the python API.
  • In the C++ API (in tensorflow/cc), Input, Output, etc. have moved
    from the tensorflow::ops namespace to tensorflow.
  • Change arg order for {softmax,sparse_softmax,sigmoid}_cross_entropy_with_logits to be (labels, predictions), and force use of named args.
  • tf.nn.rnn_cell.* and most functions in tf.nn.rnn.* (with the exception of dynamic_rnn and raw_rnn) are temporarily in tf.contrib.rnn. They will be moved back into core for TF 1.1.

Bug Fixes and Other Changes

  • Numerous C++ API updates.
  • New op: parallel_stack.
  • Introducing common tf io compression options constants for
    RecordReader/RecordWriter.
  • Add sparse_column_with_vocabulary_file, to specify a feature column that
    transform string features to IDs, where the mapping is defined by a vocabulary
    file.
  • Added index_to_string_table which returns a lookup table that maps indices to
    strings.
  • Add string_to_index_table, which returns a lookup table that matches strings
    to indices.
  • Add a ParallelForWithWorkerId function.
  • Add string_to_index_table, which returns a lookup table that matches strings
    to indices.
  • Support restore session from checkpoint files in v2 in contrib/session_bundle.
  • Added a tf.contrib.image.rotate function for arbitrary angles.
  • Added tf.contrib.framework.filter_variables as a convenience function to
    filter lists of variables based on regular expressions.
  • make_template() takes an optional custom_getter_ param.
  • Added comment about how existing directories are handled by
    recursive_create_dir.
  • Added an op for QR factorizations.
  • Divides and mods in Python API now use flooring (Python) semantics.
  • Android: pre-built libs are now built nightly.
  • Android: cmake/gradle build for TensorFlow Inference library under
    contrib/android/cmake
  • Android: Much more robust Session initialization code.
  • Android: TF stats now exposed directly in demo and log when debug mode is
    active
  • Android: new/better README.md documentation
  • saved_model is available as tf.saved_model.
  • Empty op is now stateful.
  • Improve speed of scatter_update on the cpu for ASSIGN operations.
  • Change reduce_join to treat reduction_indices in the same way as other reduce_ ops.
  • Move TensorForestEstimator to contrib/tensor_forest.
  • Enable compiler optimizations by default and allow configuration in configure.
  • tf.divide now honors the name field.
  • Make metrics weight broadcasting more strict.
  • Add new queue-like StagingArea and new ops: stage and unstage.
  • Enable inplace update ops for strings on CPU. Speed up string concat.

Thanks to our Contributors

This release contains contributions from many people at Google, as well as:

Aaron Hu, Abhishek Aggarwal, Adam Michael, Adriano Carmezim, @AfirSraftGarrier,
Alexander Novikov, Alexander Rosenberg Johansen, Andrew Gibiansky, Andrew Hundt,
Anish Shah, Anton Loss, @b0noI, @BoyuanJiang, Carl Thomé, Chad Kennedy, Comic
Chang, Connor Braa, Daniel N. Lang, Daniel Trebbien,
@danielgordon10, Darcy Liu, Darren Garvey, Dmitri Lapin, Eron Wright, Evan
Cofer, Fabrizio Milo, Finbarr Timbers, Franck Dernoncourt, Garrett Smith,
@guschmue, Hao Wei, Henrik Holst, Huazuo Gao, @ian, @issac, Jacob Israel,
Jangsoo Park, Jin Kim, Jingtian Peng, John Pope, Kye Bostelmann, Liangliang He,
Ling Zhang, Luheng He, Luke Iwanski, @lvli, Michael Basilyan, Mihir Patel,
Mikalai Drabovich, Morten Just, @newge, Nick Butlin, Nishant Shukla,
Pengfei Ni, Przemyslaw Tredak, @rasbt, @ronny, Rudolf Rosa, @RustingSword,
Sam Abrahams, Sam Putnam, @seongahjo, Shi Jiaxin, @skavulya, Steffen MüLler,
@TheUSER123, @tiriplicamihai, @vhasanov, Victor Costan, Vit Stepanovs,
Wangda Tan, Wenjian Huang, Xingdong Zuo, Yaroslav Bulatov, Yota Toyama,
Yuan (Terry) Tang, Yuxin Wu

We are also grateful to all who filed issues or helped resolve them, asked and
answered questions, and were part of inspiring discussions.

TensorFlow 1.0.0-rc2

09 Feb 02:39
Compare
Choose a tag to compare
TensorFlow 1.0.0-rc2 Pre-release
Pre-release

Major Features and Improvements

  • XLA (experimental): initial release of XLA, a domain-specific compiler for TensorFlow graphs, that targets CPUs and GPUs.
  • TensorFlow Debugger (tfdbg): command-line interface and API.
  • New python 3 docker images added.
  • Made pip packages pypi compliant. TensorFlow can now be installed by pip install tensorflow command.
  • Several python API calls have been changed to resemble NumPy more closely.
  • New (experimental) Java API.
  • Android: new person detection + tracking demo implementing "Scalable Object Detection using Deep Neural Networks" (with additional YOLO object detector support)
  • Android: new camera-based image stylization demo based on "A Learned Representation For Artistic Style"

Breaking Changes to the API

To help you upgrade your existing TensorFlow Python code to match the API changes below, we have prepared a conversion script.

  • TensorFlow/models have been moved to a separate github repository.
  • Division and modulus operators (/, //, %) now match Python (flooring)
    semantics. This applies to tf.div and tf.mod as well. To obtain forced
    integer truncation based behaviors you can use tf.truncatediv
    and tf.truncatemod.
  • tf.divide() is now the recommended division function. tf.div() will
    remain, but its semantics do not respond to Python 3 or from future
    mechanisms.
  • tf.reverse() now takes indices of axes to be reversed. E.g.
    tf.reverse(a, [True, False, True]) must now be written as
    tf.reverse(a, [0, 2]). tf.reverse_v2() will remain until 1.0 final.
  • tf.mul, tf.sub and tf.neg are deprecated in favor of tf.multiply,
    tf.subtract and tf.negative.
  • tf.pack and tf.unpack are deprecated in favor of tf.stack and
    tf.unstack.
  • TensorArray.pack and TensorArray.unpack are getting deprecated in favor of
    TensorArray.stack and TensorArray.unstack.
  • The following Python functions have had their arguments changed to use axis
    when referring to specific dimensions. We have kept the old keyword arguments
    for compatibility currently, but we will be removing them well before the
    final 1.0.
    • tf.argmax: dimension becomes axis
    • tf.argmin: dimension becomes axis
    • tf.count_nonzero: reduction_indices becomes axis
    • tf.expand_dims: dim becomes axis
    • tf.reduce_all: reduction_indices becomes axis
    • tf.reduce_any: reduction_indices becomes axis
    • tf.reduce_join: reduction_indices becomes axis
    • tf.reduce_logsumexp: reduction_indices becomes axis
    • tf.reduce_max: reduction_indices becomes axis
    • tf.reduce_mean: reduction_indices becomes axis
    • tf.reduce_min: reduction_indices becomes axis
    • tf.reduce_prod: reduction_indices becomes axis
    • tf.reduce_sum: reduction_indices becomes axis
    • tf.reverse_sequence: batch_dim becomes batch_axis, seq_dim becomes seq_axis
    • tf.sparse_concat: concat_dim becomes axis
    • tf.sparse_reduce_sum: reduction_axes becomes axis
    • tf.sparse_reduce_sum_sparse: reduction_axes becomes axis
    • tf.sparse_split: split_dim becomes axis
  • tf.listdiff has been renamed to tf.setdiff1d to match NumPy naming.
  • tf.inv has been renamed to be tf.reciprocal (component-wise reciprocal)
    to avoid confusion with np.inv which is matrix inversion
  • tf.round now uses banker's rounding (round to even) semantics to match NumPy.
  • tf.split now takes arguments in a reversed order and with different
    keywords. In particular, we now match NumPy order as
    tf.split(value, num_or_size_splits, axis).
  • tf.sparse_split now takes arguments in reversed order and with different
    keywords. In particular we now match NumPy order as
    tf.sparse_split(sp_input, num_split, axis). NOTE: we have temporarily
    made tf.sparse_split require keyword arguments.
  • tf.concat now takes arguments in reversed order and with different keywords. In particular we now match NumPy order as tf.concat(values, axis, name).
  • tf.image.decode_jpeg by default uses the faster DCT method, sacrificing
    a little fidelity for improved speed. One can revert to the old
    behavior by specifying the attribute dct_method='INTEGER_ACCURATE'.
  • tf.complex_abs has been removed from the Python interface. tf.abs
    supports complex tensors and should be used instead.
  • Template.var_scope property renamed to .variable_scope
  • SyncReplicasOptimizer is removed and SyncReplicasOptimizerV2 renamed to SyncReplicasOptimizer.
  • tf.zeros_initializer() and tf.ones_initializer() now return a callable
    that must be called with initializer arguments, in your code replace
    tf.zeros_initializer with tf.zeros_initializer().
  • SparseTensor.shape has been renamed to SparseTensor.dense_shape. Same for
    SparseTensorValue.shape.
  • Replace tf.scalar_summary, tf.histogram_summary, tf.audio_summary, tf.image_summary with tf.summary.scalar, tf.summary.histogram, tf.summary.audio, tf.summary.image, respectively. The new summary ops take name rather than tag as their first argument, meaning summary ops now respect TensorFlow name scopes.
  • Replace tf.train.SummaryWriter and tf.train.SummaryWriterCache with tf.summary.FileWriter and tf.summary.FileWriterCache.
  • Removes RegisterShape from public API. Use C++ shape function registration
    instead.
  • Deprecated _ref dtypes from the python API.
  • In the C++ API (in tensorflow/cc), Input, Output, etc. have moved
    from the tensorflow::ops namespace to tensorflow.
  • Change arg order for {softmax,sparse_softmax,sigmoid}_cross_entropy_with_logits to be (labels, predictions), and force use of named args.

Bug Fixes and Other Changes

  • New op: parallel_stack.
  • Introducing common tf io compression options constants for
    RecordReader/RecordWriter.
  • Add sparse_column_with_vocabulary_file, to specify a feature column that
    transform string features to IDs, where the mapping is defined by a vocabulary
    file.
  • Added index_to_string_table which returns a lookup table that maps indices to
    strings.
  • Add string_to_index_table, which returns a lookup table that matches strings
    to indices.
  • Add a ParallelForWithWorkerId function.
  • Add string_to_index_table, which returns a lookup table that matches strings
    to indices.
  • Support restore session from checkpoint files in v2 in contrib/session_bundle.
  • Added a tf.contrib.image.rotate function for arbitrary angles.
  • Added tf.contrib.framework.filter_variables as a convenience function to
    filter lists of variables based on regular expressions.
  • make_template() takes an optional custom_getter_ param.
  • Added comment about how existing directories are handled by
    recursive_create_dir.
  • Added an op for QR factorizations.
  • Divides and mods in Python API now use flooring (Python) semantics.
  • Android: pre-built libs are now built nightly.
  • Android: cmake/gradle build for TensorFlow Inference library under
    contrib/android/cmake
  • Android: Much more robust Session initialization code.
  • Android: TF stats now exposed directly in demo and log when debug mode is
    active
  • Android: new/better README.md documentation
  • saved_model is available as tf.saved_model.
  • Empty op is now stateful.
  • Improve speed of scatter_update on the cpu for ASSIGN operations.
  • Change reduce_join to treat reduction_indices in the same way as other reduce_ ops.
  • Move TensorForestEstimator to contrib/tensor_forest.
  • Enable compiler optimizations by default and allow configuration in configure.
  • tf.divide now honors the name field.
  • Make metrics weight broadcasting more strict.
  • Add new queue-like StagingArea and new ops: stage and unstage.

Thanks to our Contributors

This release contains contributions from many people at Google, as well as:

Aaron Hu, Abhishek Aggarwal, Adam Michael, Adriano Carmezim, @AfirSraftGarrier,
Alexander Novikov, Alexander Rosenberg Johansen, Andrew Gibiansky, Andrew Hundt,
Anish Shah, Anton Loss, @b0noI, @BoyuanJiang, Carl Thomé, Chad Kennedy, Comic
Chang, Connor Braa, Daniel N. Lang, Daniel Trebbien,
@danielgordon10, Darcy Liu, Darren Garvey, Dmitri Lapin, Eron Wright, Evan
Cofer, Fabrizio Milo, Finbarr Timbers, Franck Dernoncourt, Garrett Smith,
@guschmue, Hao Wei, Henrik Holst, Huazuo Gao, @ian, @issac, Jacob Israel,
Jangsoo Park, Jin Kim, Jingtian Peng, John Pope, Kye Bostelmann, Liangliang He,
Ling Zhang, Luheng He, Luke Iwanski, @lvli, Michael Basilyan, Mihir Patel,
Mikalai Drabovich, Morten Just, @newge, Nick Butlin, Nishant Shukla,
Pengfei Ni, Przemyslaw Tredak, @rasbt, @ronny, Rudolf Rosa, @RustingSword,
Sam Abrahams, Sam Putnam, @seongahjo, Shi Jiaxin, @skavulya, Steffen MüLler,
@TheUSER123, @tiriplicamihai, @vhasanov, Victor Costan, Vit Stepanovs,
Wangda Tan, Wenjian Huang, Xingdong Zuo, Yaroslav Bulatov, Yota Toyama,
Yuan (Terry) Tang, Yuxin Wu

We are also grateful to all who filed issues or helped resolve them, asked and
answered questions, and were part of inspiring discussions.

TensorFlow 1.0.0-rc1

04 Feb 02:29
Compare
Choose a tag to compare
TensorFlow 1.0.0-rc1 Pre-release
Pre-release

Major Features and Improvements

  • XLA (experimental): initial release of XLA, a domain-specific compiler for TensorFlow graphs, that targets CPUs and GPUs.
  • TensorFlow Debugger (tfdbg): command-line interface and API.
  • New python 3 docker images added.
  • Made pip packages pypi compliant. TensorFlow can now be installed by pip install tensorflow command.
  • Several python API calls have been changed to resemble NumPy more closely.
  • New (experimental) Java API.
  • Android: new person detection + tracking demo implementing "Scalable Object Detection using Deep Neural Networks" (with additional YOLO object detector support)
  • Android: new camera-based image stylization demo based on "A Learned Representation For Artistic Style"

Breaking Changes to the API

To help you upgrade your existing TensorFlow Python code to match the API changes below, we have prepared a conversion script.

  • TensorFlow/models have been moved to a separate github repository.
  • Division and modulus operators (/, //, %) now match Python (flooring)
    semantics. This applies to tf.div and tf.mod as well. To obtain forced
    integer truncation based behaviors you can use tf.truncatediv
    and tf.truncatemod.
  • tf.divide() is now the recommended division function. tf.div() will
    remain, but its semantics do not respond to Python 3 or from future
    mechanisms.
  • tf.reverse() now takes indices of axes to be reversed. E.g.
    tf.reverse(a, [True, False, True]) must now be written as
    tf.reverse(a, [0, 2]). tf.reverse_v2() will remain until 1.0 final.
  • tf.mul, tf.sub and tf.neg are deprecated in favor of tf.multiply,
    tf.subtract and tf.negative.
  • tf.pack and tf.unpack are deprecated in favor of tf.stack and
    tf.unstack.
  • TensorArray.pack and TensorArray.unpack are getting deprecated in favor of
    TensorArray.stack and TensorArray.unstack.
  • The following Python functions have had their arguments changed to use axis
    when referring to specific dimensions. We have kept the old keyword arguments
    for compatibility currently, but we will be removing them well before the
    final 1.0.
    • tf.argmax: dimension becomes axis
    • tf.argmin: dimension becomes axis
    • tf.count_nonzero: reduction_indices becomes axis
    • tf.expand_dims: dim becomes axis
    • tf.reduce_all: reduction_indices becomes axis
    • tf.reduce_any: reduction_indices becomes axis
    • tf.reduce_join: reduction_indices becomes axis
    • tf.reduce_logsumexp: reduction_indices becomes axis
    • tf.reduce_max: reduction_indices becomes axis
    • tf.reduce_mean: reduction_indices becomes axis
    • tf.reduce_min: reduction_indices becomes axis
    • tf.reduce_prod: reduction_indices becomes axis
    • tf.reduce_sum: reduction_indices becomes axis
    • tf.reverse_sequence: batch_dim becomes batch_axis, seq_dim becomes seq_axis
    • tf.sparse_concat: concat_dim becomes axis
    • tf.sparse_reduce_sum: reduction_axes becomes axis
    • tf.sparse_reduce_sum_sparse: reduction_axes becomes axis
    • tf.sparse_split: split_dim becomes axis
  • tf.listdiff has been renamed to tf.setdiff1d to match NumPy naming.
  • tf.inv has been renamed to be tf.reciprocal (component-wise reciprocal)
    to avoid confusion with np.inv which is matrix inversion
  • tf.round now uses banker's rounding (round to even) semantics to match NumPy.
  • tf.split now takes arguments in a reversed order and with different
    keywords. In particular, we now match NumPy order as
    tf.split(value, num_or_size_splits, axis).
  • tf.sparse_split now takes arguments in reversed order and with different
    keywords. In particular we now match NumPy order as
    tf.sparse_split(sp_input, num_split, axis). NOTE: we have temporarily
    made tf.sparse_split require keyword arguments.
  • tf.concat now takes arguments in reversed order and with different keywords. In particular we now match NumPy order as tf.concat(values, axis, name).
  • tf.image.decode_jpeg by default uses the faster DCT method, sacrificing
    a little fidelity for improved speed. One can revert to the old
    behavior by specifying the attribute dct_method='INTEGER_ACCURATE'.
  • tf.complex_abs has been removed from the Python interface. tf.abs
    supports complex tensors and should be used instead.
  • Template.var_scope property renamed to .variable_scope
  • SyncReplicasOptimizer is removed and SyncReplicasOptimizerV2 renamed to SyncReplicasOptimizer.
  • tf.zeros_initializer() and tf.ones_initializer() now return a callable
    that must be called with initializer arguments, in your code replace
    tf.zeros_initializer with tf.zeros_initializer().
  • SparseTensor.shape has been renamed to SparseTensor.dense_shape. Same for
    SparseTensorValue.shape.
  • Replace tf.scalar_summary, tf.histogram_summary, tf.audio_summary, tf.image_summary with tf.summary.scalar, tf.summary.histogram, tf.summary.audio, tf.summary.image, respectively. The new summary ops take name rather than tag as their first argument, meaning summary ops now respect TensorFlow name scopes.
  • Replace tf.train.SummaryWriter and tf.train.SummaryWriterCache with tf.summary.FileWriter and tf.summary.FileWriterCache.
  • Removes RegisterShape from public API. Use C++ shape function registration
    instead.
  • Deprecated _ref dtypes from the python API.
  • In the C++ API (in tensorflow/cc), Input, Output, etc. have moved
    from the tensorflow::ops namespace to tensorflow.
  • Change arg order for {softmax,sparse_softmax,sigmoid}_cross_entropy_with_logits to be (labels, predictions), and force use of named args.

Bug Fixes and Other Changes

  • New op: parallel_stack.
  • Introducing common tf io compression options constants for
    RecordReader/RecordWriter.
  • Add sparse_column_with_vocabulary_file, to specify a feature column that
    transform string features to IDs, where the mapping is defined by a vocabulary
    file.
  • Added index_to_string_table which returns a lookup table that maps indices to
    strings.
  • Add string_to_index_table, which returns a lookup table that matches strings
    to indices.
  • Add a ParallelForWithWorkerId function.
  • Add string_to_index_table, which returns a lookup table that matches strings
    to indices.
  • Support restore session from checkpoint files in v2 in contrib/session_bundle.
  • Added a tf.contrib.image.rotate function for arbitrary angles.
  • Added tf.contrib.framework.filter_variables as a convenience function to
    filter lists of variables based on regular expressions.
  • make_template() takes an optional custom_getter_ param.
  • Added comment about how existing directories are handled by
    recursive_create_dir.
  • Added an op for QR factorizations.
  • Divides and mods in Python API now use flooring (Python) semantics.
  • Android: pre-built libs are now built nightly.
  • Android: cmake/gradle build for TensorFlow Inference library under
    contrib/android/cmake
  • Android: Much more robust Session initialization code.
  • Android: TF stats now exposed directly in demo and log when debug mode is
    active
  • Android: new/better README.md documentation
  • saved_model is available as tf.saved_model.
  • Empty op is now stateful.
  • Improve speed of scatter_update on the cpu for ASSIGN operations.
  • Change reduce_join to treat reduction_indices in the same way as other reduce_ ops.
  • Move TensorForestEstimator to contrib/tensor_forest.
  • Enable compiler optimizations by default and allow configuration in configure.
  • tf.divide now honors the name field.
  • Make metrics weight broadcasting more strict.
  • Add new queue-like StagingArea and new ops: stage and unstage.

Thanks to our Contributors

This release contains contributions from many people at Google, as well as:

Aaron Hu, Abhishek Aggarwal, Adam Michael, Adriano Carmezim, @AfirSraftGarrier,
Alexander Novikov, Alexander Rosenberg Johansen, Andrew Gibiansky, Andrew Hundt,
Anish Shah, Anton Loss, @b0noI, @BoyuanJiang, Carl Thomé, Chad Kennedy, Comic
Chang, Connor Braa, Daniel N. Lang, Daniel Trebbien,
@danielgordon10, Darcy Liu, Darren Garvey, Dmitri Lapin, Eron Wright, Evan
Cofer, Fabrizio Milo, Finbarr Timbers, Franck Dernoncourt, Garrett Smith,
@guschmue, Hao Wei, Henrik Holst, Huazuo Gao, @ian, @issac, Jacob Israel,
Jangsoo Park, Jin Kim, Jingtian Peng, John Pope, Kye Bostelmann, Liangliang He,
Ling Zhang, Luheng He, Luke Iwanski, @lvli, Michael Basilyan, Mihir Patel,
Mikalai Drabovich, Morten Just, @newge, Nick Butlin, Nishant Shukla,
Pengfei Ni, Przemyslaw Tredak, @rasbt, @ronny, Rudolf Rosa, @RustingSword,
Sam Abrahams, Sam Putnam, @seongahjo, Shi Jiaxin, @skavulya, Steffen MüLler,
@TheUSER123, @tiriplicamihai, @vhasanov, Victor Costan, Vit Stepanovs,
Wangda Tan, Wenjian Huang, Xingdong Zuo, Yaroslav Bulatov, Yota Toyama,
Yuan (Terry) Tang, Yuxin Wu

We are also grateful to all who filed issues or helped resolve them, asked and
answered questions, and were part of inspiring discussions.

TensorFlow 1.0.0-rc0

26 Jan 20:47
Compare
Choose a tag to compare
TensorFlow 1.0.0-rc0 Pre-release
Pre-release

Major Features and Improvements

  • XLA (experimental): initial release of XLA, a domain-specific compiler for TensorFlow graphs, that targets CPUs and GPUs.
  • TensorFlow Debugger (tfdbg): command-line interface and API.
  • New python 3 docker images added.
  • Made pip packages pypi compliant. TensorFlow can now be installed by pip install tensorflow command.
  • Several python API calls have been changed to resemble NumPy more closely.
  • New (experimental) Java API.
  • Android: new person detection + tracking demo implementing "Scalable Object Detection using Deep Neural Networks" (with additional YOLO object detector support)
  • Android: new camera-based image stylization demo based on "A Learned Representation For Artistic Style"

Breaking Changes to the API

To help you upgrade your existing TensorFlow Python code to match the API changes below, we have prepared a conversion script.

  • TensorFlow/models have been moved to a separate github repository.
  • Division and modulus operators (/, //, %) now match Python (flooring)
    semantics. This applies to tf.div and tf.mod as well. To obtain forced
    integer truncation based behaviors you can use tf.truncatediv
    and tf.truncatemod.
  • tf.divide() is now the recommended division function. tf.div() will
    remain, but its semantics do not respond to Python 3 or from future
    mechanisms.
  • tf.reverse() now takes indices of axes to be reversed. E.g.
    tf.reverse(a, [True, False, True]) must now be written as
    tf.reverse(a, [0, 2]). tf.reverse_v2() will remain until 1.0 final.
  • tf.mul, tf.sub and tf.neg are deprecated in favor of tf.multiply,
    tf.subtract and tf.negative.
  • tf.pack and tf.unpack are deprecated in favor of tf.stack and
    tf.unstack.
  • TensorArray.pack and TensorArray.unpack are getting deprecated in favor of
    TensorArray.stack and TensorArray.unstack.
  • The following Python functions have had their arguments changed to use axis
    when referring to specific dimensions. We have kept the old keyword arguments
    for compatibility currently, but we will be removing them well before the
    final 1.0.
    • tf.argmax: dimension becomes axis
    • tf.argmin: dimension becomes axis
    • tf.count_nonzero: reduction_indices becomes axis
    • tf.expand_dims: dim becomes axis
    • tf.reduce_all: reduction_indices becomes axis
    • tf.reduce_any: reduction_indices becomes axis
    • tf.reduce_join: reduction_indices becomes axis
    • tf.reduce_logsumexp: reduction_indices becomes axis
    • tf.reduce_max: reduction_indices becomes axis
    • tf.reduce_mean: reduction_indices becomes axis
    • tf.reduce_min: reduction_indices becomes axis
    • tf.reduce_prod: reduction_indices becomes axis
    • tf.reduce_sum: reduction_indices becomes axis
    • tf.reverse_sequence: batch_dim becomes batch_axis, seq_dim becomes seq_axis
    • tf.sparse_concat: concat_dim becomes axis
    • tf.sparse_reduce_sum: reduction_axes becomes axis
    • tf.sparse_reduce_sum_sparse: reduction_axes becomes axis
    • tf.sparse_split: split_dim becomes axis
  • tf.listdiff has been renamed to tf.setdiff1d to match NumPy naming.
  • tf.inv has been renamed to be tf.reciprocal (component-wise reciprocal)
    to avoid confusion with np.inv which is matrix inversion
  • tf.round now uses banker's rounding (round to even) semantics to match NumPy.
  • tf.split now takes arguments in a reversed order and with different
    keywords. In particular, we now match NumPy order as
    tf.split(value, num_or_size_splits, axis).
  • tf.sparse_split now takes arguments in reversed order and with different
    keywords. In particular we now match NumPy order as
    tf.sparse_split(sp_input, num_split, axis). NOTE: we have temporarily
    made tf.sparse_split require keyword arguments.
  • tf.concat now takes arguments in reversed order and with different keywords. In particular we now match NumPy order as tf.concat(values, axis, name).
  • tf.image.decode_jpeg by default uses the faster DCT method, sacrificing
    a little fidelity for improved speed. One can revert to the old
    behavior by specifying the attribute dct_method='INTEGER_ACCURATE'.
  • tf.complex_abs has been removed from the Python interface. tf.abs
    supports complex tensors and should be used instead.
  • Template.var_scope property renamed to .variable_scope
  • SyncReplicasOptimizer is removed and SyncReplicasOptimizerV2 renamed to SyncReplicasOptimizer.
  • tf.zeros_initializer() and tf.ones_initializer() now return a callable
    that must be called with initializer arguments, in your code replace
    tf.zeros_initializer with tf.zeros_initializer().
  • SparseTensor.shape has been renamed to SparseTensor.dense_shape. Same for
    SparseTensorValue.shape.
  • Replace tf.scalar_summary, tf.histogram_summary, tf.audio_summary, tf.image_summary with tf.summary.scalar, tf.summary.histogram, tf.summary.audio, tf.summary.image, respectively. The new summary ops take name rather than tag as their first argument, meaning summary ops now respect TensorFlow name scopes.
  • Replace tf.train.SummaryWriter and tf.train.SummaryWriterCache with tf.summary.FileWriter and tf.summary.FileWriterCache.
  • Removes RegisterShape from public API. Use C++ shape function registration
    instead.
  • Deprecated _ref dtypes from the python API.
  • In the C++ API (in tensorflow/cc), Input, Output, etc. have moved
    from the tensorflow::ops namespace to tensorflow.
  • Change arg order for {softmax,sparse_softmax,sigmoid}_cross_entropy_with_logits to be (labels, predictions), and force use of named args.

Bug Fixes and Other Changes

  • New op: parallel_stack.
  • Introducing common tf io compression options constants for
    RecordReader/RecordWriter.
  • Add sparse_column_with_vocabulary_file, to specify a feature column that
    transform string features to IDs, where the mapping is defined by a vocabulary
    file.
  • Added index_to_string_table which returns a lookup table that maps indices to
    strings.
  • Add string_to_index_table, which returns a lookup table that matches strings
    to indices.
  • Add a ParallelForWithWorkerId function.
  • Add string_to_index_table, which returns a lookup table that matches strings
    to indices.
  • Support restore session from checkpoint files in v2 in contrib/session_bundle.
  • Added a tf.contrib.image.rotate function for arbitrary angles.
  • Added tf.contrib.framework.filter_variables as a convenience function to
    filter lists of variables based on regular expressions.
  • make_template() takes an optional custom_getter_ param.
  • Added comment about how existing directories are handled by
    recursive_create_dir.
  • Added an op for QR factorizations.
  • Divides and mods in Python API now use flooring (Python) semantics.
  • Android: pre-built libs are now built nightly.
  • Android: cmake/gradle build for TensorFlow Inference library under
    contrib/android/cmake
  • Android: Much more robust Session initialization code.
  • Android: TF stats now exposed directly in demo and log when debug mode is
    active
  • Android: new/better README.md documentation
  • saved_model is available as tf.saved_model.
  • Empty op is now stateful.
  • Improve speed of scatter_update on the cpu for ASSIGN operations.
  • Change reduce_join to treat reduction_indices in the same way as other reduce_ ops.
  • Move TensorForestEstimator to contrib/tensor_forest.
  • Enable compiler optimizations by default and allow configuration in configure.
  • tf.divide now honors the name field.
  • Make metrics weight broadcasting more strict.
  • Add new queue-like StagingArea and new ops: stage and unstage.

Thanks to our Contributors

This release contains contributions from many people at Google, as well as:

Aaron Hu, Abhishek Aggarwal, Adam Michael, Adriano Carmezim, @AfirSraftGarrier,
Alexander Novikov, Alexander Rosenberg Johansen, Andrew Gibiansky, Andrew Hundt,
Anish Shah, Anton Loss, @b0noI, @BoyuanJiang, Carl Thomé, Chad Kennedy, Comic
Chang, Connor Braa, Daniel N. Lang, Daniel Trebbien,
@danielgordon10, Darcy Liu, Darren Garvey, Dmitri Lapin, Eron Wright, Evan
Cofer, Fabrizio Milo, Finbarr Timbers, Franck Dernoncourt, Garrett Smith,
@guschmue, Hao Wei, Henrik Holst, Huazuo Gao, @ian, @issac, Jacob Israel,
Jangsoo Park, Jin Kim, Jingtian Peng, John Pope, Kye Bostelmann, Liangliang He,
Ling Zhang, Luheng He, Luke Iwanski, @lvli, Michael Basilyan, Mihir Patel,
Mikalai Drabovich, Morten Just, @newge, Nick Butlin, Nishant Shukla,
Pengfei Ni, Przemyslaw Tredak, @rasbt, @ronny, Rudolf Rosa, @RustingSword,
Sam Abrahams, Sam Putnam, @seongahjo, Shi Jiaxin, @skavulya, Steffen MüLler,
@TheUSER123, @tiriplicamihai, @vhasanov, Victor Costan, Vit Stepanovs,
Wangda Tan, Wenjian Huang, Xingdong Zuo, Yaroslav Bulatov, Yota Toyama,
Yuan (Terry) Tang, Yuxin Wu

We are also grateful to all who filed issues or helped resolve them, asked and
answered questions, and were part of inspiring discussions.

TensorFlow 1.0.0-alpha

10 Jan 00:59
Compare
Choose a tag to compare
Pre-release

Major Features and Improvements

  • TensorFlow Debugger (tfdbg): command-line interface and API.
  • New python 3 docker images added.
  • Made pip packages pypi compliant. TensorFlow can now be installed by pip install tensorflow command.
  • Android: person detection + tracking demo implementing Scalable Object
    Detection using Deep Neural Networks.
  • Android: pre-built libs are now built nightly.
  • New (experimental) Java API.

Breaking Changes to the API

  • TensorFlow/models have been moved to a separate github repository.
  • Division and modulus operators (/, //, %) now match Python (flooring)
    semantics. This applies to tf.div and tf.mod as well. To obtain forced
    integer truncation based behaviors you can use tf.truncatediv
    and tf.truncatemod.
  • tf.divide() is now the recommended division function. tf.div() will
    remain, but its semantics do not respond to Python 3 or from future
    mechanisms.
  • tf.reverse() now takes indices of axes to be reversed. E.g.
    tf.reverse(a, [True, False, True]) must now be written as
    tf.reverse(a, [0, 2]). tf.reverse_v2() will remain until 1.0 final.
  • tf.mul, tf.sub and tf.neg are deprecated in favor of tf.multiply,
    tf.subtract and tf.negative.
  • tf.pack and tf.unpack are deprecated in favor of tf.stack and
    tf.unstack.
  • TensorArray.pack and TensorArray.unpack are getting deprecated in favor of
    TensorArray.stack and TensorArray.unstack.
  • The following Python functions have had their arguments changed to use axis
    when referring to specific dimensions. We have kept the old keyword arguments
    for compatibility currently, but we will be removing them well before the
    final 1.0.
    • tf.argmax: dimension becomes axis
    • tf.argmin: dimension becomes axis
    • tf.count_nonzero: reduction_indices becomes axis
    • tf.expand_dims: dim becomes axis
    • tf.reduce_all: reduction_indices becomes axis
    • tf.reduce_any: reduction_indices becomes axis
    • tf.reduce_join: reduction_indices becomes axis
    • tf.reduce_logsumexp: reduction_indices becomes axis
    • tf.reduce_max: reduction_indices becomes axis
    • tf.reduce_mean: reduction_indices becomes axis
    • tf.reduce_min: reduction_indices becomes axis
    • tf.reduce_prod: reduction_indices becomes axis
    • tf.reduce_sum: reduction_indices becomes axis
    • tf.reverse_sequence: batch_dim becomes batch_axis, seq_dim becomes seq_axis
    • tf.sparse_concat: concat_dim becomes axis
    • tf.sparse_reduce_sum: reduction_axes becomes axis
    • tf.sparse_reduce_sum_sparse: reduction_axes becomes axis
    • tf.sparse_split: split_dim becomes axis
  • tf.listdiff has been renamed to tf.setdiff1d to match NumPy naming.
  • tf.inv has been renamed to be tf.reciprocal (component-wise reciprocal)
    to avoid confusion with np.inv which is matrix inversion
  • tf.round now uses banker's rounding (round to even) semantics to match NumPy.
  • tf.split now takes arguments in a reversed order and with different
    keywords. In particular, we now match NumPy order as
    tf.split(value, num_or_size_splits, axis).
  • tf.sparse_split now takes arguments in reversed order and with different
    keywords. In particular we now match NumPy order as
    tf.sparse_split(sp_input, num_split, axis). NOTE: we have temporarily
    made tf.sparse_split require keyword arguments.
  • Deprecated tf.concat operator. Please switch to use tf.concat_v2 for now.
    In the Beta release, we will update tf.concat to match argument order of
    tf.concat_v2.
  • tf.image.decode_jpeg by default uses the faster DCT method, sacrificing
    a little fidelity for improved speed. One can revert to the old
    behavior by specifying the attribute dct_method='INTEGER_ACCURATE'.
  • tf.complex_abs has been removed from the Python interface. tf.abs
    supports complex tensors and should be used instead.
  • Template.var_scope property renamed to .variable_scope
  • SyncReplicasOptimizer is removed and SyncReplicasOptimizerV2 renamed to SyncReplicasOptimizer.
  • tf.zeros_initializer() and tf.ones_initializer() now return a callable
    that must be called with initializer arguments, in your code replace
    tf.zeros_initializer with tf.zeros_initializer().
  • SparseTensor.shape has been renamed to SparseTensor.dense_shape. Same for
    SparseTensorValue.shape.
  • Remove old tf summary ops, like tf.scalar_summary and tf.histogram_summary.
    Use tf.summary.scalar and tf.summary.histogram instead.
  • Remove tf.train.SummaryWriter and tf.train.SummaryWriterCache.
  • Removes RegisterShape from public API. Use C++ shape function registration
    instead.
  • Deprecated _ref dtypes from the python API.

Bug Fixes and Other Changes

  • New op: parallel_stack.
  • Introducing common tf io compression options constants for
    RecordReader/RecordWriter.
  • Add sparse_column_with_vocabulary_file, to specify a feature column that
    transform string features to IDs, where the mapping is defined by a vocabulary
    file.
  • Added index_to_string_table which returns a lookup table that maps indices to
    strings.
  • Add string_to_index_table, which returns a lookup table that matches strings
    to indices.
  • Add a ParallelForWithWorkerId function.
  • Add string_to_index_table, which returns a lookup table that matches strings
    to indices.
  • Support restore session from checkpoint files in v2 in contrib/session_bundle.
  • Added a tf.contrib.image.rotate function for arbitrary angles.
  • Added tf.contrib.framework.filter_variables as a convenience function to
    filter lists of variables based on regular expressions.
  • Remove old tf summary ops, like tf.scalar_summary and tf.histogram_summary.
    Use tf.summary.scalar and tf.summary.histogram instead.
  • make_template() takes an optional custom_getter_ param.
  • Added comment about how existing directories are handled by
    recursive_create_dir.
  • Added an op for QR factorizations.
  • Divides and mods in Python API now use flooring (Python) semantics.
  • Android: cmake/gradle build for TensorFlow Inference library under
    contrib/android/cmake
  • Android: Much more robust Session initialization code.
  • Android: TF stats now exposed directly in demo and log when debug mode is
    active
  • Android: new/better README.md documentation

Thanks to our Contributors

This release contains contributions from many people at Google, as well as:

Aaron Hu, Abhishek Aggarwal, Adam Michael, Adriano Carmezim, @AfirSraftGarrier,
Alexander Novikov, Alexander Rosenberg Johansen, Andrew Gibiansky, Andrew Hundt,
Anish Shah, Anton Loss, @b0noI, @BoyuanJiang, Carl Thomé, Chad Kennedy, Comic
Chang, Connor Braa, Daniel N. Lang, Daniel Trebbien,
@danielgordon10, Darcy Liu, Darren Garvey, Dmitri Lapin, Eron Wright, Evan
Cofer, Fabrizio Milo, Finbarr Timbers, Franck Dernoncourt, Garrett Smith,
@guschmue, Hao Wei, Henrik Holst, Huazuo Gao, @ian, @issac, Jacob Israel,
Jangsoo Park, Jin Kim, Jingtian Peng, John Pope, Kye Bostelmann, Liangliang He,
Ling Zhang, Luheng He, Luke Iwanski, @lvli, Michael Basilyan, Mihir Patel,
Mikalai Drabovich, Morten Just, @newge, Nick Butlin, Nishant Shukla,
Pengfei Ni, Przemyslaw Tredak, @rasbt, @ronny, Rudolf Rosa, @RustingSword,
Sam Abrahams, Sam Putnam, @seongahjo, Shi Jiaxin, @skavulya, Steffen MüLler,
@TheUSER123, @tiriplicamihai, @vhasanov, Victor Costan, Vit Stepanovs,
Wangda Tan, Wenjian Huang, Xingdong Zuo, Yaroslav Bulatov, Yota Toyama,
Yuan (Terry) Tang, Yuxin Wu

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.12.1

29 Dec 23:13
Compare
Choose a tag to compare

Bug fixes and minor changes.

TensorFlow v0.12.0

20 Dec 21:56
Compare
Choose a tag to compare

Bug fixes and minor changes.

TensorFlow v0.12.0 RC1

12 Dec 18:32
Compare
Choose a tag to compare
Pre-release

Bug fixes and minor changes.