Skip to main content

How can I install and use Darknet framework in Windows?


Another post starts with you beautiful people! I hope you have enjoyed my last post about using real time object detection system- Yolo with keras api. In that post I mentioned that Yolo is built on Darknet framework and this framework is written on C and cuda. That's why we used Python wrapper of Darknet  framework instead of installing original framework. Many readers asked me about how can we install and use the original framework in our window machine. In this post I will try to show you the steps about this installation. Before following the steps I strongly recommend you to activate virtual env and install all libraries I have mentioned in my last post.

For this setup I have followed this original github repository- AlexeyAB/darknet . this repo is as same as original Darknet repo with additional Windows support. So don't forget to give a star to this repo as a token of our respect to the author. If you are reading my blog first time, then I recommend to read the Requirements section mentioned in this repo first.

Once your machine is ready with all requirements, next step is to install a compilation software- vcpkg which you can download from this link. Once you download the zip file, extract it, open command prompt with admin rights, navigate to the extracted vcpkg-master folder and run the following command-

Once the above command finishes, run the below command in same prompt-

Next, we need to add vcpkg root path in our environment variable. So open the system variable and add the location of the vcpkg-master folder under the name of VCPKG_ROOT like below-

Along with this new variable, add another variable VCPKG_DEFAULT_TRIPLET with following value-


Now we are ready for installing Darknet with this compilation software. Open Anaconda Poweshell Prompt with admin rights, navigate to the vcpkg-master folder by running following command:
cd $env:VCPKG_ROOT
After this run the following command:
.\vcpkg install pthreads opencv[ffmpeg]
Once you run above two commands, screen will look like below-

It will take some time to complete. Once this process is completed next step is to download the code from AlexeyAB/darknet. Once you downlaod the zip file from this repo, extract it and in the Anaconda Powershell Prompt navigate to the location of the darknet folder and run .\build.ps1 like below-

This command will install darknet repository once finishes. After this run following command:
Set-ExecutionPolicy -ExecutionPolicy Restricted and then when asked press A to exclude any restriction. Once this is done, you can navigate to the installed repository in your respective folder and see all installed files there. Now you need to copy the pretrained Yolo weights file in this location. You can download the weights from this link. After this we are ready to test the original YOLO system built on Darknet framework on our image.

To test any image you need to run following command in same Anaconda Powershell Prompt-
.\darknet.exe detector test cfg/coco.data cfg/yolov3.cfg yolov3.weights -thresh 0.25

Once this command finishes , it will ask you to enter the path of your test image. enter the full path and press enter-

Once you enter the image path and press enter, your input image will be opened in default photo viewer having bounding boxes and label. Also in server console accuracy of the prediction will be shown with each detected object-

That's amazing right. In this post we have successfully installed Darknet framework in our Windows machine and in my last post we have successfully setup the Python wrapper of Darknet. Now you are familiar with both ways. If you are working with a client who has Windows infrastructure like mine then this post will help you to deliver state of the art object detection model built on Yolo system. I recommend you to give some time to learn this framework and get your hands dirty by practicing it on different image dataset many times. In my next post I will share another my learnings. Till then Go chase your dreams, have an awesome day, make every second count and see you later in my next post.

Comments

Post a Comment

Popular posts from this blog

How to deploy your ML model as Fast API?

Another post starts with you beautiful people! Thank you all for showing so much interests in my last posts about object detection and recognition using YOLOv4. I was very happy to see many aspiring data scientists have learnt from my past three posts about using YOLOv4. Today I am going to share you all a new skill to learn. Most of you have seen my post about  deploying and consuming ML models as Flask API   where we have learnt to deploy and consume a keras model with Flask API  . In this post you are going to learn a new framework-  FastAPI to deploy your model as Rest API. After completing this post you will have a new industry standard skill. What is FastAPI? FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.6+ based on standard Python type hints. It is easy to learn, fast to code and ready for production . Yes, you heard it right! Flask is not meant to be used in production but with FastAPI you can use you...

Learn the fastest way to build data apps

Another post starts with you beautiful people! I hope you have enjoyed and learned something new from my previous three posts about machine learning model deployment. In one post we have learned  How to deploy a model as FastAPI?  I n the second post, we have learned  How to deploy a deep learning model as RestAPI ? and in the third post, we have also learned  How to scale your deep learning model API?   If you are following my blog posts, you have seen how easily you have transit yourselves from aspiring to a mature data scientist. In this new post, I am going to share a new framework-  Streamlit which will help you to easily create a beautiful app with Python only. I will show here how had I used the Streamlit framework to create an app for my YOLOv3 custom model. What is Streamlit? Streamlit’s open-source app framework is the easiest way for data scientists and machine learning engineers to create beautiful, performant apps in only a few hours!...

How can I make a simple ChatBot?

Another post starts with you beautiful people! It has been a long time of posting a new post. But my friends in this period I was not sitting  where I got a chance to work with chatbot and classification related machine learning problem. So in this post I am going to share all about chatbot- from where I have learned? What I have learned? And how can you build your first bot? Quite interesting right! Chatbot is a program that can conduct an intelligent conversation based on user's input. Since chatbot is a new thing to me also, I first searched- is there any Python library available to start with this? And like always Python has helped me this time also. There is a Python library available with name as  ChatterBot   which is nothing but a machine learning conversational dialog engine. And yes that is all I want to start my learning because I always prefer inbuilt Python library to start my learning journey and once I learn this then only I move ahead for another...