Recent Releases of tf-keras-vis
tf-keras-vis - Release v0.8.7
A Improvement
- Add support for Tensorflow 2.16+ and Keras 3.x
- Python
Published by keisen about 2 years ago
tf-keras-vis - Release v0.8.6
A Bugfix
- Fixes a bug which invalid type was used
- Python
Published by keisen over 2 years ago
tf-keras-vis - Release v0.8.5
A Improvement
- Add support for Tensorflow 2.13+ (#99 )
- Python
Published by keisen about 3 years ago
tf-keras-vis - Release v0.8.4
Bugfixes
- Fixes a bug which seed_input value passed to ActivationMaximization was converted to Numpy array, but not tf.Tensor.
- Fixes a bug which GifGenerator2D didn't cast tf.Tensor to Numpy array.
- Fixes a bug which
np.intwas used intf_keras_vis.saliencymodule.
- Python
Published by keisen over 3 years ago
tf-keras-vis - Release v0.8.3
A Breaking Change
- Drop
tf_keras_vis.activation_maximization.legacymodule for compatibility with TF2.11+.
- Python
Published by keisen over 3 years ago
tf-keras-vis - Release v0.8.2
A Improvement
- Add support for Tensorflow 2.9+ (#87)
A bugfix
- Fixes a bug that is incorrect calculation of Layercam (#88)
- Python
Published by keisen almost 4 years ago
tf-keras-vis - Release v0.8.1
- Add support for Python 3.10.x
- Drop support for Python 3.6.x
- Python
Published by keisen over 4 years ago
tf-keras-vis - Release v0.8.0
Breaking Changes
- Remove
normalize_gradientoption fromtf_keras_vis.activation_maximization.ActivationMaximization.__call__(),tf_keras_vis.activation_maximization.legacy.ActivationMaximization.__call__()andtf_keras_vis.gradcam.Gradcam.__call__(). - Remove
standardize_camoption fromtf_keras_vis.gradcam.Gradcam.__call__(),tf_keras_vis.gradcam_plus_plus.GradcamPlusPlus.__call__()andtf_keras_vis.scorecam.Scorecam.__call__(), Usenormalize_camoption instead - Remove
standardize_saliencyoption fromtf_keras_vis.saliency.Saliency.__call__(), Usenormalize_mapoption instead - Deprecate
tf_keras_vis.utils.standardize(), Usetf_keras_vis.utils.normalize()instead
Add features
- Add support for LayerCAM
- Add
gradient_modifieroption totf_keras_vis.gradcam.Gradcam.__call__()andtf_keras_vis.gradcam_plus_plus.GradcamPlusPlus.__call__() - Add
__version__totf_keras_vismodule
Other Changes
- Add
VERSIONfile to define the current version number. - Add
MANIFEST.infile to exclude unnecessary files (such tests) from the package.
- Python
Published by keisen almost 5 years ago
tf-keras-vis - Release v0.7.2
A bugfix
- Fixes a bug that is incorrect calculation of BinaryScore when ReplaceToLinear is applied to target model
Improvements
- Support for Tensorflow2.6.0rc0
- Update docstrings to publish the web-documents
- Python
Published by keisen almost 5 years ago
tf-keras-vis - Release v0.7.1
Bugfix
- Improve incorrect error messages in ActivationMaimization.
- Python
Published by keisen almost 5 years ago
tf-keras-vis - Release v0.7.0
Fixes critical bugs
ActivationMaximization
We've fixed a problem of unstable gradient calculation in ActivationMaximization. In addition, because the related implementation has a bad effect on the process with the mixed-precision model, as a result, the problems related to mixed-precision with ActivationMaximization below were also fixed.
- Fixed issues related to mixed-precision
- The results of fully-precision and mixed-precision models are different.
- When the model has a layer which is set explicitly as float32 dtype, ActivationMaximization might raise an error.
- Regularization values calculated by ActivationMaximization might be
NaNorinfeasily.
Because the results of the gradients calculation are now different compared to the past versions, to keep compatibility, we newly provide the module tf_keras_vis.activation_maximization.legacy. If you have the code adjusted by yourself in the past versions, you could also use legacy implementation as follows:
```python
from tfkerasvis.activation_maximization import ActivationMaximization
from tfkerasvis.activation_maximization.legacy import ActivationMaximization ```
Please notice that the tf_keras_vis.activation_maximization.legacy module above still has the problem of unstable gradient calculation. So we strongly recommend, if you don't have any code adjusted by yourself in the past versions, using the tf_keras_vis.activation_maximization module.
Regularization for ActivationMaximization
We also found and fixed some bugs of Regularizers below.
- Fixed issues related to Regularizers
- The
TotalVariation2Dhas a problem that the more the number of samples ofseed_input, the smaller the regularization value of it. - The
Normhas a problem that the larger the spatial size ofseed_input, the smaller the regularization value of it.
- The
In addition to above, we've changed the signature of Regularizer#__call__(). The method now accepts only one seedinput (the legacy one accepts whole seedinputs). With this change, the regularizers argument of ActivationMaximization#__call__() now accepts a dictionary object that contains the Regularizer instances for each model input.
To keep compatibility, we've newly provided the tf_keras_vis.activation_maximization.regularizers module that includes the regularizers improved, instead of updating the tf_keras_vis.utils.regularizers module. If you have the code implemented or adjusted by yourself in the past versions, you could also use legacy implementation as follows:
```python
from tfkerasvis.activation_maximization.regularizers import Norm, TotalVariation2D
from tfkerasvis.utils.regularizers import Norm, TotalVariation2D ```
Please notice that the tf_keras_vis.utils.regularizers module still has the bugs and a lot of warnings will be printed. So we strongly recommend, if you do NOT have any code adjusted by yourself in the past versions, using the tf_keras_vis.utils.regularizers module.
If you face any problem related to this release, please feel free to ask us in Issues page.
Add features and Improvements
- Add
tf_keras_vis.utils.model_modifiersmodule.- To fix issues / #49
- This module includes
ModelModifier,ReplaceToLinear,ExtractIntermediateLayerandGuidedBackpropagation. - As a result,
model_modifierargument oftf_keras_vis.ModelVisualization#__init__()now also accepts atf_keras_vis.utils.model_modifiers.ModelModifierinstance, a list ofCallableobjects orModelModifierinstances.
- Add
tf_keras_vis.gradcam_plus_plusmodule.- This module includes
GradcamPlusPlus.
- This module includes
- Add
tf_keras_vis.activation_maximization.legacymodule.- This module includes
ActivationMaximizationthat still has the problem of unstable gradient calculation.
- This module includes
- Add
tf_keras_vis.activation_maximization.input_modifiersmodule.- This module includes
Jitter,RotateandScale.
- This module includes
- Add
tf_keras_vis.activation_maximization.regularizersmodule.- This module includes
TotalVariation2DandNormthat fixed some bugs.
- This module includes
- Add
Scale, that is the new InputModifier class, to thetf_keras_vis.activation_maximization.input_modifiersmodule. - Add
Progress, that is the new Callback class, to thetf_keras_vis.activation_maximization.callbacksmodule. - Add
activation_modifiersargument toActivationMaximization#__call__(). - ~~Add a github actions recipe to publish tf-keras-vis to Anaconda.org~~
- To fix issues / #54
- Improve Scorecam
- Fixes the incorrect weight calculation. (Reducing noise)
- Change cubic interpolation to linear one. (10x faster)
- Change to apply softmax function to scores. (More stable)
- Add validation to check invalid scores.
Breaking Changes
- In all visualization, the
scoreargument now must be a list oftf_keras_vis.utils.scores.Scoreinstances or Callable objects when the model has multiple outputs. - Change the default parameters of
ActivationMaximization#__call__().- Because of fixing critical bugs in
ActivationMaximizationthat the calculation of gradient descent is unstable.
- Because of fixing critical bugs in
- Deprecates
tf_keras_vis.utils.regularizersmodule, Usetf_keras_vis.activation_maximization.regularizersmodule instead.- For now, both current and legacy regularizers can be used in ActivationMaximization, but please notice that they can't be mixed to use.
- Deprecates
tf_keras_vis.utils.input_modifiers, Usetf_keras_vis.activation_maximization.input_modifiersmodule instead. - Deprecates
tf_keras_vis.activation_maximization.callbacks.PrintLogger, useProgressinstead. - Add
**argumentsargument toCallback#on_begin().**argumentsis the values passed toActivationMaximization#__call__()as arguments.
- Deprecates
tf_keras_vis.gradcam.GradcamPlusPlus, Usetf_keras_vis.gradcam_plus_plus.GradcamPlusPlusmodule instead.
Bugfixes and Other Changes
- Fixes a bug that Scorecam didn't work correctly with multi-inputs model.
- Fixes some bugs when loading input modifiers.
- Fixes a bug that
Callback#on_end()might NOT be called when an error occurs. - Improve an error message when
max_Nis invalid inScorecam. - Improve the
input_rangeargument ofActivationMaximization#__call__()to raise an error when it's invalid. - Change docstring style to
google. - Replace
str#format()tof-string
- Python
Published by keisen almost 5 years ago
tf-keras-vis - Release v0.6.2
Improvements
tf_keras_vis.utils.input_modifiers.Jitterraises ValueError with proper message when the dimension of seed_input is 2.
Breaking Changes
- Deprecates
tf_keras_vis.utils.input_modifiers.Rotate. Usetf_keras_vis.utils.input_modifiers.Rotate2Dinstead.
Other Changes
- Update
classifiersin setup.py
- Python
Published by keisen almost 5 years ago
tf-keras-vis - Release 0.6.1
BugFix and Other Changes
- Remove
importa class that does NOT exist. - Improve performance to check mixed-precision models.
- Python
Published by keisen about 5 years ago
tf-keras-vis - Release 0.6.0
Change a terminology
- The
Lossis changed toScore. Because visualizations does NOT need to calculate anylossbetween labels and the model outputs, and the calculated values is used as just scores, we thought that the former is proper than latter.
Add Features and Improvements
- Support Python 3.9
- Support Tensorflow 2.4 and 2.5
- Support mixed-precision
- Issues / #43 , #45 and #47
- only tensorflow 2.4.0+
- Add
unconnected_gradientsoption to__call__()of ActivationMaximization, Saliency, GradCAM, GradCAM++. - Add
standardize_camoption to__call__()of GradCAM, GradCAM++ and ScoreCAM. - Add
normalize_saliencyoption to__call__()of Saliency.
Breaking Changes
- In all visualization class constructor, the
modelpassed as a argument is NOT cloned whenmodel_modifieris None.- issues / #51
- Deprecates and Disable
normalize_gradientoption in ActivationMaximizaion and GradCAM. - Deprecates
tf_keras_vis.utils.callbackmodule. Usetf_keras_vis.activation_maximization.callbacksmodule instead.- Deprecates and Rename
PrinttoPrintLogger. - Deprecates and Rename
GifGeneratortoGifGenerator2D.
- Deprecates and Rename
- Deprecates
tf_keras_vis.utils.regularizers.TotalVariation. Usetf_keras_vis.utils.regularizers.TotalVariation2Dinstead. - Deprecates
tf_keras_vis.utils.regularizers.L2Norm. Usetf_keras_vis.utils.regularizers.Norminstead. - Deprecates and Rename
tf_keras_vis.utils.normalizetotf_keras_vis.utils.standardize. - Don't need to use
tf_keras_vis.utils.normalizeto visualize CAM or Saliency. Usestandardize_camandstandardize_saliencyoption instead respectively. - Don't need to cast activations maximized by ActivationMaximization to visualize.
- See the example of ActivationMaximization for details.
BugFix and Other Changes
- Fixes a problem in Rotate input-modifier that it can't work correctly when input tensors is not 2D images.
- Add a test utility and testcases.
- Update dockerfiles and example notebooks.
Known Issues
- With a
mixed-precisionmodel, Regurarization values that is calculated by ActivationMaximization may be NaN. - With a
mixed-precisionmodel that has a layer which are set float32 dtype exlicitly, ActivationMaximization may raise a error.
- Python
Published by keisen about 5 years ago
tf-keras-vis - Release 0.5.5
Bugfix
- Fix a problem that GradCAM and GradCAM++ were NOT working correctly with
mixed precision. (See issues / #41 for details).
Other Changes
- Support tensorflow 2.4.0.
- Python 3.5 is no longer supported (but it can be used if tensorflow<2.4.0).
- Python
Published by keisen over 5 years ago
tf-keras-vis - Release 0.5.4
Bugfix
- Fix a problem that
normalize_gradientoption of ActivationMaximization and GradCAM was not working correctly. (See issues / #38 for details).
- Python
Published by keisen over 5 years ago
tf-keras-vis - Release 0.5.3
Bugfix
- Fix a problem that model's training-mode can NOT turn off (See issues / #26 for details).
- Python
Published by keisen almost 6 years ago
tf-keras-vis - Release 0.5.2
Bugfix
- Fix a problem that a Error occurs when
max_Nis None or under 0 in ScoreCAM
- Python
Published by keisen almost 6 years ago
tf-keras-vis - Release 0.5.0
Major Feature
- Add new methods (ScoreCAM and Faster-ScoreCAM)
Breaking Changes
tf_keras_vis.utils.print_gpus()was deleted.tf_keras_vis.utils.losses.SmoothedLosswas deleted.
BugFix and Other Changes
- Fixes a problem that ActivationMaximization couldn't calculate and normalize losses correctly when multiple samples.
- Fixes a problem that the output of ActivationMaximization was restricted when input_ranges contain None.
- Improve to raise ValueError when input shape doesn't have channels dimension in GradCAM.
- Fixes a problem that GradCAM++ couldn't calculate scores correctly when multiple samples.
- Add
tf_keras_vis.utils. num_of_gpus()instead oftf_keras_vis.utils. print_gpus().
- Python
Published by keisen almost 6 years ago
tf-keras-vis - Release 0.4.0
Major Feature
- Add GradCAM++ algorism implemented as GradcamPlusPlus class
Bugfixes
- The noise of SmoothGrad is too strong.
- Rotation in InputModifier across channles-dim.
- Python
Published by keisen almost 6 years ago
tf-keras-vis - Release 0.3.3
Improvements
- Refactoring and Vectorizing some processing in
GradcamandSaliency - Remove
.travis.ymlbecause there is Github Action as CI tools
- Python
Published by keisen almost 6 years ago
tf-keras-vis - Release 0.3.2
This release includes the patch for improving Issue #15 that is serious bugs. So We highly recommend to update tf-keras-vis.
BugFix and Other Changes
- Fixes bug that tfkerasvis.utils.normalize() can't batchwisely do normalization.
- Add
expand_camargument to GradCAM#call() for returning non-interpolated cam values. - In setup.py, rename
developmentof extras_require todevelop.
- Python
Published by keisen almost 6 years ago
tf-keras-vis - Release 0.3.1
We re-uploaded tf-keras-vis to PyPI as v0.3.1 because wrong library was uploaded.
- Python
Published by keisen about 6 years ago
tf-keras-vis - Release 0.3.0
Bug Fixes
- Fixes a lot of bugs in ActivationMaximization and Gradcam
Breaking Changes
tf_keras_vis.activation_maximization.ActivationMaximization.__call__()'sregularizersargument no longer acceptsdictobject.- Rename
tf_keras_vis.gradcam.Gradcam.__call__()'sseek_penultimate_layerargument toseek_penultimate_conv_layer. - Rename
tf_keras_vis.utils.listify'sempty_list_if_noneargument toreturn_empty_list_if_none.
- Python
Published by keisen about 6 years ago
tf-keras-vis - Release 0.2.5
Bugfix
- Fixes a bug that tf-keras-vis can't install on Python 3.8.x
- Python
Published by keisen about 6 years ago
tf-keras-vis - Release 0.2.4
Improvements
- Python 3.8 are available
- Added docker-images that contains tf-keras-vis v0.2.4
- Python
Published by keisen about 6 years ago
tf-keras-vis - Release 0.2.2
Improvement
- Add a argument to Gradcam#call() to fix issues/#4
- Python
Published by keisen about 6 years ago
tf-keras-vis - Relase 0.2.1
Document issues fixes and other changes
- Fixes examples of docker command in README.md
- Remove unnecessary comments in source
[!NOTE] This release is for updating description page on PyPI, so it NOT contains any changes of library's behaviors.
- Python
Published by keisen over 6 years ago
tf-keras-vis - Release 0.2.0
Bug Fixes and Other Changes
- In Saliency and Gradcam, support seed_input that don't have samples (batch) dimension.
- Fixes a lot of bugs
- Dockerfiles changed to tensorlfow image base.
- Added tests and .travis.yml .
Breaking Changes
tf_keras_vis.utils.losses.SmoothingLossclass renamed totf_keras_vis.utils.losses.SmoothedLoss.
- Python
Published by keisen over 6 years ago