Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Frequency warping example doesn't work #50

Closed
ymtoo opened this issue Nov 26, 2022 · 1 comment
Closed

Frequency warping example doesn't work #50

ymtoo opened this issue Nov 26, 2022 · 1 comment

Comments

@ymtoo
Copy link
Contributor

ymtoo commented Nov 26, 2022

Based on

dtw(.√(M1.power), .√(M2.power), dist)[1]
, MWE:

julia> using DynamicAxisWarping, SpectralDistances, Distances

julia> X = rand(128,10);

julia> Y = rand(128,10);

julia> n = size(X, 1)

julia> dist = DiscreteGridTransportDistance(Cityblock(), Float64, n, n)
DiscreteGridTransportDistance{Cityblock, Float64, Float64, Vector{Float64}}(Cityblock(), [0.0 1.0  126.0 127.0; 1.0 0.0  125.0 126.0;  ; 126.0 125.0  0.0 1.0; 127.0 126.0  1.0 0.0], [0.0 0.0  0.0 0.0; 0.0 0.0  0.0 0.0;  ; 0.0 0.0  0.0 0.0; 0.0 0.0  0.0 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0    0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0    0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])

julia> dtw(X, Y, dist)
ERROR: ArgumentError: Sizes do not match, should be (length(x1),length(x2)) == size(D), but got (1, 1), (128, 128)
Stacktrace:
  [1] evaluate(d::DiscreteGridTransportDistance{Cityblock, Float64, Float64, Vector{Float64}}, x1::Float64, x2::Float64; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ SpectralDistances ~/.julia/packages/SpectralDistances/pJIYN/src/losses.jl:678
  [2] evaluate
    @ ~/.julia/packages/SpectralDistances/pJIYN/src/losses.jl:675 [inlined]
  [3] #_#49
    @ ~/.julia/packages/SpectralDistances/pJIYN/src/losses.jl:30 [inlined]
  [4] AbstractDistance
    @ ~/.julia/packages/SpectralDistances/pJIYN/src/losses.jl:30 [inlined]
  [5] result_type
    @ ~/.julia/packages/Distances/6E33b/src/generic.jl:36 [inlined]
  [6] result_type
    @ ~/.julia/packages/Distances/6E33b/src/generic.jl:35 [inlined]
  [7] pairwise(metric::DiscreteGridTransportDistance{Cityblock, Float64, Float64, Vector{Float64}}, a::Matrix{Float64}, b::Matrix{Float64}; dims::Int64)
    @ Distances ~/.julia/packages/Distances/6E33b/src/generic.jl:320
  [8] dtw_cost_matrix(seq1::Matrix{Float64}, seq2::Matrix{Float64}, dist::DiscreteGridTransportDistance{Cityblock, Float64, Float64, Vector{Float64}}; transportcost::Int64, postprocess::Nothing)
    @ DynamicAxisWarping ~/.julia/packages/DynamicAxisWarping/BErBL/src/dtw.jl:48
  [9] dtw_cost_matrix(seq1::Matrix{Float64}, seq2::Matrix{Float64}, dist::DiscreteGridTransportDistance{Cityblock, Float64, Float64, Vector{Float64}})
    @ DynamicAxisWarping ~/.julia/packages/DynamicAxisWarping/BErBL/src/dtw.jl:40
 [10] dtw(::Matrix{Float64}, ::Vararg{Any}; kwargs::Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}})
    @ DynamicAxisWarping ~/.julia/packages/DynamicAxisWarping/BErBL/src/dtw.jl:26
 [11] dtw(::Matrix{Float64}, ::Vararg{Any})
    @ DynamicAxisWarping ~/.julia/packages/DynamicAxisWarping/BErBL/src/dtw.jl:25
 [12] top-level scope
    @ REPL[14]:1

Julia and packages:

julia> versioninfo()
Julia Version 1.8.3
Commit 0434deb161e (2022-11-14 20:14 UTC)
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 8 × Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-13.0.1 (ORCJIT, skylake)
  Threads: 1 on 8 virtual cores
Environment:
  LD_LIBRARY_PATH = /opt/ros/noetic/lib::/usr/local/cuda/lib64

(jl_sG9PJn) pkg> st
Status `/tmp/jl_sG9PJn/Project.toml`
  [b4f34e82] Distances v0.10.7
  [aaaaaaaa] DynamicAxisWarping v0.4.12
  [2b0dec9d] SpectralDistances v0.1.14
@baggepinnen
Copy link
Owner

Thanks for the issue, I pushed a fix to SpectralDistances and some fixes to the example file as well. When

is merged, you should be able to run the example :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants