JTFS report #784
OverLordGoldDragon
started this conversation in
Show and tell
JTFS report
#784
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Implementation maximizes speed, flexibility, and accuracy. Every feature is tested and documented. Standard JTFS variant is implemented, along some "innovated". Visualization and toolkit modules are provided for further processing and interactivity, and can be packaged into a separate library.
Lists not exhaustive.
JTFS Novelties
aligned == False
: eliminate oversampling in frequential scattering; disc.sampling_psi_fr == 'recalibrate'
: maximize coefficient informativeness by dedicating a filterbank to every frequential scale; disc.out_3D == True
: more info-rich if packing into 3D/4D, and enforces per-n2
alignmentpad_mode, pad_mode_fr
:lambda
and'zero'
paddings addedpad_mode == 'reflect'
: make it work without compromising FDTS discriminability, viabackend.conj_reflections
; disc.pad_mode_fr == 'conj-reflect-zeros'
: reflect-like padding across frequency; disc.max_pad_factor
,max_pad_factor_fr
:None
to eliminate boundary effectsaverage_global, average_fr_global
: simplemean()
uponT == N
for faster computefilter_bank.energy_norm_filterbank
: filters rescaled individually to meet LP sum bound preciselytoolkit.pack_coeffs_jtfs
: correctly pack coeffs into a 4D/3D tensorout_exclude
: compute only what's neededmeta
(coeffs): exhaustive, and added:stride, is_cqt, s
(s = spin
)meta
(filters): added:support, width, is_cqt
Testing: JTFS correctness
n1
paths per(n2, n1_fr)
slice in frequential scattering,aligned==True
)T
core, backend, frontend
; runs on GPUConfirmed stability against time warp deformations but didn't write a test for.
Visuals
#718
Toolkit
normalize
: log norm & standardization; disc.pack_coeffs_jtfs
: correctly pack output into 3D/4D tensorscoeff_energy_ratios
: statistically robust alternative to global ratio of energiesest_energy_conservation
: estimate upper bound on energy conserved given scattering configurationsvalidate_filterbank
: quality checkechirp, fdts
: useful test signalscoeff_energy, coeff_distance
: should potentially drop (see docs)Explanations
I wrote some posts which users might find helpful for understanding the library, could reference in docs:
Future work
Implems are welcome:
visuals
method for this, coefficients only and no GIF. An implemJ2
likeQ2
for Scattering1D and JTFS. An implem'l1-energy'
at first order may rescale CQT peaks by slightly different factors which is undesired for FDTS discrim., would help to have variant that partly sacrifices LP sum for uniformity over this regime. Currently a non-issue in tested configs as the slight differences are ... slightmean()
andmin_to_pad_phi = 0
forN_fr_scale <= log2_F
even ifF != 'global'
3.N_frs -> p2up(N_frs)
: description + implemBeta Was this translation helpful? Give feedback.
All reactions