0:00 In this video we are beginning an
0:01 end-to-end deep learning project series
0:04 in agriculture domain.
0:05 The series will have total seven to
0:07 eight videos in which we'll start with
0:10 data collection first and then we'll
0:12 look into model building. We'll also look
0:15 into some of the ML Ops using TF serving.
0:18 We will build our backend server using fast
0:20 API and then we'll deploy the model to
0:23 Google Cloud or GCP and we'll have
0:25 Google Cloud functions running on top of
0:27 it and that those functions will be
0:30 called by
0:31 a mobile app
0:33 written in React Native so it will be an
0:36 end-to-end application very useful in
0:38 agriculture
0:39 domain. So let's first look at the
0:41 problem statement.
0:42 [Music]
0:46 Farmers who grow potatoes are facing lot
0:49 of economic losses every year because of
0:52 various diseases that can happen to a
0:54 potato plant.
0:56 There are two common diseases
0:58 known as early blight and late blight
1:01 early blight is caused by a fungus and
1:03 late blight is caused by a specific
1:06 microorganism
1:08 and if a farmer can detect these
1:10 diseases early and apply appropriate
1:12 treatment then it can save lot of waste
1:15 and prevent the economic loss.
1:18 The treatments for early blight and late
1:20 blight are little different so it's
1:22 important that you accurately identify
1:25 what kind of disease is there in that
1:27 potato plant.
1:29 AtliQ Agriculture is an AI company that
1:32 happens to solve problems in agriculture
1:34 domain and that company has taken this
1:37 project and they have decided to build a
1:39 mobile application which they can give
1:41 it to a farmer. And farmer all they need
1:44 to do is go to their farm and just take
1:46 a picture of the plant and the mobile
1:48 application will tell them whether the
1:50 potato plant is healthy or it has one of
1:53 these diseases and behind the scene it
1:55 will be using deep learning and
1:56 convolutional neural network. Now you are
1:59 a data scientist working for AtliQ
2:01 Agriculture and your job is to work on
2:04 this project and to build this whole
2:06 application end to end.
2:08 So first you will gather in a room along
2:11 with your colleagues and you will start
2:13 discussing the technical architecture.
2:15 I will take a quick break and talk about
2:17 AtliQ technologies which is my
2:19 brother software development company do
2:21 you need help with mobile app
2:22 development or data analytics solution
2:24 or you want to do digital marketing for
2:26 your business you can take AtliQ
2:28 technology services they have so many
2:30 international clients and I guarantee
2:32 you won't be disappointed with that
2:34 service. Just click on the contact button
2:37 here fill out the contact form or call
2:39 them directly. Let's get back to our
2:41 video now.
2:43 Any supervised machine learning project
2:45 starts with data collection. Data that
2:47 you can use as a training data set. In
2:50 our case we need to collect images of a
2:53 healthy potato plant leaf and the potato
2:56 which has early blight or a late blight
2:59 disease.
3:00 So we'll cover how exactly we're going
3:02 to do that but let's say you have
3:03 covered all these images
3:06 then comes data cleaning and
3:07 pre-processing step for which we will be
3:10 using tf data set and data augmentation.
3:13 Data augmentation because we might not
3:15 have enough diverse set of images so we
3:18 need to rotate and flip and you know
3:20 adjust contrast to create
3:22 more
3:23 training samples.
3:25 Once we have that we'll use
3:27 model building using convolutional
3:29 neural network. CNN is a standard way of
3:33 uh doing you know image classification
3:36 as of 2021 and therefore we'll be using
3:39 CNN and then export the train model
3:42 onto our disk.
3:45 Then we'll cover
3:46 some of the ML OPs concept using TF
3:49 serving where we'll have a TF server
3:51 serving server running on top of these
3:54 exported models which can solve you know
3:57 different versions of
3:58 these models and tf serving will be
4:01 called from fast API.
4:04 Now you will be asking why we need fast
4:06 API and DF serving both well. Don't
4:09 worry we will be going over all those
4:12 things we can have just a fast API
4:14 server without using TFF serving. We'll
4:16 cover both the approaches and you will
4:18 understand the benefit of having TF
4:21 serving in addition to fast API server
4:23 so I will be filling the layers of onion
4:26 in a way that
4:27 you don't get to cry basically. So trust
4:30 me on that
4:31 then we'll build a website in React JS
4:36 React.js is a hot technology as of today
4:39 for doing a
4:41 website app development and that will be
4:44 calling
4:45 the fast API server where you can drag
4:47 and drop the image and it will tell you
4:50 the label. Whether it's a healthy early
4:53 blight or late blight
4:55 now comes the interesting phase which is
4:58 the mobile app development. So first
5:00 we'll do website development. We'll test
5:02 things out locally on our computer and
5:04 when we are ready to go then we move
5:07 on to mobile app development. For that
5:10 we keep the architecture same up till
5:13 this point but then we
5:15 convert these exported
5:18 float models into TF lite model using
5:22 quantization. Now I did a video on
5:24 quantization, TF light all of that so you
5:26 can watch that video, but quantization is
5:29 a way to
5:30 reduce the size of your model so that
5:33 your model is occupying less memory. You
5:36 can deploy it on cell phone on edge
5:38 devices and also
5:40 the inference speed is much faster
5:43 once we have exported TF
5:45 lite models then we will deploy those to
5:51 and will write Google Cloud functions
5:53 which are similar to AWS lambda if you
5:56 have heard about serverless architecture
5:58 and AWS Lambda so google cloud functions
6:01 are kind of
6:02 like that and then these functions will
6:05 be serving our cool mobile application.
6:07 So see here in this mobile application
6:09 you take a picture of your potential
6:10 plan leave and our application will do
6:14 the prediction it will tell you if it's
6:16 a healthy or diseased plant and this
6:18 application will be written in react
6:20 native which is a hybrid mobile app
6:23 development framework. Now you might be
6:25 having a question why didn't we deploy
6:28 TF lite model directly to mobile app?
6:31 well,
6:31 we will cover that maybe in the future
6:34 video but for this time I want to deploy
6:37 this model to Google Cloud
6:40 and just kind of show you how this whole
6:42 things works. So yeah,
6:44 the ideal way is to deploy tflight model
6:47 to your mobile app directly. I tried it
6:49 but I was facing some issues so I went
6:51 for a different architecture but in
6:53 future when those issues are resolved I
6:55 might
6:56 show upload a different video you know
6:58 where I'll deploy TF flight model
7:00 directly to mobile app. So overall in
7:03 terms of technology stack for model
7:05 building we use tensorflow CNN data
7:08 augmentation tf data set. And by the way
7:10 I have videos on all these topics so if
7:12 you don't know any of these you can
7:14 watch it as we go in this
7:17 project.
7:18 At every step I will tell you the
7:20 prerequisite like what videos you need
7:22 to watch and so on so don't worry even
7:24 if you don't know about all these
7:26 jargons you will be able to grasp this
7:28 with this project really well. I promise
7:30 that.
7:32 As a back-end server and ml ops will be
7:35 using TF serving and fast API
7:37 in terms of model optimization we are
7:39 using quantization along with tensorflow
7:42 lite and for front end and deployment we
7:44 are using dxjs for website React Native
7:47 for mobile app development and we are
7:49 using GCP for our deployment.
7:53 As a prerequisite you need to have a of
7:55 course basic knowledge of Python if you
7:57 don't you can go to Youtube search for
8:00 code basic Python tutorial playlist
8:02 and in this playlist
8:04 at least watch first
8:08 14 or 15 videos and that should be
8:10 sufficient.
8:11 Another thing you need is a deep
8:14 learning basic knowledge for that go to
8:16 Youtube Codebasics deep learning
8:18 playlist.
8:19 This is a big playlist you don't need to
8:21 watch all the videos. But watch till
8:24 I would say video number 24 image
8:27 classification using CNN and that way you
8:29 know the basics of neural network.
8:32 You know CNN and so on in here you can
8:36 ignore video number. Let's say 18 19 20
8:40 or even
8:42 I would say
8:43 video number
8:45 14 to 20 something. If you don't watch
8:48 it's still okay but remaining videos
8:51 please watch it so that you have your
8:53 basics covered. Once the technical
8:55 architecture is decided the next step in
8:57 the second video would be to look into
9:00 data collection and data pre-processing
9:02 techniques.
9:03 If you are liking this video series so
9:05 far please give it a thumbs up and share
9:07 it with your friends these kind of
9:08 end-to-end projects look pretty good on
9:10 your resume. If you're trying to get a
9:12 job as a machine learning engineer or a
9:14 data scientist you can do this kind of
9:16 projects. Maybe take my project and
9:17 customize it maybe instead of potato try
9:20 to identify the diseases in the tomato
9:23 plants and I will give by the way those
9:25 exercises which will be super cool so
9:27 make sure you watch the entire series
9:29 and share it with your friends who wants
9:30 to learn end-to-end deep learning
9:32 projects.