Dan Mané | e5bcf54 | 2016-05-16 13:39:34 -0800 | [diff] [blame] | 1 | # Changes Since Last Release |
| 2 | |
| 3 | ## Features & Improvements |
| 4 | * TensorBoard now has an Audio Dashboard, with associated audio summaries. |
| 5 | * TensorBoard now has a reload button, and supports auto-reloading |
| 6 | * TensorBoard scalar charts now show tooltips with more information |
| 7 | * TensorBoard now supports run filtering |
| 8 | * TensorBoard has color changes: the same run always gets the same hue |
| 9 | |
| 10 | ## Bug Fixes and Other Changes |
| 11 | * TensorBoard now displays graphs with only one data point |
| 12 | * TensorBoard now visually displays NaN values |
A. Unique TensorFlower | 4ea0733 | 2016-05-24 04:19:11 -0800 | [diff] [blame^] | 13 | * `tf.nn.moments()` now accepts a `shift` argument. Shifting by a good estimate |
| 14 | of the mean improves numerical stability. Also changes the behavior of the |
| 15 | `shift` argument to `tf.nn.sufficient_statistics()`. |
Dan Mané | e5bcf54 | 2016-05-16 13:39:34 -0800 | [diff] [blame] | 16 | |
Illia Polosukhin | 5c9bc51 | 2016-04-18 17:56:51 -0800 | [diff] [blame] | 17 | # Release 0.8.0 |
| 18 | |
| 19 | ## Major Features and Improvements |
| 20 | |
| 21 | * Added a distributed runtime using GRPC |
| 22 | * Move skflow to `contrib/learn` |
| 23 | * Better linear optimizer in `contrib/linear_optimizer` |
| 24 | * Random forest implementation in `contrib/tensor_forest` |
| 25 | * CTC loss and decoders in `contrib/ctc` |
| 26 | * Basic support for `half` data type |
| 27 | * Better support for loading user ops (see examples in `contrib/`) |
| 28 | * Allow use of (non-blocking) Eigen threadpool with `TENSORFLOW_USE_EIGEN_THREADPOOL` define |
| 29 | * Add an extension mechanism for adding network file system support |
| 30 | * TensorBoard displays metadata stats (running time, memory usage and device used) and tensor shapes |
| 31 | |
| 32 | ## Big Fixes and Other Changes |
| 33 | |
| 34 | * Utility for inspecting checkpoints |
| 35 | * Basic tracing and timeline support |
| 36 | * Allow building against cuDNN 5 (not incl. RNN/LSTM support) |
| 37 | * Added instructions and binaries for ProtoBuf library with fast serialization and without 64MB limit |
| 38 | * Added special functions |
| 39 | * `bool`-strictness: Tensors have to be explictly compared to `None` |
| 40 | * Shape strictness: all fed values must have a shape that is compatible with the tensor they are replacing |
| 41 | * Exposed `tf.while_loop` (deprecated `control_flow_ops.While`) |
| 42 | * run() now takes RunOptions and RunMetadata, which enable timing stats |
| 43 | * Fixed lots of potential overflow problems in op kernels |
| 44 | * Various performance improvements, especially for RNNs and convolutions |
| 45 | * Many bugfixes |
| 46 | * Nightly builds, tutorial tests, many test improvements |
| 47 | * New examples: transfer learning and deepdream ipython notebook |
| 48 | * Added tutorials, many documentation fixes. |
| 49 | |
| 50 | ## Thanks to our Contributors |
| 51 | |
| 52 | This release contains contributions from many people at Google, as well as: |
| 53 | |
| 54 | Abhinav Upadhyay, Aggelos Avgerinos, Alan Wu, Alexander G. de G. Matthews, Aleksandr Yahnev, @amchercashin, Andy Kitchen, Aurelien Geron, Awni Hannun, @BanditCat, Bas Veeling, Cameron Chen, @cg31, Cheng-Lung Sung, Christopher Bonnett, Dan Becker, Dan Van Boxel, Daniel Golden, Danijar Hafner, Danny Goodman, Dave Decker, David Dao, David Kretch, Dongjoon Hyun, Dustin Dorroh, @e-lin, Eurico Doirado, Erik Erwitt, Fabrizio Milo, @gaohuazuo, Iblis Lin, Igor Babuschkin, Isaac Hodes, Isaac Turner, Iván Vallés, J Yegerlehner, Jack Zhang, James Wexler, Jan Zikes, Jay Young, Jeff Hodges, @jmtatsch, Johnny Lim, Jonas Meinertz Hansen, Kanit Wongsuphasawat, Kashif Rasul, Ken Shirriff, Kenneth Mitchner, Kenta Yonekura, Konrad Magnusson, Konstantin Lopuhin, @lahwran, @lekaha, @liyongsea, Lucas Adams, @makseq, Mandeep Singh, @manipopopo, Mark Amery, Memo Akten, Michael Heilman, Michael Peteuil, Nathan Daly, Nicolas Fauchereau, @ninotoshi, Olav Nymoen, @panmari, @papelita1234, Pedro Lopes, Pranav Sailesh Mani, RJ Ryan, Rob Culliton, Robert DiPietro, @ronrest, Sam Abrahams, Sarath Shekkizhar, Scott Graham, Sebastian Raschka, Sung Kim, Surya Bhupatiraju, Syed Ahmed, Till Hoffmann, @timsl, @urimend, @vesnica, Vlad Frolov, Vlad Zagorodniy, Wei-Ting Kuo, Wenjian Huang, William Dmitri Breaden Madden, Wladimir Schmidt, Yuwen Yan, Yuxin Wu, Yuya Kusakabe, @zhongzyd, @znah. |
| 55 | |
| 56 | We are also grateful to all who filed issues or helped resolve them, asked and |
| 57 | answered questions, and were part of inspiring discussions. |
| 58 | |
| 59 | |
Eugene Brevdo | 56f1d64 | 2016-03-10 17:18:30 -0800 | [diff] [blame] | 60 | # Release 0.7.1 |
| 61 | |
| 62 | ## Bug Fixes and Other Changes |
| 63 | |
| 64 | * Added gfile.Open and gfile.Copy, used by input_data.py. |
| 65 | * Fixed Saver bug when MakeDirs tried to create empty directory. |
| 66 | * GPU Pip wheels are built with cuda 7.5 and cudnn-v4, making them |
| 67 | required for the binary releases. Lower versions of cuda/cudnn can |
| 68 | be supported by installing from sources and setting the options |
| 69 | during ./configure |
| 70 | * Fix dataset encoding example for Python3 (@danijar) |
| 71 | * Fix PIP installation by not packaging protobuf as part of wheel, |
| 72 | require protobuf 3.0.0b2. |
| 73 | * Fix Mac pip installation of numpy by requiring pip >= 1.10.1. |
| 74 | * Improvements and fixes to Docker image. |
| 75 | |
| 76 | |
Vijay Vasudevan | fe056f0 | 2016-02-17 11:42:30 -0800 | [diff] [blame] | 77 | # Release 0.7.0 |
Vijay Vasudevan | 10e62dc | 2015-12-11 23:03:16 -0800 | [diff] [blame] | 78 | |
Vijay Vasudevan | fe056f0 | 2016-02-17 11:42:30 -0800 | [diff] [blame] | 79 | ## Major Features and Improvements |
| 80 | |
| 81 | * Allow using any installed Cuda >= 7.0 and cuDNN >= R2, and add support |
| 82 | for cuDNN R4 |
| 83 | * Added a `contrib/` directory for unsupported or experimental features, |
| 84 | including higher level `layers` module |
| 85 | * Added an easy way to add and dynamically load user-defined ops |
| 86 | * Built out a good suite of tests, things should break less! |
| 87 | * Added `MetaGraphDef` which makes it easier to save graphs with metadata |
| 88 | * Added assignments for "Deep Learning with TensorFlow" udacity course |
| 89 | |
| 90 | |
| 91 | ## Bug Fixes and Other Changes |
| 92 | |
| 93 | * Added a versioning framework for `GraphDef`s to ensure compatibility |
| 94 | * Enforced Python 3 compatibility |
| 95 | * Internal changes now show up as sensibly separated commits |
| 96 | * Open-sourced the doc generator |
| 97 | * Un-fork Eigen |
| 98 | * Simplified the `BUILD` files and cleaned up C++ headers |
| 99 | * TensorFlow can now be used as a submodule in another bazel build |
| 100 | * New ops (e.g., `*fft`, `*_matrix_solve`) |
| 101 | * Support for more data types in many ops |
| 102 | * Performance improvements |
| 103 | * Various bugfixes |
| 104 | * Documentation fixes and improvements |
| 105 | |
| 106 | |
| 107 | ## Breaking Changes to the API |
Vijay Vasudevan | 10e62dc | 2015-12-11 23:03:16 -0800 | [diff] [blame] | 108 | |
| 109 | * `AdjustContrast` kernel deprecated, new kernel `AdjustContrastv2` takes and |
| 110 | outputs float only. `adjust_contrast` now takes all data types. |
| 111 | * `adjust_brightness`'s `delta` argument is now always assumed to be in `[0,1]` |
| 112 | (as is the norm for images in floating point formats), independent of the |
| 113 | data type of the input image. |
| 114 | * The image processing ops do not take `min` and `max` inputs any more, casting |
| 115 | safety is handled by `saturate_cast`, which makes sure over- and underflows |
| 116 | are handled before casting to data types with smaller ranges. |
Geoffrey Irving | cbff45c | 2016-01-12 08:06:56 -0800 | [diff] [blame] | 117 | * For C++ API users: `IsLegacyScalar` and `IsLegacyVector` are now gone from |
| 118 | `TensorShapeUtils` since TensorFlow is scalar strict within Google (for |
| 119 | example, the shape argument to `tf.reshape` can't be a scalar anymore). The |
| 120 | open source release was already scalar strict, so outside Google `IsScalar` |
| 121 | and `IsVector` are exact replacements. |
Josh Levenberg | db7478e | 2016-01-20 14:54:50 -0800 | [diff] [blame] | 122 | * The following files are being removed from `tensorflow/core/public/`: |
| 123 | * `env.h` -> `../platform/env.h` |
| 124 | * `status.h` -> `../lib/core/status.h` |
| 125 | * `tensor.h` -> `../framework/tensor.h` |
| 126 | * `tensor_shape.h` -> `../framework/tensor_shape.h` |
| 127 | * `partial_tensor_shape.h` -> `../framework/partial_tensor_shape.h` |
| 128 | * `tensorflow_server.h` deleted |
Geoffrey Irving | 5643775 | 2016-01-25 09:43:13 -0800 | [diff] [blame] | 129 | * For C++ API users: `TensorShape::ShortDebugString` has been renamed to |
| 130 | `DebugString`, and the previous `DebugString` behavior is gone (it was |
| 131 | needlessly verbose and produced a confusing empty string for scalars). |
Manjunath Kudlur | c2722a1 | 2016-01-27 13:24:50 -0800 | [diff] [blame] | 132 | * `GraphOptions.skip_common_subexpression_elimination` has been removed. All |
| 133 | graph optimizer options are now specified via |
| 134 | `GraphOptions.OptimizerOptions`. |
Geoffrey Irving | 1829712 | 2016-02-10 11:48:34 -0800 | [diff] [blame] | 135 | * `ASSERT_OK` / `EXPECT_OK` macros conflicted with external projects, so they |
| 136 | were renamed `TF_ASSERT_OK`, `TF_EXPECT_OK`. The existing macros are |
| 137 | currently maintained for short-term compatibility but will be removed. |
Eugene Brevdo | fea55e1 | 2016-01-27 14:54:54 -0800 | [diff] [blame] | 138 | * The non-public `nn.rnn` and the various `nn.seq2seq` methods now return |
| 139 | just the final state instead of the list of all states. |
Vijay Vasudevan | fe056f0 | 2016-02-17 11:42:30 -0800 | [diff] [blame] | 140 | * `tf.scatter_update` now no longer guarantees that lexicographically largest |
| 141 | index be used for update when duplicate entries exist. |
Geoffrey Irving | 3e33d44 | 2016-02-08 12:02:44 -0800 | [diff] [blame] | 142 | * `tf.image.random_crop(image, [height, width])` is now |
| 143 | `tf.random_crop(image, [height, width, depth])`, and `tf.random_crop` works |
| 144 | for any rank (not just 3-D images). The C++ `RandomCrop` op has been replaced |
| 145 | with pure Python. |
Geoffrey Irving | 1829712 | 2016-02-10 11:48:34 -0800 | [diff] [blame] | 146 | * Renamed `tf.test.GetTempDir` and `tf.test.IsBuiltWithCuda` to |
| 147 | `tf.test.get_temp_dir` and `tf.test.is_built_with_cuda` for PEP-8 |
| 148 | compatibility. |
Vijay Vasudevan | fe056f0 | 2016-02-17 11:42:30 -0800 | [diff] [blame] | 149 | * `parse_example`'s interface has changed, the old interface is accessible in |
| 150 | `legacy_parse_example` (same for related functions). |
| 151 | * New `Variable`s are not added to the same collection several times even if |
| 152 | a list with duplicates is passed to the constructor. |
Josh Levenberg | 02dff6d | 2016-01-07 18:37:54 -0800 | [diff] [blame] | 153 | * The Python API will now properly set the `list` member of `AttrValue` in |
| 154 | constructed `GraphDef` messages for empty lists. The serialization of some |
| 155 | graphs will change, but the change is both forwards and backwards compatible. |
| 156 | It will break tests that compare a generated `GraphDef` to a golden serialized |
Vijay Vasudevan | fe056f0 | 2016-02-17 11:42:30 -0800 | [diff] [blame] | 157 | `GraphDef` (which is discouraged). |
| 158 | |
| 159 | |
| 160 | ## Thanks to our Contributors |
| 161 | |
| 162 | This release contains contributions from many people at Google, as well as: |
| 163 | |
| 164 | Akiomi Kamakura, Alex Vig, Alexander Rosenberg Johansen, Andre Cruz, Arun Ahuja, |
| 165 | Bart Coppens, Bernardo Pires, Carl Vondrick, Cesar Salgado, Chen Yu, |
| 166 | Christian Jauvin, Damien Aymeric, Dan Vanderkam, Denny Britz, Dongjoon Hyun, |
| 167 | Eren Güven, Erik Erwitt, Fabrizio Milo, G. Hussain Chinoy, Jim Fleming, |
| 168 | Joao Felipe Santos, Jonas Meinertz Hansen, Joshi Rekha, Julian Viereck, |
| 169 | Keiji Ariyama, Kenton Lee, Krishna Sankar, Kristina Chodorow, Linchao Zhu, |
| 170 | Lukas Krecan, Mark Borgerding, Mark Daoust, Moussa Taifi, |
| 171 | Nathan Howell, Naveen Sundar Govindarajulu, Nick Sweeting, Niklas Riekenbrauck, |
| 172 | Olivier Grisel, Patrick Christ, Povilas Liubauskas, Rainer Wasserfuhr, |
| 173 | Romain Thouvenin, Sagan Bolliger, Sam Abrahams, Taehoon Kim, Timothy J Laurent, |
| 174 | Vlad Zavidovych, Yangqing Jia, Yi-Lin Juang, Yuxin Wu, Zachary Lipton, |
| 175 | Zero Chen, Alan Wu, @brchiu, @emmjaykay, @jalammar, @Mandar-Shinde, |
| 176 | @nsipplswezey, @ninotoshi, @panmari, @prolearner and @rizzomichaelg. |
| 177 | |
| 178 | We are also grateful to all who filed issues or helped resolve them, asked and |
| 179 | answered questions, and were part of inspiring discussions. |
Josh Levenberg | 02dff6d | 2016-01-07 18:37:54 -0800 | [diff] [blame] | 180 | |
Geoffrey Irving | cbff45c | 2016-01-12 08:06:56 -0800 | [diff] [blame] | 181 | |
Vijay Vasudevan | 2c3738d | 2015-12-08 14:55:13 -0800 | [diff] [blame] | 182 | # Release 0.6.0 |
| 183 | |
| 184 | ## Major Features and Improvements |
| 185 | |
| 186 | * Python 3.3+ support via changes to python codebase and ability |
| 187 | to specify python version via ./configure. |
| 188 | |
| 189 | * Some improvements to GPU performance and memory usage: |
| 190 | [convnet benchmarks](https://github.com/soumith/convnet-benchmarks/issues/66) |
| 191 | roughly equivalent with native cudnn v2 performance. Improvements mostly due |
| 192 | to moving to 32-bit indices, faster shuffling kernels. More improvements to |
| 193 | come in later releases. |
| 194 | |
| 195 | |
Vijay Vasudevan | fe056f0 | 2016-02-17 11:42:30 -0800 | [diff] [blame] | 196 | ## Bug Fixes |
Vijay Vasudevan | 2c3738d | 2015-12-08 14:55:13 -0800 | [diff] [blame] | 197 | |
| 198 | * Lots of fixes to documentation and tutorials, many contributed |
| 199 | by the public. |
| 200 | |
| 201 | * 271 closed issues on github issues. |
| 202 | |
Vijay Vasudevan | fe056f0 | 2016-02-17 11:42:30 -0800 | [diff] [blame] | 203 | ## Backwards-Incompatible Changes |
Vijay Vasudevan | 2c3738d | 2015-12-08 14:55:13 -0800 | [diff] [blame] | 204 | |
Geoffrey Irving | 1829712 | 2016-02-10 11:48:34 -0800 | [diff] [blame] | 205 | * `tf.nn.fixed_unigram_candidate_sampler` changed its default 'distortion' |
Vijay Vasudevan | 2c3738d | 2015-12-08 14:55:13 -0800 | [diff] [blame] | 206 | attribute from 0.0 to 1.0. This was a bug in the original release |
| 207 | that is now fixed. |
| 208 | |
Vijay Vasudevan | ddd4aaf | 2015-12-08 09:58:59 -0800 | [diff] [blame] | 209 | # Release 0.5.0 |
| 210 | |
| 211 | Initial release of TensorFlow. |