POMDPs.jl Tiger example not up to date?

86 views
Skip to first unread message

jacques.d...@gmail.com

unread,
Dec 7, 2017, 2:09:07 PM12/7/17
to julia-pomdp-users
Hi,

I have been trying to run the SARSOP solver on an example problem. When I go back to the Tiger example, there are two issues I run into. The first is that I can't seem to run the Tiger.ipynb notebook. I suspect this may be a julia version issue. I am using v0.6, and it seems the notebook was generated with 0.5.1. The error I get is below.

The second issue I get is that the SARSOP solver does not seem to require the same implementation as what I see in the Tiger example. When I try to run SARSOP, it throws an error because obs_index is not implemented. It looks to me like SARSOP was updated since the Tiger example was written. This function will not be very difficult to implement, but I want to make sure I am using this correctly. 

Generating a pomdpx file: model.pomdpx
could not spawn `/Users/jacquesdechalendar/.julia/v0.6/SARSOP/deps/appl-0.96/src/pomdpsol model.pomdpx --output out.policy`: no such file or directory (ENOENT)

Stacktrace:
 [1] _jl_spawn(::String, ::Array{String,1}, ::Ptr{Void}, ::Base.Process, ::RawFD, ::RawFD, ::RawFD) at ./process.jl:360
 [2] #373 at ./process.jl:512 [inlined]
 [3] setup_stdio(::Base.##373#374{Cmd}, ::Tuple{RawFD,RawFD,RawFD}) at ./process.jl:499
 [4] #spawn#372(::Nullable{Base.ProcessChain}, ::Function, ::Cmd, ::Tuple{RawFD,RawFD,RawFD}) at ./process.jl:511
 [5] run(::Cmd) at ./process.jl:650
 [6] #solve#5(::Bool, ::String, ::Function, ::SARSOP.SARSOPSolver, ::TigerPOMDP, ::SARSOP.POMDPPolicy) at /Users/jacquesdechalendar/.julia/v0.6/SARSOP/src/solver.jl:99
 [7] solve(::SARSOP.SARSOPSolver, ::TigerPOMDP) at /Users/jacquesdechalendar/.julia/v0.6/SARSOP/src/solver.jl:94
 [8] include_string(::String, ::String) at ./loading.jl:515

jacques.d...@gmail.com

unread,
Dec 7, 2017, 2:35:08 PM12/7/17
to julia-pomdp-users
As a quick followup, I noticed that the SARSOP build was failing. Is this causing the error I am seeing?

If I understand the error correctly, it is happening on line 99 of solver.jl: run(`$EXEC_POMDP_SOL $(pomdp_file.filename) --output $(policy.filename)`)

EXEC_POMDP_SOL seems to point to "/Users/jacquesdechalendar/.julia/v0.6/SARSOP/deps/appl-0.96/src/pomdpsol" on my computer, but that file does not exist..

Zachary Sunberg

unread,
Dec 7, 2017, 6:27:12 PM12/7/17
to julia-pomdp-users
Hi Jacques,

Thanks for reporting this problem. Yes, indeed the kernel number had not been updated. I updated it in the latest POMDPs master.


The second issue I get is that the SARSOP solver does not seem to require the same implementation as what I see in the Tiger example. When I try to run SARSOP, it throws an error because obs_index is not implemented. It looks to me like SARSOP was updated since the Tiger example was written. This function will not be very difficult to implement, but I want to make sure I am using this correctly. 

Since the observations are Bools, the obs_index function should automatically be provided here: https://github.com/JuliaPOMDP/POMDPToolbox.jl/blob/master/src/convenience/implementations.jl#L36 is that not working?

As a quick followup, I noticed that the SARSOP build was failing. Is this causing the error I am seeing?

If I understand the error correctly, it is happening on line 99 of solver.jl: run(`$EXEC_POMDP_SOL $(pomdp_file.filename) --output $(policy.filename)`)

EXEC_POMDP_SOL seems to point to "/Users/jacquesdechalendar/.julia/v0.6/SARSOP/deps/appl-0.96/src/pomdpsol" on my computer, but that file does not exist..

Yes! Building the SARSOP binary from C++ fails on some versions of MacOSX (including the one on Travis), but we have never been able to find a person with a physical laptop that it fails on. Perhaps you can help us figure out why it is not working on your OSX

Uncommenting lines 34-58 in build.jl (https://github.com/JuliaPOMDP/SARSOP.jl/blob/master/deps/build.jl#L34) on your machine and running Pkg.build("SARSOP") in julia *might* fix it. Or it might be another problem. We have not been able to debug it because we have not had access to an affected machine.





Message has been deleted

jacques.d...@gmail.com

unread,
Dec 7, 2017, 7:38:31 PM12/7/17
to julia-pomdp-users
In my toy problem, the observations are Float64, so I think that explains the first issue I was having.

As for the SARSOP build failure, uncommenting lines 34-58 in build.jl and trying to build the package again yields the following errors: https://gist.github.com/jdechalendar/88de03277b78391b848209a387da1edc

Zachary Sunberg

unread,
Dec 7, 2017, 7:46:45 PM12/7/17
to julia-pomdp-users
Thanks for reporting that. Unfortunately I don't think I'll be able to help you too much in debugging it. 

Mykel told me to send people with this problem directly to him. Can you email him and see if you can set up a time to meet with him. His schedule is here http://mykel.kochenderfer.com/calendar/

Unfortunately it looks like you might not be able to find a time for that before the project is due, so you may not be able to use SARSOP unless you have access to a Windows/Linux machine or can figure out how to get it to compile on your mac on your own :/

keith.a...@gmail.com

unread,
Mar 9, 2018, 1:51:03 PM3/9/18
to julia-pomdp-users
Hello, I think I'm having the same problem but I'm on a windows machine. Is there a known workaround for windows? Do I need to install the APPL code separately? Thanks in advance for any advice.

Here's the code I'm trying to run from the crying babies demo from POMDPs.jl:

using POMDPs
using POMDPModels

POMDPs.add("SARSOP")
using SARSOP

bp = BabyPOMDP()
up = BabyBeliefUpdater(bp)
solver = SARSOPSolver()
p = solve(solver, bp)

and the error is:


could not spawn `'C:\Users\op\AppData\Local\JuliaPro-0.6.2.2\pkgs-0.6.2.2\v0.6\SARSOP\deps\appl\src\pomdpsol' model.pomdpx --output out.policy`: no such file or directory (ENOENT)
in #spawn#375 at base\process.jl:511
in setup_stdio at base\process.jl:499
in _jl_spawn at base\process.jl:360

Zachary Sunberg

unread,
Mar 10, 2018, 2:49:22 PM3/10/18
to julia-pomdp-users
Hi Andrew,

Thanks for reporting this problem! I think the issue you filed in SARSOP.jl is the more appropriate place for discussion. For people discovering this thread, the issue is here: https://github.com/JuliaPOMDP/SARSOP.jl/issues/19

- Zach
Reply all
Reply to author
Forward
0 new messages