Giter VIP home page Giter VIP logo

iml-ue4's People

Contributors

bonzomartini avatar claricehilton avatar marcogillies avatar phoenixperry avatar sam-apparance avatar samswain avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

iml-ue4's Issues

Training Set & Classification Model states are not properly persistent across restarts when using complex labels

Hi,

I found a small issue with model persistence across editor restarts (same with standalone apps): In the classification model, when I record examples for a set of labels of a custom label type (e.g. 7 different labels, all with one field) and save the trained model & training set to disk, two JSON files are created - 1 for the training set and 1 for the model. In the editor, exiting and re-starting the game works fine because the training set (and by extension the model) keeps all the recorded labels stored in the LabelCache object. However, when restart the editor, the LabelCache is not restored properly, which leads to inconsistencies between what the training set / model knows and what is stored in the label cache. For me this resulted in only 3 out of 7 labels being read correctly.
My quick workaround was to also save another JSON containing the LabelCache data to disk when saving the InteractML data, and restoring that on load.

I'm on Windows 10 with UE4.27 and the latest version of iml-ue4.

Let me know if I'm doing something wrong, otherwise the workaround seems to work in all situations I've encountered so far.

Best,
Max

UE5 support

InteractML is known to work in UE5 with no code changes. For now you will have to compile it from source yourself. We hope to add it to the Marketplace product listing (not yet live) in the future.

Expected Output float not connecting to Example Recorder Float pin (Unreal 5.0.1)

In the event graph, if you create a float variable and attempt to assign it to the Example Recorder note parameter "expected output" it gives the following error, "Float (double precision) is not compatible with float." If you attempt to promote the expected output parameter to a variable and connected it, it gives you the following error, "Float (single precision) is not compatible with float."

Any plugin configuration should appear in Project Settings

Currently you have the configure the plugin via the .ini file, which may need manually set up. Unreal supports config variables that will appear in the project settings UI and provide a much nicer UX for configuring the plugin.
The plugin only has one configurable setting (at the moment), the Data path. It has a sensible default and so doesn't actually need to be configured to use the plugin.
The setting should appear under: Project Settings -> Plugins -> InteractML

RapidLib thread issues

Currently, RapidLib train() and run() methods aren't threadsafe. Some proposed fixes:

  • train() should block run() This will be a quick update, so that run with throw an error if training is in progress
  • run() for kNN can easily be improved. There are a couple of calculation variables that are part of the class but really don't need to be.
  • run() for neural networks uses some memory. It's good that this doesn't need to be reallocated during training. There needs to be a new, threadsafe run method.
  • run() for DTW ...maybe only allCosts is the problem? I should double-check this.

Linux Support

First let me thank you for making such amazing plugin and making it open source. and also using opensource libraries.
Also i think rapidLib was an excellent choice.

I want to run this on linux (ue5). currently i can´t because it can´t compile the plugin.

[1/8] Compile Module.InteractML.cpp
In file included from /home/nande/work/uep/tdai/Plugins/InteractML/Intermediate/Build/Linux/B4D820EA/UnrealEditor/Development/InteractML/Module.InteractML.cpp:2:
In file included from /home/nande/work/uep/tdai/Plugins/InteractML/Source/InteractML/Private/InteractML.cpp:7:
In file included from /home/nande/work/uep/tdai/Plugins/InteractML/Source/InteractML/Public/InteractML.h:18:
/home/nande/work/uep/tdai/Plugins/InteractML/Source/InteractML/Public/InteractMLTask.h:16:10: fatal error: 'rapidLib.h' file not found
#include "rapidLib.h"

it says it cant find that library. but i checked and is there.
seems like the build.cs file doesn t include on linux but im not confident enough to do it myself.

i did however download rapidLib from github and compiled with cmake on a different folder and it worked. so i hope this will work too.

log.txt

The demo project blueprint InteractML_MotionControlPawn won't compile...

Hi,

I am excited by the potential of InteractML! I am attempting to try some of the demos out, and I am hitting a snag. Everything seems to relate to the motion control pawn... I am attaching a portion of the errors that are showing. Hopefully it will be something obvious that I am missing.

Any thoughts?

Kind regards,
Owen

Capture

Possible to increase CPU utilization when training?

Currently while I'm training my models I'm getting around 20%-30% CPU utilization across all threads, which is great with respect to multi-threaded support, but since my application only consists of 2D UI, I'm not really all that concerned with the CPU utilization. Since I'm working with larger data sets, my training can take a little longer than I'd prefer.

Would it be possible to allow the training to use more CPU performance, and if so would it be possible to add a CPU utilization option to the training nodes as an enum or something of the like (Low, Medium, High, Maximum)? It would likely lead to significantly faster training times in my use-case, by around a factor of 3, which would be awesome.

Create array input parameter for "Collect All The Things!" Node

Hi!

First of all, thank you for your great work on this, I have been using it for the past few days and it's amazing! I have a quick question regarding input handling on the "Collect All The Things Node" - in the wiki it is mentioned that all data is internally represented as a float array, so would it be possible to add support for a float array input parameter? I have a collection of floats that come from hand joint data for each training sample, and don't know how to elegantly feed them into a training set in the current state.

Let me know what you think :)
Max

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.