Table of Contents
ATUM is an experimental plugin which enables developers to use machine learning inside Unreal Engine's environment. It is currently the only solution which does not force the user to integrate Python into their workflow.
With ATUM you can:
- Design neural networks inside the editor
- Perform operations using tensors
- Save & load your models to and from files
- Create custom layers, optimisers and tensors
- Use every feature in both C++ and Blueprints
Please note that this is a final year project for university, so do not expect this to be updated in the future. If you are interested in this project and wish to elevate it further, feel free to fork this repository.
In order for this plugin to work, additional files which are not present in this repository are required. Those files can be accessed from the official PyTorch website.
- OS: Windows - 64 bit
- UE: version 5.2+
- GPU: Must support CUDA
- Download the release version of LibTorch with CUDA support
- Extract the
include
andlib
folders - In your UE project, create a folder
Plugins
if it doesn't exist - Inside it create another folder called
Atum
if it doesn't exist - Clone this repository and move the files inside the
Atum
folder - Go to
Source/ThirdParty/LibTorch/Win64
- Replace
include
andlib
with the extracted folders from step 2 - Go to
include/torch/csrc/api/include/torch/enum.h
- Find the following line of code
TORCH_API extern const enumtype::k##name k##name;
- Remove
TORCH_API extern
from the aforementioned line of code - Go to
include/torch/csrc/api/include/torch/nn/module.h
- Find the
Module
class - Add the following line of code inside it
friend class IAtumLayer;
Check out the project at https://github.com/bUsernameIsUnavailable/CartPole
Distributed under the MIT License. See LICENSE
for more information.