iml-ue4's People
Forkers
crusader2k interchained-games 3rdi-corp liuxinghun dg3117 teouue lldcoder myelinsheathxd yid1331 gloria-gloglo23333 fort-bonnitar mojiatec rallymoose2 ziyabahceci emiraltintas lmorv dnrtrdataiml-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
Log spam from running models
"LogInteractML: Display: Running model 'Model1' synchronously"
Support UE5.1
Do you plan to support unreal engne 5.1?
RapidLib thread issues
Currently, RapidLib train()
and run()
methods aren't threadsafe. Some proposed fixes:
train()
should blockrun()
This will be a quick update, so that run with throw an error if training is in progressrun()
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 onlyallCosts
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.
Port to Mac / Apple hardware
We need to port this to run on a mac. Anyone who wants to help us work on this would be really appreciated.
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
CRASH: First attempt to run a model
Set up a new test UE project, added nodes to record/train/run. Hit play, crashed.
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.