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
InputDescwas replaced by its equivalent in TF:tf.TensorSpec. This may be a breaking change if you have customized code that relies on internals ofInputDesc. To usetf.TensorSpecin yourModelDesc:
def inputs(self):
return [tf.TensorSpec((None, 28, 28, 1), tf.float32, 'image'),
tf.TensorSpec((None,), tf.int32, 'label')]- [2018/03/20]
ModelDescstarts to use simplified interfaces:_get_inputs()renamed toinputs()and returnstf.TensorSpec.build_graph(self, tensor1, tensor2)returns the cost tensor directly._get_optimizer()renamed tooptimizer(). Old interface will still be available for a while, but new ones are recommended.
- [2018/03/12]
JSONWriteruse a different file name, and will not automatically restore epoch number.AutoResumeTrainConfigwas 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 theInferenceRunnercallback. - 2017/10/12.
tensorpack.RLwas deprecated. The RL examples are rewritten with OpenAI gym interface instead. - 2017/10/10.
tfutils.distributionswas deprecated in favor oftf.distributionsintroduced in TF 1.3. - 2017/08/02.
Trainer.get_predictornow takes GPU id. AndTrainer.get_predictorswas 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_variablewas deprecated in favor of the officialcustom_getterinterface.{freeze,remap}_get_variablewas renamed to{freeze,remap}_variables. - 2017/04/09.
ParamRestorewas renamed toDictRestore. - 2017/03/16.
session_configoption inPredictConfigis deprecated. Usesession_creatorto 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 inModelDesc. And gradient processors become part of an optimizer.
- 2017/02/11.
_get_input_vars()inModelDescwas renamed to_get_inputs.InputVarwas renamed toInputDesc. - 2017/01/27.
TrainConfig(step_per_epoch)was renamed tosteps_per_epoch. - 2017/01/25.
Argument order of
models.ConcatWithis changed to follow the API change in TensorFlow upstream. - 2017/01/25.
TrainConfig(callbacks=)now takes a list ofCallbackinstances. - 2017/01/06.
summary.add_moving_summarynow takes any number of positional arguments instead of a list. - 2017/01/05.
The argument
TrainConfig(dataset=)is renamed toTrainConfig(dataflow=). - 2016/12/15.
The
predict_toweroption is inTrainConfignow instead ofTrainer. - 2016/11/10.
The
{input,output}_var_namesargument inPredictConfigis renamed to{input,output}_names. - 2016/11/06.
The inferencer
ClassificationErrornow expects the vector tensor returned byprediction_incorrectinstead of the "wrong" tensor. - 2016/10/17.
Conv2DandFullyConnectusetf.identityby default instead oftf.nn.relu. - 2016/09/01.
The method
_build_graphofModelDescdoesn't takeis_trainingargument anymore. Theis_trainingattribute can be obtained from tower context. - 2016/05/15.
The method
_get_costofModelDescis replaced by_build_graph.