- Cleaner axis limits for
features_hist
andfeatures_hist_v2
: xmin and xmax are now limited in characters to avoid clutter in plots - Docs state title will set to
title_mode
if not one of'grads', 'outputs'
, but this was false; fixed now. - Created
CHANGELOG.md
title_mode
renamed totitle
.
- Added
bordercolor
kwarg toFeatures_2D
which allows setting color of border lines, useful when images are majority-dark - Improved xaxis annotation handling for
pad_xticks
kwarg inFeatures_hist
andFeatures_hist_v2
; behavior configurable viaconfigs['pad_xticks']
show_xy_ticks
can now be anint
orbool
, which will automatically set to tuple(int, int)
.- Changed default kwarg
timesteps_xaxis
toFalse
inFeatures_2D
which would rotate image data
pad_xticks
is now bool instead of int
Features_2D
: movedndim != 3
check outside oftimesteps_xaxis
, which would fail toexpand_dims(0, ...)
for=False
w/ 2D inputweights_norm
: the case of oneweights
per layer would process incorrectly due to iterating over an expected list, whereget_weights
returns the array itself in case of a single weight
- Added test cases to account for fixed bugs
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.
- A warning would be thrown even if
_id=''
or is otherwise falsy, which is redundant.
- Passes
None
instead 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
'softmax'
activation for_id='*'
inget_gradients
wasn't handled properly- Added test for softmax; other activations might error, exhaustive list for
None
gradient yielders undetermined
- Moved testing imports to new
backend.py
- Changed pathing logic in
test_all.py
to allow running as__main__
- Added
conftest.py
to disable plots when Spyder unit-testing, and allow when ran as__main__
- Up to date with TensorFlow 2.2.0
- Support for
sample_weight
andlearning_phase
for all backends (TF1, TF2, Eager, Graph,keras
,tf.keras
) - Support for multi-input and multi-output networks
params
added toget_gradients
; directly get grads of pre-fetched weights & outputs
_make_grads_fn
no longer supports Eager fortf.keras
(but does forkeras
)_get_grads
deprecatedsample_weights
->sample_weight
inget_gradients
_id='*'
will now omit'softmax'
activation layers intf.keras
get_gradients
, which error withNone
for gradient- Corrected gateless architecture detection for
_get_cell_weights
- Testing moved to TF 2.2, no longer includes TF 2.0 or TF 2.1
- Added
_get_grads_eager
toinspect_gen.py
- Added
_get_params
,_layer_of_output
toutils.py
- Improved
Input
layer exclusion for_id='*'
- Added note + tip to
get_gradients
on performance - Extended GPU detection method in tests to work with TF2.2