diff options
Diffstat (limited to 'RELEASE.md')
-rw-r--r-- | RELEASE.md | 112 |
1 files changed, 101 insertions, 11 deletions
diff --git a/RELEASE.md b/RELEASE.md index 9081c1e033..ab3ecbd774 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,7 +1,20 @@ -# Changes since the last release +# Release 1.0.0 -## Breaking Changes to the API +## Major Features and Improvements +* XLA (experimental): initial release of [XLA](https://www.tensorflow.org/versions/master/experimental/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. +* Android: person detection + tracking demo implementing Scalable Object + Detection using Deep Neural Networks. +* New (experimental) [Java API](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/java). +* Add new Android image stylization demo based on "A Learned Representation For Artistic Style", and add YOLO object detector support. +## 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](https://github.com/tensorflow/tensorflow/tree/master/tensorflow/tools/compatibility). +* 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` @@ -51,16 +64,93 @@ 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 +* `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'. + 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. * In the C++ API (in tensorflow/cc), Input, Output, etc. have moved from the tensorflow::ops namespace to tensorflow. +* 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. + # Release 0.12.0 @@ -100,15 +190,15 @@ ## Breaking Changes to the API * `BusAdjacency` enum replaced with a protocol buffer `DeviceLocality`. PCI bus - indexing now starts from 1 instead of 0, and bus_id==0 is used where - previously BUS_ANY was used. + indexing now starts from 1 instead of 0, and `bus_id==0` is used where + previously `BUS_ANY` was used. * `Env::FileExists` and `FileSystem::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. * The C API type `TF_SessionWithGraph` has been renamed to `TF_Session`, indicating its preferred use in language bindings for TensorFlow. What was previously `TF_Session` has been renamed to `TF_DeprecatedSession`. -* Renamed TF_Port to TF_Output in the C API. +* Renamed `TF_Port` to `TF_Output` in the C API. * Removes RegisterShape from public API. Use C++ shape function registration instead. indexing now starts from 1 instead of 0, and `bus_id==0` is used where previously `BUS_ANY` was used. @@ -143,7 +233,7 @@ `tf.global_variables_initializer` respectively. * `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() + `tf.zeros_initializer` with `tf.zeros_initializer()` ## Bug Fixes and Other Changes |