Skip to content

Latest commit

 

History

History
81 lines (75 loc) · 5.97 KB

CHANGES.md

File metadata and controls

81 lines (75 loc) · 5.97 KB

Breaking API changes.

Tensorpack is in development, and API changes can happen. The backward compatibilty will be preserved for at least several months, with a deprecation warning, so you don't need to look at here very often.

Here are a list of things that were changed, starting from an early version. TensorFlow itself also changes API and those are not listed here.

  • 2019/11/10. Drop Python 2 support.
  • 2019/03/20. The concept of InputDesc was replaced by its equivalent in TF: tf.TensorSpec. This may be a breaking change if you have customized code that relies on internals of InputDesc. To use tf.TensorSpec in your ModelDesc:
    def inputs(self):
        return [tf.TensorSpec((None, 28, 28, 1), tf.float32, 'image'),
                tf.TensorSpec((None,), tf.int32, 'label')]
  • [2018/03/20] ModelDesc starts to use simplified interfaces:
    • _get_inputs() renamed to inputs() and returns tf.TensorSpec.
    • build_graph(self, tensor1, tensor2) returns the cost tensor directly.
    • _get_optimizer() renamed to optimizer(). Old interface will still be available for a while, but new ones are recommended.
  • [2018/03/12] JSONWriter use a different file name, and will not automatically restore epoch number. AutoResumeTrainConfig was added to support resuming.
  • [2017/10/21] tensorpack is gradually switching to a new Trainer API. The old API will keep working for a while. See issue for details.
  • [2017/10/18] TrainConfig(predict_tower) was deprecated. You can set the inference device directly when creating the InferenceRunner callback.
  • 2017/10/12. tensorpack.RL was deprecated. The RL examples are rewritten with OpenAI gym interface instead.
  • 2017/10/10. tfutils.distributions was deprecated in favor of tf.distributions introduced in TF 1.3.
  • 2017/08/02. Trainer.get_predictor now takes GPU id. And Trainer.get_predictors was deprecated.
  • 2017/06/07. Now the library explicitly depends on msgpack-numpy>=0.3.9. The serialization protocol becomes incompatible if you've been using <0.3.9.
  • 2017/05/06. replace_get_variable was deprecated in favor of the official custom_getter interface. {freeze,remap}_get_variable was renamed to {freeze,remap}_variables.
  • 2017/04/09. ParamRestore was renamed to DictRestore.
  • 2017/03/16. session_config option in PredictConfig is deprecated. Use session_creator to define how to create session instead.
  • 2017/02/20. The interface of step callbacks are changed to be the same as tf.train.SessionRunHook. If you haven't written any custom step callbacks, there is nothing to do. Otherwise please refer to the existing callbacks.
  • 2017/02/12. TrainConfig(optimizer=) was deprecated. Now optimizer is set in ModelDesc. And gradient processors become part of an optimizer.
  • 2017/02/11. _get_input_vars() in ModelDesc was renamed to _get_inputs. InputVar was renamed to InputDesc.
  • 2017/01/27. TrainConfig(step_per_epoch) was renamed to steps_per_epoch.
  • 2017/01/25. Argument order of models.ConcatWith is changed to follow the API change in TensorFlow upstream.
  • 2017/01/25. TrainConfig(callbacks=) now takes a list of Callback instances.
  • 2017/01/06. summary.add_moving_summary now takes any number of positional arguments instead of a list.
  • 2017/01/05. The argument TrainConfig(dataset=) is renamed to TrainConfig(dataflow=).
  • 2016/12/15. The predict_tower option is in TrainConfig now instead of Trainer.
  • 2016/11/10. The {input,output}_var_names argument in PredictConfig is renamed to {input,output}_names.
  • 2016/11/06. The inferencer ClassificationError now expects the vector tensor returned by prediction_incorrect instead of the "wrong" tensor.
  • 2016/10/17. Conv2D and FullyConnect use tf.identity by default instead of tf.nn.relu.
  • 2016/09/01. The method _build_graph of ModelDesc doesn't take is_training argument anymore. The is_training attribute can be obtained from tower context.
  • 2016/05/15. The method _get_cost of ModelDesc is replaced by _build_graph.