SkillAgentSearch skills...

100DaysOfMLCode

This repository will be the journal for 100DaysOfMLCode pledge started by Siraj.

Install / Use

/learn @theimgclist/100DaysOfMLCode

README

100DaysOfMLCode

<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">Who’s ready to take the 100 days of ML code challenge? That means coding machine learning for at least an hour everyday for the next 100 days. Pledge with the <a href="https://twitter.com/hashtag/100DaysOfMLCode?src=hash&amp;ref_src=twsrc%5Etfw">#100DaysOfMLCode</a> hashtag, I’ll give the first few winners a shoutout!</p>&mdash; Siraj Raval (@sirajraval) <a href="https://twitter.com/sirajraval/status/1014758160572141568?ref_src=twsrc%5Etfw">July 5, 2018</a></blockquote>

The above tweet explains how this repo started. This will be the journal for 100DaysOfMLCode pledge. I will add the progress I make everyday and will publish the code at regular intervals once I make enough progress with some task/problem.

| Day | Task | Updates |
| ------------- |:-------------| :---------------- |
| Day 1 | Object Detection-Windows 10 |* Set up the environment on Windows 10(no GPU) </br> * Used TensorFlow and pre-trained SSDMobileNet </br> * Compared results with Yolo object detection |
| Day 2 | Object Detection-Ubuntu |* Set up the environment on Ubuntu(no GPU) </br> * Used TensorFlow and pre-trained FasterRCNN model </br> * Compared SSDLite with FasterRCNN |
| Day 3 | Real Time Object Detection |* Installed opencv </br> * Used TensorFlow and pre-trained SSDlite model </br> * Tried object detection on live camera feed |
| Day 4 | Object Detection using Google Colab |* Setup Colab for object detection</br> * Added comments and explanation for readability </br> * Used same code and instructions as Linux </br> * Added code to upload a new image for testing |
| Day 5 | Create dataset for gun detection |* Collected few hundred images of guns for retraining the model </br> * Found a relevant dataset</br> * Collected few more images from Internet </br> * Found a handy tool for downloading images |
| Day 6 | Write a blog |* Attended Uber Maps Tech Talk </br> * There were 2 talks</br> * Maps is a very interesting area to work on </br> * Wrote a detailed blog|
| Day 7 | Annotate the dataset |* Used LabelImage for annotating the images </br> * Each image should be separately annotated</br> * Attended Actions on Google event |
| Day 8 | Model training |* Made some required configuration changes for training </br> * Faced few issues which I was able to resolve using GitHub Issues</br> * Reducing the batch size fixed OOM error|
| Day 9 | Continue model training |* Started the training again today </br> * Been more than 5 hours so far and the loss has come down to 1.2</br> * I used the saved checkpoint to try object detection, it didnt work</br> * Training needs patience!|
| Day 10 | More model training |* Left the model to train since yesterday</br> * It has been training close to 30 hours!! </br> * The model gave bad results </br> * Pre-trained models are handy and helpful. But it doesn't mean we can settle with a specific one!|
| Day 11 | Finally some gun detection |* Training is much faster on Colab</br> * While each training step took 20-30secs on local CPU, on Colab it was 2-3 seconds </br> * Initial loss with ssd model was close to 30 </br> * Using faster rcnn, initial loss was 3 |
| Day 12 | Train using Faster RCNN |* Collected more images from IMFDB</br> * Used 250 images for training</br> * Took 20mins for the loss to reduce to 0.4 |
| Day 13 | Set up Raspberry Pi |* Recently got a Raspberry Pi 3 Model B+</br> * Setting up Raspberry Pi was easy </br> * Installed Raspbian OS</br> * VNC-Viewer is a handy tool for desktop sharing |
| Day 14 | Object Detection on Raspberry Pi |* Steps followed for Ubuntu helped a bit</br> * Installed TensorFlow and skipped Protobuf </br> * Used generated protobuf files from Ubuntu</br> * Faced issues, Stack Overflow was helpful |
| Day 15 | Real Time Object Detection on Raspberry Pi |* Used OpenCV for connecting to the USB camera </br> * There was some delay in the inference </br> * Because number of frames per second was close to 0.8 </br> * Using Pi camera instead of a USB camera might improve fps rate |
| Day 16 | TensorFlow Model Zoo |* TensorFlow Model Zoo is a repository of many pre-trained models </br> * ssd_mobilenet_v1_ppn_coco is based on Pooling Pyramid Network architecture</br> * PPN is a new variant of Single Shot Detector </br> * This pre-trained model is more than 3x times smaller in size when compared to ssd_mobilenet|
| Day 17 | Read about Face Processing |* Shape of the face, Albedo and reflectance are three major components of face processing </br> * Albedo map captures variations in skin pigmentation</br> * In case of unconstrained environment, a lot of external factors are dynamic </br> * In constrained environment, there will be some agreed upon standards |
| Day 18 | DeepDream and Neural Network Interpretation |* DeepDream is a program that takes an image as an input and gives another image as an output </br> * Ouput images look dream-like/artistic/unclear/random</br> * Understanding how each of the layers interpret and learn the patterns, will help in making the models better |
| Day 19 | Research on Face Editing and Processing using Deep Learning |* Deep Learning models can be used for face editing and processing </br> * Series of effects need to be applied when regular editing tools are used</br> * There are DL models which can perform some of those tasks quickly |
| Day 20 | Semantic Image Segmentaion |* Semantic Segmentation segments each object </br> * Instead of a bounding box, colored segments represent the objects</br> * Used DeepLab Model from TensorFlow |
| Day 21 | Kaggle Ship Detection Challenge, Run Length Encode, Blender |* Airbus started Ship Detection Challenge on Kaggle </br> * Challenge is to detect ships from satellite images</br> * Came to know what Run Length Encode is </br> * Installed Blender |
| Day 22 | Blender |* Blender is open source and easy to use </br> * Many resources to get started and a big community</br> * BlenderGuru is a very useful resource |
| Day 23 | Blender Fundamentals|* Finished Blender Fundamentals Tutorial </br> * Recommend using a mouse with middle button and a keyboard with Numpad</br> * Extrude and Edge loops are cool! |
| Day 24 | Understanding Physics in Face Reconstruction |* Physically based rendering (PBR) refers to the concept of using realistic shading/lighting models </br> * Shader is the algorithm for calculating the Color of each pixel</br> * A texture is just a standard bitmap image that is applied over the mesh surface! |
| Day 25 | SfSNet Architecture |* Training is done using an encoder-decoder network </br> * SfSnet is used for image decompostion and reconstruction </br> * Network is more than 80 layers deep | | Day 26 | What are Normal Maps? |* Normal maps add more details to object surfaces </br> * Gives an illusion of depth/height on the surface </br> * Help in figuring out the geometry/shape of the scene/object |
| Day 27 | What are Albedo Maps? |* Best to remove highlights/shadows from texture maps </br> * Using albedo maps highlights, shadows and light patches are removed</br> * This gives an even/homogeneous layer with only the color component |
| Day 28 | Skin Reflectance and BRDF |* Skin reflectance is a complex process </br> * Depends on factors like skin color, blood flow beneath the skin etc </br> * Reflectance too contributes to variable face appearances and face encoding |
| Day 29 | Compact Pseudocode for SfSNet |* SfSNet uses two separate networks </br> * Encoder-Decoder Network is used for obtaining real face data components </br> * SfSNet with residual blocks is used for image decomposition and reconstruction |
| Day 30 | Encoder-Decoder and Autoencoder Networks |* Encoder-Decoder networks are good at feature representation </br> * Autoencoders are variants of Encoder-Decoder networks

View on GitHub
GitHub Stars28
CategoryEducation
Updated7mo ago
Forks2

Languages

Jupyter Notebook

Security Score

87/100

Audited on Aug 17, 2025

No findings