I am not Data or AI scientist, I am just a Developer. I tried to learn AI in my free time. There are a lot of information from Internet. After reading many many articles and source codes, I still did not find the approach. I confused by many AI algorithms as CNN, Logistic Regresstion, K-Tree, N-Tree … As you know, I am a developer, so I did not understand at all. :).
Finally, I find the solution. The thing I need just Tensorflow.
To start, I try to build AI that can classify Dog/Cat Image. I followed the steps below.
Step 0 – Installation
I installed Tensorflow on my Ubuntu 14.04 Server by commands:
sudo apt-get install python-pip
sudo pip install virtualenv
virtualenv -p /usr/bin/python3 env
pip install --upgrade tensorflow
To understand this, you have to understand Python, PIP and Virtualenv
Step 1 – The Samples
I search Dog/Cat Image on Google Image. After that, I resize/save them to my local storage.
Please see link: https://github.com/thanhson1085/Hello-AI/tree/master/dataset/training_set
Step 2 – Training
After having the samples, I started to research to train my AI. I found the solution here: https://github.com/thanhson1085/Hello-AI/blob/master/retrain.py
It was copy from Tensorflow Example: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/image_retraining/retrain.py
Now, I run command to train my AI by using Inception V3 Model and my Training Dataset
python retrain.py --bottleneck_dir=tmp/bottlenecks --how_many_training_steps 500 --model_dir=tmp/inception --output_graph=output/retrained_graph.pb --output_labels=output/retrained_labels.txt --image_dir=dataset/training_set/
The most import thing is the output file
output/retrained_graph.pd. This is the trained model file, I will use this file for my AI.
Step 3 – AI Service
After having the trained model file. I wrote the AI Service. I used Flask Framework to handle uploading image. When user uploads a image, my AI service will check it is CAT or DOG. Please see the source code:
thisis = app.catordog.run(file_path)
For the details, see file https://github.com/thanhson1085/Hello-AI/blob/master/app.py and https://github.com/thanhson1085/Hello-AI/blob/master/catordog.py
Step 4 – Deployment
Now, everything is reading to deploy. I chose Heroku to run my AI service https://thanhson1085-hello-ai.herokuapp.com/
Finally, we have a simple AI, we understand how it works, how to train it and what is most important thing we need to build a AI.
Thanks for your reading!