Saturday, 6 July 2019

A Machine Learning App for an Age-Old Debate

flutter tutorial,flutter,flutter tutorial for beginners,flutter app,flutter tutorials,flutter sdk,tutorial,flutter course,learn flutter,flutter tutorial ios,flutter firebase tutorial,flutter widgets,flutter app development tutorial,flutter ios,flutter dart,flutter android,google flutter,flutter sdk tutorial,flutter tutorial app,google flutter tutorial,flutter sqflite tutorial,flutter tutorial deutsch,flutter tutorial android


Sandwhich

Sandwhich is a mobile app built to solve the sandwich debate by determining if the picture you've taken is a sandwich using machine learning, Flutter, and TensorFlow Lite.
flutter tutorial,flutter,flutter tutorial for beginners,flutter app,flutter tutorials,flutter sdk,tutorial,flutter course,learn flutter,flutter tutorial ios,flutter firebase tutorial,flutter widgets,flutter app development tutorial,flutter ios,flutter dart,flutter android,google flutter,flutter sdk tutorial,flutter tutorial app,google flutter tutorial,flutter sqflite tutorial,flutter tutorial deutsch,flutter tutorial android

flutter tutorial,flutter,flutter tutorial for beginners,flutter app,flutter tutorials,flutter sdk,tutorial,flutter course,learn flutter,flutter tutorial ios,flutter firebase tutorial,flutter widgets,flutter app development tutorial,flutter ios,flutter dart,flutter android,google flutter,flutter sdk tutorial,flutter tutorial app,google flutter tutorial,flutter sqflite tutorial,flutter tutorial deutsch,flutter tutorial android


Getting Started

Building from Source

Clone the repository
git clone https://github.com/MotionMobs/Sandwhich
cd Sandwhich
Bash
Run Sandwhich
flutter run
Bash

Train Your Model/ How To 🚋 Your 🥪

To train your 🥪, you need to install Docker and ImageMagick.
brew update && brew install imagemagick
Bash
Set up file structure for your images
training_images
│   ├── input
│   │   ├── not-sandwich
│   │   │   ├── processed  # processed not-sandwich images
│   │   │   └── unprocessed  # original, not yet processed not-sandwich images
│   │   ├── sandwich
│   │   │   ├── processed  # processed sandwich imagess
│   │   │   └── unprocessed  # original, not yet processed sandwich images
│   ├── output  # ready for model
│   │   ├── not-sandwich  # minimum 20 images to train
│   │   └── sandwich  # minimum 20 images to train
└──
Shell
Once original images are loaded into the folders, as described above, process the images
cd training_images
./conversion.sh
Bash
After all images have been processed we need to build the Docker image, run the script to retrain the model, and run the script to convert the retrained model to a .tflite model we can use in the app.
Go back to the root of the project and run:
cd -
./train.sh
Bash
Prepare to wait a while.

Testing

To test the new model, run ./test_model.sh $IMAGE_PATH where $IMAGE_PATH is any path to an image you want to test with. For convenience, you can even drag an image into the terminal to have its path placed at the end of whatever is currently in the terminal.
  • When ready to use the new model, move it to the assets folder and overwrite the old model. Backup old model if desired.
  • Run the app, find some sandwiches, and enjoy!

To release on Android:

flutter build apk --target-platform android-arm64


GitHub

A Machine Learning App for an Age-Old Debate. Coming April 1st 2019. — Read More
Latest commit to the master branch on 7-11-2019
Download as zip