Amazing AI: Reverse Image Search

Amazing AI: Reverse Image Search


  • Python programming

  • Basic conceptual understanding of Convolutional Neural Networks (CNN)

  • Basic knowledge of Deep Learning ins mandatory

  • (optional) Previous coding experience with TensorFlow


Artificial intelligence is one of the fastest growing fields of computer science today and the demand for excellent AI Engineers is increasing day in and day out. This course will help you stay competitive in the AI job market by teaching you how to create a Deep Learning End-to-End product on your own.

Most courses focus on the basics of Deep Learning and teach you about the very basics of different models. In this course, however, you will learn how to write a whole End-to-End pipeline, from data preprocessing across choosing the right hyper-parameters, to showing your users results in a browser.

The case that we will tackle in this course is an engine for Image to Image Search.

Why should you take this course?

This course is not focused on teaching you Neural Networks (ANNs, CNNs, RNNs…), but teaching you how to apply them in real world cases.

If you haven’t worked on a product that uses Deep Learning before, this is the perfect course for you! Throughout the course we will work together on the Image to Image Search engine, starting from ground zero - image preprocessing, creating a model, training it, then testing. After that we will create a simple web application and use it to serve our model in production.

Another cool thing about this course is that we will use multiple programming languages to create the whole application around the model itself. This will make you not only a better AI Engineer but also get you on the path towards becoming a Full stack AI Engineer.

After taking this course you will guarantee yourself to be one step closer to landing your dream job as an AI/ML Engineer by having your own AI product/project in your portfolio.

Libraries/Tools used in the course:

The whole Deep learning back-end of our pipeline will be built using Tensorflow 1.10.0. For some image preprocessing task we will use some basic functionality from OpenCV, the most important Python library for image processing tasks!

For the app’s back-end (model handling, image uploading, page navigation, etc.) we will use the Flask python framework.

And for our interactive, front-end we are going to use HTML, CSS, JavaScript and Jinja templating language. So at the end of the course you will have full stack working application.

Who is this course for?

As you can see the course is meant to teach you how to create your own Deep Learning product from scratch.

If you are just starting out with Deep Learning, this course might be too hard for you. But if you like challenges, I do recommend following it. Although I will not be explaining the meat of Neural Networks (ANNs, CNNs), I will explain most concepts in great detail, so even if you are a total beginner you should be able to follow with the help of your peers or my help through the comments section.

If you have Deep Learning experience and want to move it to the next level you will find this course very useful! You can consider it as a level up for your skills by putting your already great skills to new use. At the end of the course you will not only have learned how to create a working End-to-End pipeline, but also hold proof of your skills for potential employers!


The conclusion is this - this is very rare opportunity, not only to learn Deep Learning concepts, but also how to apply that knowledge and create your own web application (as a complete product) from scratch.

I hope to see you in class!


Who this course is for:

  • Everyone interested in Deep Learning
  • Students who already have basic/intermediate understanding of the backpropagation algorithm
  • Anyone interested in raising their Deep Learning knowledge to the next level
  • Any intermediate level students who have a basic understanding of Neural Networks (Artificial Neural Networks, Convolutional Neural Networks)
  • Anyone who likes coding and wants to create their own product from scratch
  • Any students who are interested in learning how to move Deep Learning models from testing to production environments
  • Any entrepreneur who wants to create their own Deep Learning based product