This repository contains an implementation of a GRU neural network that can be used in iOS apps with Core ML. The model is trained on user data collected while the app is running (all training on device), making it more accurate over time. The model is able to predict the next enum value based on previous selected enum values and time.
- iOS 13.0+
- Xcode 11+
- Python 3+
- Keras 2.4+
- Tensorflow 2+
- Coremltools 4+
- Clone the repository:
git clone https://github.com/denismurphy/gru-coreml.git
-
Open the project in Xcode and add the Core ML and Core Data frameworks.
-
Use the provided Python script to train the model on your data.
-
Convert the trained model to Core ML format using the coremltools package.
-
Drag and drop the generated .mlmodel file into your Xcode project.
-
Use the model in your iOS app to make predictions.
-
Collect data and update the model while the app is running.
-
The model is only able to predict the next enum value based on previous selected enum values and time.
-
The accuracy of the model depends on the quality and quantity of the data used to train it.
-
The model is only compatible with iOS 13.0 and above.
- Implementing LSTM in addition to GRU to see which one gives better results
- Experiment with different architectures like stacked layers, bidirectional layers
- Implementing more sophisticated data collection and processing methods to improve the model's performance.
All contributions are welcome, feel free to submit a pull request or open an issue if you have any suggestions or find any bugs.
- Denis Murphy
This project is licensed under the MIT License.