OpenSeeFaceSample icon indicating copy to clipboard operation
OpenSeeFaceSample copied to clipboard

"DllNotFoundException: SVMModel" when trying to "Train" with OpenSeeExpression

Open Beat24 opened this issue 2 years ago • 4 comments

I'm using Unity 2020.3.30f1 Personal running on KDE Neon 5.24 (Ubuntu 20.04 LTS)

I'm trying to record expressions with the OpenSeeExpression Script, but when I click "Train" I get this Exception in the Console:

DllNotFoundException: SVMModel OpenSee.SVMModel.trainModel (System.Single[] features, System.Single[] labels, System.Single[] weights, System.Int32 rows, System.Int32 cols, System.Int32 classes, System.Int32 probability, System.Single C) (at Assets/OpenSeeFace/Plugins/SVMModel.cs:19) OpenSee.SVMModel.TrainModel (System.Single[] features, System.Single[] labels, System.Single[] weights, System.Int32 rows, System.Int32 cols, System.Int32 probability, System.Single C) (at Assets/OpenSeeFace/Plugins/SVMModel.cs:174) OpenSee.OpenSeeExpression.TrainModel () (at Assets/OpenSeeFace/OpenSeeExpression.cs:528) OpenSee.OpenSeeExpression.Update () (at Assets/OpenSeeFace/OpenSeeExpression.cs:701)

I also get this message when clicking the "Load" tick:

ArgumentNullException: Buffer cannot be null. Parameter name: buffer System.IO.MemoryStream..ctor (System.Byte[] buffer, System.Boolean writable) (at <695d1cc93cca45069c528c15c9fdd749>:0) System.IO.MemoryStream..ctor (System.Byte[] buffer) (at <695d1cc93cca45069c528c15c9fdd749>:0) (wrapper remoting-invoke-with-check) System.IO.MemoryStream..ctor(byte[]) OpenSee.SVMModel.LoadSerialized (System.Byte[] modelBytes, System.Int32& cols, System.Int32& maxClasses, System.Boolean compress) (at Assets/OpenSeeFace/Plugins/SVMModel.cs:82) OpenSee.SVMModel.LoadModel (System.Byte[] modelBytes, System.Boolean compress) (at Assets/OpenSeeFace/Plugins/SVMModel.cs:129) OpenSee.SVMModel.LoadModel (System.Byte[] modelBytes) (at Assets/OpenSeeFace/Plugins/SVMModel.cs:134) OpenSee.SVMModel..ctor (System.Byte[] modelBytes) (at Assets/OpenSeeFace/Plugins/SVMModel.cs:277) OpenSee.OpenSeeExpression+OpenSeeExpressionRepresentation.LoadSerialized (System.Byte[] modelBytes, System.Collections.Generic.Dictionary``2[System.String,System.Collections.Generic.List`1[System.Single[]]]& expressions, OpenSee.SVMModel& model, System.String[]& classLabels, System.Int32[]& indices, OpenSee.OpenSeeExpression+PointSelection& pointSelection) (at Assets/OpenSeeFace/OpenSeeExpression.cs:172) OpenSee.OpenSeeExpression.LoadFromBytes (System.Byte[] data) (at Assets/OpenSeeFace/OpenSeeExpression.cs:653) OpenSee.OpenSeeExpression.LoadFromFile () (at Assets/OpenSeeFace/OpenSeeExpression.cs:675) OpenSee.OpenSeeExpression.Update () (at Assets/OpenSeeFace/OpenSeeExpression.cs:704)

I haven't edited neither the script nor the plugin, I also seem to be getting the corresponding Debug.Logs when clicking "Train" up until

Training LibSVM UnityEngine.Debug:Log (object)

I also tried with ThunderSVM but it also fails

DllNotFoundException: ThunderSVMWrapper ThunderSVMModel.trainModel (System.Single[] features, System.Single[] labels, System.Single[] weights, System.Int32 rows, System.Int32 cols, System.Int32 classes, System.Int32 probability, System.Single C) (at Assets/OpenSeeFace/Plugins/ThunderSVMModel.cs:18) OpenSee.SVMModel.TrainModel (System.Single[] features, System.Single[] labels, System.Single[] weights, System.Int32 rows, System.Int32 cols, System.Int32 probability, System.Single C) (at Assets/OpenSeeFace/Plugins/SVMModel.cs:174) OpenSee.OpenSeeExpression.TrainModel () (at Assets/OpenSeeFace/OpenSeeExpression.cs:528) OpenSee.OpenSeeExpression.Update () (at Assets/OpenSeeFace/OpenSeeExpression.cs:701)

Beat24 avatar Mar 17 '22 02:03 Beat24