All Projects β†’ omaralbeik β†’ mnist-coreml

omaralbeik / mnist-coreml

Licence: MIT License
Simple convolutional neural network to predict handwritten digits using Keras + CoreML for WWDC '18 scholarship [Accepted]

Programming Languages

Jupyter Notebook
11667 projects
swift
15916 projects

Projects that are alternatives of or similar to mnist-coreml

WWDC17
WWDC 2017 Scholarship Submission by Phil Zet (Philipp Zakharchenko)
Stars: ✭ 14 (-68.89%)
Mutual labels:  playground, uikit, wwdc
WWDC
🌈 𝐖𝐖𝐃𝐂 π’πžπ¬π¬π’π¨π§ 𝐍𝐨𝐭𝐞𝐬 πŸ‘©πŸ»β€πŸ’» ✨
Stars: ✭ 31 (-31.11%)
Mutual labels:  uikit, wwdc
Ios Learning Materials
πŸ“šCurated list of articles, web-resources, tutorials and code repositories that may help you dig a little bit deeper into iOS [and Apple Platforms].
Stars: ✭ 1,380 (+2966.67%)
Mutual labels:  uikit, coreml
About Swiftui
Gathering all info published, both by Apple and by others, about new framework SwiftUI.
Stars: ✭ 5,954 (+13131.11%)
Mutual labels:  uikit, wwdc
Mlmoji
Hand-Drawn Emoji Classifier (WWDC18 Scholarship Application)
Stars: ✭ 34 (-24.44%)
Mutual labels:  playground, coreml
Visualprogramminglanguage
Visual programming language written in Swift that assembles to executable Swift code. WWDC '18 scholarship submission.
Stars: ✭ 1,145 (+2444.44%)
Mutual labels:  playground, coreml
Wwdc20playground
WWDC20 Swift Student Challenge Winner (Actually a WWDC 19 project but reworked & rebranded)
Stars: ✭ 27 (-40%)
Mutual labels:  uikit, wwdc
createml-playgrounds
Create ML playgrounds for building machine learning models. For developers and data scientists.
Stars: ✭ 82 (+82.22%)
Mutual labels:  playground, coreml
WWDC-2017-Session-230-Advance-Animations-with-UIKit
Example project for "Sam's Photo" animations demonstrated in Session 203
Stars: ✭ 35 (-22.22%)
Mutual labels:  uikit, wwdc
airboardgame
AirBoardGame is a virtual tabletop to play and create any boardgame online with your friends
Stars: ✭ 45 (+0%)
Mutual labels:  playground
Polygon
No description or website provided.
Stars: ✭ 26 (-42.22%)
Mutual labels:  uikit
Loafjet
πŸš€ Loafjet is a lightweight custom framework used to add Loafs, Dash Board, Popup Card, and Loading indicator in your Swift project
Stars: ✭ 63 (+40%)
Mutual labels:  uikit
iphonepip
PiP (Picture in Picture) prototype for iPhone
Stars: ✭ 15 (-66.67%)
Mutual labels:  uikit
Extras
Just some extras..
Stars: ✭ 17 (-62.22%)
Mutual labels:  uikit
WordPress-UIkit-Starter-Theme
A WordPress starter theme for developers using the frontend framework UIkit
Stars: ✭ 55 (+22.22%)
Mutual labels:  uikit
ChatViewController
πŸ’¬ ChatViewController, ChatBar, ImagePicker like Slack Application. Message App written in Swift
Stars: ✭ 47 (+4.44%)
Mutual labels:  uikit
WWDC Learning Review
Present what I learned from WWDC each year. Purpose to work as a Learning Note
Stars: ✭ 16 (-64.44%)
Mutual labels:  wwdc
SPConfetti
Show the confetti only when the user is having fun, and if not having fun, don't show it.
Stars: ✭ 187 (+315.56%)
Mutual labels:  uikit
ukFontAwesome
Font Awesome icons for UIkit 3
Stars: ✭ 29 (-35.56%)
Mutual labels:  uikit
Musical-View
An implementation of a semi-modal view like iOS Music app.
Stars: ✭ 46 (+2.22%)
Mutual labels:  uikit

MNIST + CoreML

Simple convolutional neural network to predict handwritten digits using Keras + CoreML built for WWDC '18 scholarship submission [Accepted]

MNIST + CoreML

What is a Convolutional Neural Network ? πŸ€”

β€œA convolutional neural network is a class of deep, feed-forward artificial neural networks that have successfully been applied to analyzing visual imagery.

They were inspired by biological processes in that the connectivity pattern between neurons resembles the organization of the animal visual cortex. Individual cortical neurons respond to stimuli only in a restricted region of the visual field known as the receptive field. The receptive fields of different neurons partially overlap such that they cover the entire visual field.”

☝️ From Wikipedia


CONVNet simulation

☝️ Watch the full video on YouTube by Denis Dmitriev


The MNIST Dataset ✍️

The MNIST database is arguably the most famous database in the field of machine learning; it is a large database of 28x28 pixel images of handwritten digits created in 1999 by Yann LeCun.


The Model πŸ’»

Our model consists of 12 layers:

  1. Input (28x28 pixel image)
  2. Conv2D (Relu activation)
  3. MaxPooling2D
  4. Conv2D (Relu activation)
  5. MaxPooling2D
  6. Conv2D (Relu activation)
  7. MaxPooling2D
  8. Dropout (0.3)
  9. Flatten
  10. Dense
  11. Dropout (0.4)
  12. Dense (Softmax activation)

COVNet Model Visualization


Draw and classify digits in Playground Canvas 🎨

Run the MNIST+CoreML.playground on Xcode 9.0+ or Swift Playground app on the iPad

Make sure disable Enable Results before running

EnableResults


Creating and Training The Model πŸ‘©β€πŸ«

The model was created and trained using Keras (a high-level neural networks API, written in Python)

☝️ Run the Jupyter notebook to train the network on your own device πŸ’―


Converting to CoreML πŸ§™β€

Core ML is a framework introduced by Apple at WWDC '17 to integrate machine learning models into iOS, tvOS, macOS and watchOS apps.

The coremltools python package makes it very easy to generate the .mlmodel file, then all you need to do is just drag and drop that file into your Xcode project and you're all set 😎


Credits and Thanks πŸ™


Contributing

Your feedback is always appreciated and welcomed. If you find a bug in the source code, you can help me by submitting an issue. Even better you can submit a Pull Request with a fix :)


License πŸ‘¨β€βš–οΈ

This project is released under the MIT License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].