Releases: OverLordGoldDragon/see-rnn
Releases · OverLordGoldDragon/see-rnn
DOI
Drop TF requirement for general use
Only see_rnn.visuals_gen will work without TensorFlow
1.15.0: TF 2.3.0 compatibility; 'SCALEFIG' env flag
FEATURES:
- Compatibility with TensorFlow 2.3.0 (see "TESTS")
os.environ['SCALEFIG'](default'1') will scale all drawn figures; specify as tuple(w, h)to scale width & height separately.
BREAKING:
- TF 2.3.0 won't work with
keras; this isn'tsee_rnn, this is breaking changes to some basic TF ops. - Changed default
os.environ['TF_KERAS']to'1'
TESTS:
- Discontinued support for
kerasTF2.3.0+;kerasTF2.2.0 Graph is still tested, but may discontinue entirely in the future, or reinstate depending on how Keras proceeds tf.kerasnow only tested with TF 2.3.0+ (and still with 1.14.0)
1.14.6: Cleaner axis limits; allow custom title
FEATURES:
- Cleaner axis limits for
features_histandfeatures_hist_v2: xmin and xmax are now limited in characters to avoid clutter in plots - Docs state title will set to
title_modeif not one of'grads', 'outputs', but this was false; fixed now. - Created
CHANGELOG.md
BREAKING:
title_moderenamed to `title
1.14.5: Convenience, appearance improvements; bugfixes
FEATURES:
- Added
bordercolorkwarg tofeatures_2Dwhich allows setting color of border lines, useful when images are majority-dark - Improved xaxis annotation handling for
pad_xtickskwarg infeatures_histandfeatures_hist_v2; behavior configurable viaconfigs['pad_xticks'] show_xy_tickscan now be anintorbool, which will automatically set to tuple(int, int).- Changed default kwarg
timesteps_xaxistoFalseinfeatures_2Dwhich would rotate image data
BREAKING:
pad_xticksis now bool instead of int
BUGFIXES:
features_2D: movedndim != 3check outside oftimesteps_xaxis, which would fail toexpand_dims(0, ...)for=Falsew/ 2D inputweights_norm: the case of oneweightsper layer would process incorrectly due to iterating over an expected list, whereget_weightsreturns the array itself in case of a single weight
MISC:
- Added test cases to account for fixed bugs
1.14.4: Fix L1-norm case in `weights_norm`
norm_fn=np.abs would compute L1 norm as: np.sqrt(np.sum(np.abs(x))), which is incorrect; the sqrt is redundant. norm_fn=np.abs will now work correctly. L2-norm case always worked correctly.
For L2-norm, set norm_fn = (np.sqrt, np.square) = (outer_fn, inner_fn), which will compute outer_fn(sum(inner_fn(x))). Note that norm_fn=np.square will no longer compute L2-norm correctly.
See RNN v1.14.3
A warning would be thrown even if _id='' or is otherwise falsy, which is redundant.
See RNN v1.14.2
TF2.2-Graph sample_weight bugfix
- Passes
Noneinstead ofnp.ones(len(x))inget_gradients(sample_weight=None). This is a TF2.2 bug, not See RNN bug. - Will still bug if
sample_weight is not None- nothing to do here except wait for TF 2.3, or nightly when fixed
See RNN v1.14.1
BUGFIXES:
'softmax'activation for_id='*'inget_gradientswasn't handled properly- Added test for softmax; other activations might error, exhaustive list for
Nonegradient yielders undetermined
MISC:
- Moved testing imports to new
backend.py - Changed pathing logic in
test_all.pyto allow running as__main__ - Added
conftest.pyto disable plots when Spyder unit-testing, and allow when ran as__main__
See RNN v1.14.0
FEATURES:
- Up to date with TensorFlow 2.2.0
- Support for
sample_weightandlearning_phasefor all backends (TF1, TF2, Eager, Graph,keras,tf.keras) - Support for multi-input and multi-output networks
paramsadded toget_gradients; directly get grads of pre-fetched weights & outputs
BREAKING:
_make_grads_fnno longer supports Eager fortf.keras(but does forkeras)_get_gradsdeprecatedsample_weights->sample_weightinget_gradients
BUGFIXES:
_id='*'will now omit'softmax'activation layers intf.kerasget_gradients, which error withNonefor gradient- Corrected gateless architecture detection for
_get_cell_weights
MISC:
- Testing moved to TF 2.2, no longer includes TF 2.0 or TF 2.1
- Added
_get_grads_eagertoinspect_gen.py - Added
_get_params,_layer_of_outputtoutils.py - Improved
Inputlayer exclusion for_id='*' - Added note + tip to
get_gradientson performance - Extended GPU detection method in tests to work with TF2.2