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

Sherlock LoadError on small network #113

Closed
castrong opened this issue Jul 9, 2020 · 0 comments
Closed

Sherlock LoadError on small network #113

castrong opened this issue Jul 9, 2020 · 0 comments
Assignees

Comments

@castrong
Copy link
Collaborator

castrong commented Jul 9, 2020

I get the following error and stack trace when running Sherlock with epsilon = 0.5 on a small example:

ERROR: LoadError: MethodError: Cannot convert an object of type Hyperrectangle{Float64} to an object of type Array{#s13,1} where #s13<:AbstractPolytope
Closest candidates are:
convert(::Type{T<:Array}, ::AbstractArray) where T<:Array at array.jl:474
convert(::Type{T<:AbstractArray}, ::T<:AbstractArray) where T<:AbstractArray at abstractarray.jl:14
convert(::Type{T<:AbstractArray}, ::LinearAlgebra.Factorization) where T<:AbstractArray at /Users/sabae/buildbot/worker/package_macos64/build/usr/share/julia/stdlib/v1.2/LinearAlgebra/src/factorization.jl:46
...
Stacktrace:
[1] ReachabilityResult(::Symbol, ::Hyperrectangle{Float64}) at /Users/cstrong/Desktop/Stanford/Research/NV_Fork/NeuralVerification.jl/src/utils/problem.jl:114
[2] interpret_result(::Hyperrectangle{Float64}, ::Hyperrectangle{Float64}, ::Hyperrectangle{Float64}, ::Array{Float64,1}, ::Array{Float64,1}) at /Users/cstrong/Desktop/Stanford/Research/NV_Fork/NeuralVerification.jl/src/satisfiability/bab.jl:48
[3] solve(::Sherlock, ::Problem{Hyperrectangle{Float64},Hyperrectangle{Float64}}) at /Users/cstrong/Desktop/Stanford/Research/NV_Fork/NeuralVerification.jl/src/satisfiability/sherlock.jl:41
[4] top-level scope at /Users/cstrong/Desktop/Stanford/Research/NV_Fork/NeuralVerification.jl/examples/SimpleProblem.jl:12
[5] include at ./boot.jl:328 [inlined]
[6] include_relative(::Module, ::String) at ./loading.jl:1094
[7] include(::Module, ::String) at ./Base.jl:31
[8] include(::String) at ./client.jl:431
[9] top-level scope at none:0
in expression starting at /Users/cstrong/Desktop/Stanford/Research/NV_Fork/NeuralVerification.jl/examples/SimpleProblem.jl:12

Code to reproduce this and network are shown below:

# Setup problem
network = NeuralVerification.read_nnet("./test/test_sets/random/small/networks/rand_[1,3,1]_1.nnet")
input_set = NeuralVerification.Hyperrectangle([0.12133537641044301], [0.2612909441775033])
output_set = NeuralVerification.Hyperrectangle([-0.2053508574991203], [0.5961870200944133])
problem = NeuralVerification.Problem(network, input_set, output_set)

# Sherlock issue
println(NeuralVerification.solve(NeuralVerification.Sherlock(ϵ = 0.5), problem))

Network:

//Neural Network File Format by Kyle Julian, Stanford 2016.
2, 1, 1, 3,
1, 3, 1,
This line extraneous
-6.55e4,
6.55e4,
0.0,0.0,
1.0,1.0,
0.5787480927621855,
-0.07673617148366274,
0.924732195346472,
-0.9480930058986625,
-0.24850641735286505,
0.6232748287772321,
-0.5576518964746899, -0.33490823749601883, -0.717037022479706,
0.559366971361952,

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