0

http://alchemy.cs.washington.edu/spn/にある Sum Product Network コードを実行しようとしています。

これを自分の Mac (ver 10.8.4) で実行しようとすると、次のエラーが発生します。

mpjrun.sh -np 1 eval.Run -d O
MPJ Express (0.40) is started in the multicore configuration
[Rank=0] *** Parameters ***
[Rank=0]    domain=O
[Rank=0]    numSumPerRegion=20
[Rank=0]    numComponentsPerVar=4
[Rank=0]    sparsePrior=1.0
[Rank=0]    baseResolution=4
[Rank=0]    numSlavePerClass=50
[Rank=0]    numSlaveGrp=1
[Rank=0] <TIME> init 1687 ms

mpjdev.MPJDevException: In Comm.irecv(), requested source 1 does not exist in 

communicator of size 1
        at mpjdev.Comm.recv(Comm.java:864)
        at mpi.Comm.recv(Comm.java:1294)
        at mpi.Comm.Recv(Comm.java:1255)
        at spn.SPN.recvUpdate(SPN.java:650)
        at spn.GenerativeLearning.learnHardEM(GenerativeLearning.java:52)
        at spn.GenerativeLearning.learn(GenerativeLearning.java:16)
        at eval.Run.runOlivetti(Run.java:147)
        at eval.Run.proc(Run.java:46)
        at eval.Run.main(Run.java:40)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at runtime.starter.MulticoreStarter$1.run(MulticoreStarter.java:277)
        at java.lang.Thread.run(Thread.java:744)
    java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at runtime.starter.MulticoreStarter$1.run(MulticoreStarter.java:277)
        at java.lang.Thread.run(Thread.java:744)
    Caused by: mpi.MPIException: mpi.MPIException: mpjdev.MPJDevException: In Comm.irecv(), requested source 1 does not exist in communicator of size 1
        at mpi.Comm.Recv(Comm.java:1259)
        at spn.SPN.recvUpdate(SPN.java:650)
        at spn.GenerativeLearning.learnHardEM(GenerativeLearning.java:52)
        at spn.GenerativeLearning.learn(GenerativeLearning.java:16)
        at eval.Run.runOlivetti(Run.java:147)
        at eval.Run.proc(Run.java:46)
        at eval.Run.main(Run.java:40)
        ... 6 more
    Caused by: mpi.MPIException: mpjdev.MPJDevException: In Comm.irecv(), requested source 1 does not exist in communicator of size 1
        at mpi.Comm.recv(Comm.java:1317)
        at mpi.Comm.Recv(Comm.java:1255)
        ... 12 more
    Caused by: mpjdev.MPJDevException: In Comm.irecv(), requested source 1 does not exist in communicator of size 1
        at mpjdev.Comm.recv(Comm.java:864)
        at mpi.Comm.recv(Comm.java:1294)
        ... 13 more

これは、私が与える np の任意の値に対して発生します。これは SPN コードの問題ではなく、MPJ-Express で行っていることだと思います。MPJ-Express のバージョン 0.40 と 0.37 の両方を試しましたが、同じ結果が得られました。

御時間ありがとうございます。

4

1 に答える 1