https://github.com/bjoern-hempel/keras-machine-learning-framework
This framework prepares, trains and validates an image classifier.
https://github.com/bjoern-hempel/keras-machine-learning-framework
deep-learning image-classification machine-learning prediction python python3
Last synced: 2 months ago
JSON representation
This framework prepares, trains and validates an image classifier.
- Host: GitHub
- URL: https://github.com/bjoern-hempel/keras-machine-learning-framework
- Owner: bjoern-hempel
- License: mit
- Created: 2019-09-12T21:51:11.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-10-05T21:57:01.000Z (over 4 years ago)
- Last Synced: 2024-12-27T03:13:16.451Z (4 months ago)
- Topics: deep-learning, image-classification, machine-learning, prediction, python, python3
- Language: Python
- Homepage:
- Size: 1.63 MB
- Stars: 3
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Keras Machine Learning Framework
This machine learning framework prepares, trains and validates an image classifier.
## In short
Trains the data path F:/data/path/to/data with the included classes and saves the model to F:/data/processed/model.h5.
```bash
(keras-gpu) C:\Users> ml train --environment-path=F:/data --data-path=path/to/data \
--model-file=processed/model.h5 -m MobileNetV2 -v
```See [Train, build and save the model (`ml train`)](/markdown/image-classification/train.md) for more details.
## Install Keras with GPU Support (Preparation)
* [Keras GPU Installation on Windows](/markdown/installation/keras-gpu-windows.md)
* [Keras GPU Installation on Mac](/markdown/installation/keras-gpu-mac.md)
* [Keras GPU Installation on Linux](/markdown/installation/keras-gpu-linux.md) _(In progress)_## Why is it important to choose a GPU over a CPU?
If you intend to implement and optimize Deep Neuronal Networks (DNN), the calculations must take place on the GPU. It is also possible to run calculations on the CPU. Also the installation of Keras for CPU driven computations is much easier, because the installation of the GPU drivers is not necessary. The disadvantage of this, however, is that it takes much longer to train larger models. Good models for the classification of e.g. pictures are only achieved after several training units. Training units require a lot of computing power in the form of many matrix operations. A GPU is predestined for matrix operations[[1]](#gpumatrixmult).
* [GPU vs CPU](markdown/hardware/gpu-vs-cpu.md)
## Python is not really intended for production environments
..but perfect for machine learning experiments. ;)
* [Cross-language model exchange (Python → JAVA)](/markdown/cross-language/python-java.md)
## Some background knowledge
* [The deductive learning approach versus the inductive learning approach: see nine points demo](/markdown/demos/nine_points.md)
* Neuronal network vs Millions of parameters
* Transfer Learning
* ...## Demos
To test this framework immediately without any data, there is a selection of demos which can be executed immediately. Good to e.g. test the installation or make a GPU vs CPU comparison on the fly.
Here is an overview of the demos:
* [Demo Overview](/markdown/demos/overview.md)
## First attempts to train an image classifier
* [Train, build and save the model (`ml train`)](/markdown/image-classification/train.md)
* [Analyse the trained model - confusion matrix (`ml analyse`)](/markdown/image-classification/analyse.md)
* [Evaluate a given image (`ml evaluate`)](/markdown/image-classification/evaluate.md)
* [Transfer learning](/markdown/image-classification/transfer-learning.md)
* [Arguments](/markdown/image-classification/arguments.md)
* Preparations to make training more efficient
* ...## Further attempts
* [Use the evaluation service](/markdown/image-classification/use-evaluation-service.md)
* [Use the http webservice for evaluation](/markdown/image-classification/use-http-webservice.md)## A. Further Tutorials
* [An introduction to artificial intelligence](https://github.com/friends-of-ai/an-introduction-to-artificial-intelligence)
## B. Sources
* [1][Understanding the Efficiency of GPU Algorithms for Matrix-Matrix Multiplication](https://graphics.stanford.edu/papers/gpumatrixmult/gpumatrixmult.pdf)
* [2][What Does Classifying More Than 10,000 Image Categories Tell Us?](http://vision.stanford.edu/pdf/DengBergLiFei-Fei_ECCV2010.pdf)## C. Authors
* Björn Hempel - _Initial work_ - [https://github.com/bjoern-hempel](https://github.com/bjoern-hempel)
## D. License
This tutorial is licensed under the MIT License - see the [LICENSE.md](/LICENSE.md) file for details
## E. Closing words
Have fun! :)