├── .github
└── workflows
│ └── twitter-together.yml
├── README.md
├── _config.yml
├── ai_job_concepts.md
├── autonomous_car
└── README.md
├── computer_vision
└── README.md
├── data_engineering
└── README.md
├── gans
└── README.md
├── generative_ai
└── README.md
├── new_resources
└── README.md
├── reinforcement_learning
├── README.md
└── notebooks
│ └── Reinforcement_Q_Learning_from_Scratch_in_Python_with_OpenAI_Gym_Taxi.ipynb
├── robotics
└── README.md
├── stat_prob
└── README.md
├── talks
├── AI and ML for Precision Medicine.pdf
├── GDSC WOW TN - Navaneeth Share.pdf
├── PyExpo2023.md
└── saama-ai-agents
│ ├── Pdf Share AI Agents - Saama Monthly Meetup Sep 2024 Final.pptx.pdf
│ ├── basic-langchain-agent.ipynb
│ └── simple-react.ipynb
├── tinyml.md
├── tweets
├── README.md
├── test.tweet
└── test2.tweet
└── webinars
├── computer_vision
└── Computer Vision Share.pdf
└── decision_trees_and_random_forest
└── Ensemble_Methods.ipynb
/.github/workflows/twitter-together.yml:
--------------------------------------------------------------------------------
1 | on: [push, pull_request]
2 | name: Twitter, together!
3 | jobs:
4 | preview:
5 | name: Preview
6 | runs-on: ubuntu-latest
7 | if: github.event_name == 'pull_request'
8 | steps:
9 | - uses: gr2m/twitter-together@v1.x
10 | env:
11 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
12 | tweet:
13 | name: Tweet
14 | runs-on: ubuntu-latest
15 | if: github.event_name == 'push' && github.ref == 'refs/heads/master'
16 | steps:
17 | - name: checkout master
18 | uses: actions/checkout@v2
19 | - name: Tweet
20 | uses: gr2m/twitter-together@v1.x
21 | env:
22 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
23 | TWITTER_ACCESS_TOKEN: ${{ secrets.TWITTER_ACCESS_TOKEN }}
24 | TWITTER_ACCESS_TOKEN_SECRET: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}
25 | TWITTER_API_KEY: ${{ secrets.TWITTER_API_KEY }}
26 | TWITTER_API_SECRET_KEY: ${{ secrets.TWITTER_API_SECRET_KEY }}
27 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # An Ultimate Compilation of AI Resources for Mathematics, Machine Learning and Deep Learning
2 |
3 | ## _Knowledge Not Shared is wasted. - Clan Jacobs_
4 |
5 | ### This collection is a compilation of Excellent ML and DL Tutorials created by the people below
6 |
7 | - [Andrej Karpathy blog](http://karpathy.github.io/)
8 | - [Brandon Roher](https://e2eml.school/blog.html)
9 | - [Andrew Trask](https://iamtrask.github.io/)
10 | - [Jay Alammar](https://jalammar.github.io/)
11 | - [Sebastian Ruder](https://ruder.io/)
12 | - [Distill](https://distill.pub/)
13 | - [StatQuest with Josh Starmer](https://www.youtube.com/user/joshstarmer)
14 | - [sentdex](https://www.youtube.com/channel/UCfzlCWGWYyIQ0aLC5w48gBQ)
15 | - [Lex Fridman](https://www.youtube.com/user/lexfridman)
16 | - [3Blue1Brown](https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw)
17 | - [Alexander Amini](https://www.youtube.com/user/Zan560)
18 | - [The Coding Train](https://www.youtube.com/user/shiffman)
19 | - [Christopher Olah](https://colah.github.io/)
20 | ## Communities to Follow
21 |
22 | - [AI Coimbatore](https://www.meetup.com/AICoimbatore/) *Join here*🔗⬇️
23 | - [Telegram : For Daily Updates](https://t.me/joinchat/MmtTDRUcEqIuAPpr6Ph0Jw)
24 | - [Facebook : Coimbatore School of AI](https://www.facebook.com/groups/440187506472896/)
25 | - [TensorFlow User Group Coimbatore](https://www.tensorflow.org/community/groups)
26 | - [Meetup : TFUGCbe](https://www.meetup.com/TFUGCbe/)
27 | - [Facebook : TFUGCbe](https://www.facebook.com/groups/2425901487658992/)
28 |
29 | ## This Repo is Created and Maintained by
30 |
31 | _Navaneeth Malingan_
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 | ## Why Data Science and how to get started?
43 |
44 | - [🖥️ HOW TO GET STARTED WITH MACHINE LEARNING!](https://www.youtube.com/watch?v=I74ymkoNTnw)
45 | - [How to Build a Meaningful Career in Data Science](https://www.datacamp.com/community/blog/how-to-build-a-meaningful-career-in-data-science)
46 | - [My Self-Created Artificial Intelligence Masters Degree](https://hackernoon.com/my-self-created-ai-masters-degree-ddc7aae92d0e)
47 | - [PyImageSearch](https://www.pyimagesearch.com/start-here/)
48 | - [5 Beginner Friendly Steps to Learn Machine Learning and Data Science with Python](https://www.mrdbourke.com/5-beginner-friendly-steps-to-learn-machine-learning/)
49 |
50 |
51 | ## Intro to ML
52 |
53 | - [Luis Serrano: A Friendly Introduction to Machine Learning](https://www.youtube.com/watch?v=IpGxLWOIZy4)
54 | - [StatQuest: A Gentle Introduction to Machine Learning](https://www.youtube.com/watch?v=Gv9_4yMHFhI)
55 | - [Machine Learning For Everyone](https://vas3k.com/blog/machine_learning/) _Summarize's Machine Learning algorithms and their applications in simple words with real-world examples._
56 |
57 | ## Anyone can do Machine Learning
58 |
59 | - [Teachable Machine](https://teachablemachine.withgoogle.com/) _Train a computer to recognize your own images, sounds, & poses. A fast, easy way to create machine learning models for your sites, apps, and more – no expertise or coding required._
60 |
61 | ## MOOCs
62 |
63 | - [Machine Learning by Andrew Ng, Stanford](https://www.coursera.org/learn/machine-learning) _IMDB 10/10 LOL :P_
64 | - [Datacamp : Data Engineer with Python](https://www.datacamp.com/tracks/data-engineer-with-python)
65 | - [Intro to Machine Learning](https://classroom.udacity.com/courses/ud120) _Topics Covered Naive Bayes, SVM, Decision Trees, Regressions, Outliers, Clustering, Feature Scaling, Text Learning, Feature Selection, PCA, Validation, Evaluation Metrics_
66 | - [Intro to TensorFlow for Deep Learning](https://classroom.udacity.com/courses/ud187) _The Best Course for Learning TensorFlow_
67 | - [End-to-End Machine Learning](https://end-to-end-machine-learning.teachable.com/courses/)
68 | - [NVIDIA DEEP LEARNING INSTITUTE](https://www.nvidia.com/en-us/deep-learning-ai/education/)
69 | - [Introduction to Machine Learning for Coders!](http://course18.fast.ai/ml)
70 | - [Practical Deep Learning for Coders, v3](https://course.fast.ai/)
71 | - [FastAI](https://www.fast.ai/)
72 |
73 | ## Courses from Top Universities
74 | ### Stanford University
75 | - [CS221 - Artificial Intelligence: Principles and Techniques by Percy Liang and Dorsa Sadigh](https://www.youtube.com/playlist?list=PLoROMvodv4rOca_Ovz1DvdtWuz8BfSWL2)
76 | - [CS229 - Machine Learning by Andrew Ng](https://www.youtube.com/playlist?list=PLoROMvodv4rMiGQp3WXShtMGgzqpfVfbU)
77 | - [CS230 - Deep Learning by Andrew Ng](https://www.youtube.com/playlist?list=PLoROMvodv4rOABXSygHTsbvUz4G_YQhOb)
78 | - [CS231n - Convolutional Neural Networks for Visual Recognition by Fei-Fei Li and Andrej Karpathy](https://www.youtube.com/playlist?list=PL3FW7Lu3i5JvHM8ljYj-zLfQRF3EO8sYv)
79 | - [CS224n - Natural Language Processing with Deep Learning by Christopher Manning](https://www.youtube.com/playlist?list=PLoROMvodv4rOSH4v6133s9LFPRHjEmbmJ)
80 | - [CS234 - Reinforcement Learning by Emma Brunskill](https://www.youtube.com/playlist?list=PLoROMvodv4rOSOPzutgyCTapiGlY2Nd8u)
81 | - [ CS330 - Deep Multi-task and Meta Learning by Chelsea Finn](https://www.youtube.com/playlist?list=PLoROMvodv4rNjRoawgt72BBNwL2V7doGI)
82 | - [CS25 - Transformers United](https://www.youtube.com/playlist?list=PLoROMvodv4rNiJRchCzutFw5ItR_Z27CM)
83 |
84 | ### Carnegie Mellon University
85 | - [CS/LTI 11-711: Advanced NLP by Graham Neubig](https://www.youtube.com/playlist?list=PL8PYTP1V4I8D0UkqW2fEhgLrnlDW9QK7z)
86 | - [CS/LTI 11-747: Neural Networks for NLP by Graham Neubig](https://www.youtube.com/playlist?list=PL8PYTP1V4I8AkaHEJ7lOOrlex-pcxS-XV)
87 | - [CS/LTI 11-737: Multilingual NLP by Graham Neubig](https://www.youtube.com/playlist?list=PL8PYTP1V4I8BhCpzfdKKdd1OnTfLcyZr7)
88 | - [CS/LTI 11-777: Multimodal Machine Learning by Louis-Philippe Morency](https://www.youtube.com/channel/UCqlHIJTGYhiwQpNuPU5e2gg/videos)
89 | - [CS/LTI 11-785: Introduction to Deep Learning by Bhiksha Raj and Rita Singh](https://www.youtube.com/channel/UC8hYZGEkI2dDO8scT8C5UQA/playlists)
90 | - [CS/LTI Low Resource NLP Bootcamp 2020 by Graham Neubig](https://www.youtube.com/playlist?list=PL8PYTP1V4I8A1CpCzURXAUa6H4HO7PF2c)
91 |
92 | ### Massachusetts Institute of Technology
93 | - [6.S191 - Introduction to Deep Learning by Alexander Amini and Ava Amini](https://www.youtube.com/playlist?list=PLtBw6njQRU-rwp5__7C0oIVt26ZgjG9NI)
94 | - [6.S094 - Deep Learning by Lex Fridman](https://www.youtube.com/playlist?list=PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf)
95 | - [6.S192 - Deep Learning for Art, Aesthetics, and Creativity by Ali Jahanian](https://www.youtube.com/playlist?list=PLCpMvp7ftsnIbNwRnQJbDNRqO6qiN3EyH)
96 |
97 | ### University College London
98 | - [COMP M050 Reinforcement Learning by David Silver](https://www.youtube.com/watch?v=2pWv7GOvuf0)
99 |
100 |
101 | ## YouTube ML Playlists
102 |
103 | - [Machine Learning by StatQuest with Josh Starmer](https://www.youtube.com/playlist?list=PLblh5JKOoLUICTaGLRoHQDuF_7q2GfuJF)
104 | - [Intelligence and Learning by The Coding Train](https://www.youtube.com/playlist?list=PLRqwX-V7Uu6YJ3XfHhT2Mm4Y5I99nrIKX)
105 |
106 | ## Machine Learning Glossary
107 |
108 | - [This glossary defines general machine learning terms in a variety of domains, as well as terms specific to TensorFlow.](https://developers.google.com/machine-learning/glossary)
109 |
110 | ## Machine Learning Fundamentals _(These terms will be often used in the below algorithms)_
111 |
112 | - [Bias and Variance](https://www.youtube.com/watch?v=EuBBz3bI-aA)
113 | - [Cross Validation](https://www.youtube.com/watch?v=fSytzGwwBVw)
114 | - [Machine Learning Fundamentals: The Confusion Matrix](https://www.youtube.com/watch?v=Kdsp6soqA7o)
115 | - [Sensitivity and Specivicity](https://www.youtube.com/watch?v=sunUKFXMHGk)
116 | - [ROC and AUC, Clearly Explained!](https://www.youtube.com/watch?v=4jRBRDbJemM)
117 | - [StatQuest: R-squared explained](https://www.youtube.com/watch?v=2AQKmw14mHM)
118 | - [Regularization Part 1: Ridge Regression](https://www.youtube.com/watch?v=Q81RR3yKn30)
119 | - [Regularization Part 2: Lasso Regression](https://www.youtube.com/watch?v=NGf0voTMlcs)
120 | - [Maximum Likelihood](https://www.youtube.com/watch?v=XepXtl9YKwc)
121 | - [Covariance and Correlation Part 1: Covariance](https://www.youtube.com/watch?v=qtaqvPAeEJY)
122 | - [Statistics Fundamentals: The Mean, Variance and Standard Deviation](https://www.youtube.com/watch?v=SzZ6GpcfoQY)
123 | - [Statistics Fundamentals: Population Parameters](https://www.youtube.com/watch?v=vikkiwjQqfU)
124 | - [Glossary: Statistics](https://github.com/nature-of-code/NOC-S17-2-Intelligence-Learning/wiki/Glossary:-Statistics)
125 | - [Glossary: Machine Learning](https://github.com/nature-of-code/NOC-S17-2-Intelligence-Learning/wiki/Glossary:-Machine-Learning)
126 | - [Looking at R-Squared](https://medium.com/@erika.dauria/looking-at-r-squared-721252709098)
127 |
128 | ## Math
129 |
130 | - [Mathematics for Machine Learning](https://nivu.me/posts/mathematics-for-machine-learning/) _In this post I have compiled great e-resources (MOOC, YouTube Lectures, Books) for learning Mathematics for Machine Learning._
131 | - [Mathematics for Machine Learning - Book](https://mml-book.github.io/) One great book for all things math for machine learning. (free eBook)
132 | - **I highly Recommend you to go through the following resources by 3Blue1Brown**
133 | - [Essence of Linear Algrbra](https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab)▶️
134 | - [Essene of Calculus](https://www.youtube.com/playlist?list=PLZHQObOWTQDMsr9K-rj53DwVRMYO3t5Yr)▶️
135 | - [Differential equations](https://www.youtube.com/playlist?list=PLZHQObOWTQDNPOjrT6KVlfJuKtYTftqH6)▶️
136 | - [Gilbert Strang: Linear Algebra vs Calculus](https://www.youtube.com/watch?v=osEADxaIKIc)▶️
137 | - [Basics of Integral Calculus in Tamil](https://www.youtube.com/watch?v=yMQjCFvMFgA)▶️
138 | - [New fast.ai course: Computational Linear Algebra](https://www.fast.ai/2017/07/17/num-lin-alg/)
139 | - [Linear Algebra Book](http://www.deeplearningbook.org/contents/linear_algebra.html)
140 |
141 | ## Python
142 |
143 | - [Python Programming Tutorials by Socratica](https://www.youtube.com/watch?v=bY6m6_IIN94&list=PLi01XoE8jYohWFPpC17Z-wWhPOSuh8Er-)▶️
144 | - [Python Tutorial by w3schools](https://www.w3schools.com/python/)📙
145 | - [Learning Python Programming](https://www.scaler.com/topics/python/)📙
146 |
147 | ## Numpy
148 |
149 | - [A Visual Intro to NumPy and Data Representation](https://jalammar.github.io/visual-numpy/)
150 | - [CS231n : Python Numpy Tutorial](http://cs231n.github.io/python-numpy-tutorial/#numpy)
151 | - [NumPy resources : part of the End-to-End Machine Learning library](https://brohrer.github.io/numpy_resources.html)
152 | - [100 numpy exercises (with solutions)](https://github.com/rougier/numpy-100)
153 | - [101 NumPy Exercises for Data Analysis (Python)](https://www.machinelearningplus.com/python/101-numpy-exercises-python/)
154 | - [Numpy Tutorial – Introduction to ndarray](https://www.machinelearningplus.com/python/numpy-tutorial-part1-array-python-examples/)
155 | - [Sci-Py Lectures : NumPy: creating and manipulating numerical data](https://scipy-lectures.org/intro/numpy/index.html)
156 | - [Python NumPy Tutorial for Beginners](https://www.youtube.com/watch?v=QUT1VHiLmmI)▶️ _Learn the basics of the NumPy library in this tutorial for beginners. It provides background information on how NumPy works and how it compares to Python's Built-in lists. This video goes through how to write code with NumPy. It starts with the basics of creating arrays and then gets into more advanced stuff. The video covers creating arrays, indexing, math, statistics, reshaping, and more._
157 | - [Python NumPy Tutorial – Learn NumPy Arrays With Examples](https://www.edureka.co/blog/python-numpy-tutorial/)
158 | - [Python Numpy Array Tutorial](https://www.datacamp.com/community/tutorials/python-numpy-tutorial)
159 | - [NumPy Tutorial: Data analysis with Python](https://www.dataquest.io/blog/numpy-tutorial-python/)
160 | - [Deep Learning Prerequisites: The Numpy Stack in Python](https://www.youtube.com/playlist?list=PLxgDUj5eygKmlhteKFiXIIhdqmdD2TwVM)▶️
161 |
162 | ## Pandas
163 |
164 | - [A Gentle Visual Intro to Data Analysis in Python Using Pandas](https://jalammar.github.io/gentle-visual-intro-to-data-analysis-python-pandas/)
165 | - [Data analysis in Python with pandas by Data School](https://www.youtube.com/watch?v=yzIMircGU5I&list=PL5-da3qGB5ICCsgW1MxlZ0Hq8LL5U3u9y)▶️
166 | - [Best practices with pandas by Data School](https://www.youtube.com/watch?v=hl-TGI4550M&list=PL5-da3qGB5IBITZj_dYSFqnd_15JgqwA6)▶️
167 | - [Python Pandas Tutorial: A Complete Introduction for Beginners](https://www.learndatasci.com/tutorials/python-pandas-tutorial-complete-introduction-for-beginners/)
168 |
169 | ## Machine Learning YouTube Playlists
170 |
171 | - [CodeBasics: Machine Learning Tutorial Python](https://www.youtube.com/watch?v=gmvvaobm7eQ&list=PLeo1K3hjS3uvCeTYTeyfe0-rN5r8zn9rw)▶️
172 | - [StatQuest: Machine Learning](https://www.youtube.com/playlist?list=PLblh5JKOoLUICTaGLRoHQDuF_7q2GfuJF)▶️
173 | - [sentdex: Machine Learning with Python](https://www.youtube.com/playlist?list=PLQVvvaa0QuDfKTOs3Keq_kaG2P55YRn5v)▶️
174 | - [Simplilearn: Machine Learning Tutorial Videos](https://www.youtube.com/playlist?list=PLEiEAq2VkUULYYgj13YHUWmRePqiu8Ddy)▶️
175 | - [Machine Learning Tutorial in Python](https://www.youtube.com/playlist?list=PL9ooVrP1hQOHUfd-g8GUpKI3hHOwM_9Dn)▶️
176 | - [deeplizard: Machine Learning & Deep Learning Fundamentals](https://www.youtube.com/playlist?list=PLZbbT5o_s2xq7LwI2y8_QtvuXZedL6tQU)▶️
177 |
178 | ## ML, DL Visual Explainers
179 |
180 | - [MLU-EXPLAIN](https://mlu-explain.github.io/)
181 | - [CNN Explainer](https://poloclub.github.io/cnn-explainer/)
182 |
183 | _Note: Below you can find the best lectures for popular Machine Learning Algorithms_
184 |
185 | ## Linear Regression
186 |
187 | - [Linear Regression: A friendly introduction by Luis Serrano](https://www.youtube.com/watch?v=wYPUhge9w5c)▶️
188 | - [Statistics 101: Linear Regression, The Very Basics](https://www.youtube.com/watch?v=ZkjP5RJLQF4)▶️
189 | - [Regression Line Fitting Playground](https://phet.colorado.edu/sims/html/least-squares-regression/latest/least-squares-regression_en.html)
190 | - [Regression Curve Fitting Playground](https://phet.colorado.edu/sims/html/curve-fitting/latest/curve-fitting_all.html)
191 |
192 | ## Logistic Regression
193 |
194 | - [Linear Regression vs Logistic Regression | Data Science Training | Edureka](https://www.youtube.com/watch?v=OCwZyYH14uw)▶️
195 | - [Logistic Regression and the Perceptron Algorithm: A friendly introduction by Luis Serrano](https://www.youtube.com/watch?v=jbluHIgBmBo)▶️
196 |
197 | ## Decision Tree
198 |
199 | - [StatQuest: Decision Trees](https://www.youtube.com/watch?v=7VeUPuFGJHk)▶️
200 | - [StatQuest: Decision Trees, Part 2 - Feature Selection and Missing Data](https://www.youtube.com/watch?v=wpNl-JwwplA)▶️
201 | - [Decision Tree Introduction with example](https://www.geeksforgeeks.org/decision-tree-introduction-example/)📙
202 | - [Decision Tree](https://www.geeksforgeeks.org/decision-tree/)📙
203 | - [Python | Decision Tree Regression using sklearn](https://www.geeksforgeeks.org/python-decision-tree-regression-using-sklearn/)📙
204 | - [ML | Logistic Regression v/s Decision Tree Classification](https://www.geeksforgeeks.org/ml-logistic-regression-v-s-decision-tree-classification/)📙
205 |
206 | ## Random Forest
207 |
208 | - [StatQuest: Random Forests Part 1 - Building, Using and Evaluating](https://www.youtube.com/watch?v=J4Wdy0Wc_xQ)▶️
209 | - [StatQuest: Random Forests Part 2: Missing data and clustering](https://www.youtube.com/watch?v=nyxTdL_4Q-Q)▶️
210 | - [Random Forests for Complete Beginners](https://victorzhou.com/blog/intro-to-random-forests/)📙
211 |
212 | ## Boosting Machine Learning
213 |
214 | - [Boosting Machine Learning Tutorial | Adaptive Boosting, Gradient Boosting, XGBoost | Edureka](https://www.youtube.com/watch?v=kho6oANGu_A)▶️
215 | - [AdaBoost, Clearly Explained](https://www.youtube.com/watch?v=LsK-xG1cLYA)▶️
216 | - [Gradient Boost Part 1: Regression Main Ideas](https://www.youtube.com/watch?v=3CC4N4z3GJc)▶️
217 | - [Gradient Boost Part 2: Regression Details](https://www.youtube.com/watch?v=2xudPOBz-vs)▶️
218 | - [Gradient Boost Part 3: Classification](https://www.youtube.com/watch?v=jxuNLH5dXCs)▶️
219 | - [Gradient Boost Part 4: Classification Details](https://www.youtube.com/watch?v=StWY5QWMXCw)▶️
220 | - [XGBoost Part1: XGBoost Trees for Regression](https://www.youtube.com/watch?v=OtD8wVaFm6E)▶️
221 | - [XGBoost Part 2: XGBoost Trees For Classification](https://www.youtube.com/watch?v=8b1JEDvenQU)▶️
222 | - [Ensemble methods Sci-kit learn](https://scikit-learn.org/stable/modules/ensemble.html)
223 |
224 | ## SVM
225 |
226 | - [Support Vector Machines (SVMs): A friendly introduction by Luis Serrano](https://www.youtube.com/watch?v=Lpr__X8zuE8)▶️
227 | - [Support Vector Machines, Clearly Explained!!! by StatQuest](https://www.youtube.com/watch?v=efR1C6CvhmE)▶️
228 | - [Support Vector Machines Part 2: The Polynomial Kernel by StatQuest](https://www.youtube.com/watch?v=Toet3EiSFcM)▶️
229 | - [Support Vector Machines Part 3: The Radial (RBF) Kernel by StatQuest](https://www.youtube.com/watch?v=Qc5IyLW_hns)▶️
230 | - [How Support Vector Machines work / How to open a black box](https://www.youtube.com/watch?v=-Z4aojJ-pdg)▶️
231 | - [Support Vector Machines - The Math of Intelligence (Week 1)](https://www.youtube.com/watch?v=g8D5YL6cOSE)▶️
232 | - [Demystifying Support Vector Machines](https://towardsdatascience.com/demystifying-support-vector-machines-8453b39f7368)📙
233 | - [Support Vector Machine (SVM) - Fun and Easy Machine Learning](https://www.youtube.com/watch?v=Y6RRHw9uN9o)▶️
234 |
235 | ## Bayes Theorem
236 |
237 | - [Bayes theorem, and making probability intuitive](https://www.youtube.com/watch?v=HZGCoVF3YvM)▶️
238 | - [A friendly introduction to Bayes Theorem and Hidden Markov Models](https://www.youtube.com/watch?v=kqSzLo9fenk)▶️
239 | - [The Bayesian Trap](https://www.youtube.com/watch?v=R13BD8qKeTg)▶️
240 | - [Naive Bayes classifier: A friendly approach](https://www.youtube.com/watch?v=Q8l0Vip5YUw)▶️
241 |
242 | ## K-Nearest Neighbors
243 |
244 | - [KNN from Scratch](https://machinelearningmastery.com/tutorial-to-implement-k-nearest-neighbors-in-python-from-scratch/)📙
245 | - [Machine Learning Basics with the K-Nearest Neighbors Algorithm](https://towardsdatascience.com/machine-learning-basics-with-the-k-nearest-neighbors-algorithm-6a6e71d01761)📙
246 |
247 | ## K-Means
248 |
249 | - [StatQuest: K-means clustering](https://www.youtube.com/watch?v=4b5d3muPQmA)▶️
250 | - [Machine Learning Tutorial Python - 13: K Means Clustering](https://www.youtube.com/watch?v=EItlUEPCIzM)▶️
251 | - [K Means Clustering Algorithm - K Means Example in Python - Machine Learning Algorithms - Edureka](https://www.youtube.com/watch?v=1XqG0kaJVHY)▶️
252 |
253 | ## Principal Component Analysis (PCA)
254 |
255 | - [StatQuest: PCA main ideas in only 5 minutes!!!](https://www.youtube.com/watch?v=HMOI_lkzW08)▶️
256 | - [StatQuest: Principal Component Analysis (PCA), Step-by-Step](https://www.youtube.com/watch?v=FgakZw6K1QQ)▶️
257 | - [Principal Component Analysis (PCA) by Luis Serrano](https://www.youtube.com/watch?v=g-Hb26agBFg)▶️
258 |
259 | ## Probabilistic Graphical Models
260 |
261 | - [Probabilistic Graphical Models Specialization](https://www.coursera.org/specializations/probabilistic-graphical-models)
262 |
263 | ## Gradient Descent from Scratch
264 |
265 | ### The Best
266 |
267 | - [Linear Regression using Gradient Descent](https://nivu.me/posts/linear-regression-using-gradient-descent)📙
268 | - [Gradient Descent, Step-by-Step](https://www.youtube.com/watch?v=sDv4f4s2SB8)▶️
269 | - [Stochastic Gradient Descent, Clearly Explained!!!](https://www.youtube.com/watch?v=vMh0zPT0tLI)▶️
270 | - [How Optimization Works](https://end-to-end-machine-learning.teachable.com/p/building-blocks-how-optimization-works) _A short series on the fundamentals of optimization for machine learning_
271 | - [Linear Regression using Gradient Descent](https://towardsdatascience.com/linear-regression-using-gradient-descent-97a6c8700931)
272 | - [Code](https://github.com/chasinginfinity/ml-from-scratch)
273 | - [Polynomial Regression](https://towardsdatascience.com/polynomial-regression-bbe8b9d97491)
274 | - [Gradient Descent in Linear Regression - Math](https://www.geeksforgeeks.org/gradient-descent-in-linear-regression/)📙
275 | - [Neural Network Backpropagation Basics For Dummies](https://www.youtube.com/watch?v=8d6jf7s6_Qs)▶️
276 |
277 | ### Extra Good Ones
278 |
279 | - [3.4: Linear Regression with Gradient Descent - Intelligence and Learning](https://www.youtube.com/watch?v=L-Lsfu4ab74)▶️
280 | - [3.5: Mathematics of Gradient Descent - Intelligence and Learning](https://www.youtube.com/watch?v=jc2IthslyzM)▶️
281 | - [3.5a: Calculus: Power Rule - Intelligence and Learning](https://www.youtube.com/watch?v=IKb_3FJtA1U)▶️
282 | - [3.5b: Calculus: Chain Rule - Intelligence and Learning](https://www.youtube.com/watch?v=cE6wr0_ad8Y)▶️
283 | - [3.5c: Calculus: Partial Derivative - Intelligence and Learning](https://www.youtube.com/watch?v=-WVBXXV81R4)▶️
284 |
285 | ### Vanishing Gradient
286 |
287 | - [Vanishing Gradient Problem](https://www.youtube.com/watch?v=SKMpmAOUa2Q)▶️
288 | - [How to overcome Vanishing Gradient Problem](https://www.youtube.com/watch?v=puux7KZQfsE)▶️
289 |
290 | ### How to Handle Local Minima
291 |
292 | - https://datascience.stackexchange.com/questions/24534/does-gradient-descent-always-converge-to-an-optimum
293 | - https://datascience.stackexchange.com/questions/18802/does-mlp-always-find-local-minimum
294 | - https://www.coursera.org/learn/deep-neural-network/lecture/RFANA/the-problem-of-local-optima
295 |
296 | ## Scikit-learn
297 |
298 | - [An introduction to machine learning with scikit-learn](https://scikit-learn.org/stable/tutorial/basic/tutorial.html)📙
299 | - [Python Machine Learning: Scikit-Learn Tutorial](https://www.datacamp.com/community/tutorials/machine-learning-python)
300 |
301 | # Deep Learning
302 |
303 | - [DEEP BLUEBERRY BOOK](https://mithi.github.io/deep-blueberry/) _This is a tiny and very focused collection of links about deep learning. If you've always wanted to learn deep learning stuff but don't know where to start, you might have stumbled upon the right place!_
304 | - [6.S191: Introduction to Deep Learning (2019)](http://introtodeeplearning.com/2019/)
305 | - [Class Lectures (YouTube) - MIT 6.S191: Introduction to Deep Learning](https://www.youtube.com/playlist?list=PLtBw6njQRU-rwp5__7C0oIVt26ZgjG9NI)
306 | - [Lab](https://github.com/aamini/introtodeeplearning_labs)
307 | - [MIT 6.S191 Introduction to Deep Learning (2020)](http://introtodeeplearning.com/)
308 | - [MIT 6.S191 Introduction to Deep Learning (2023) (YouTube)](https://youtube.com/playlist?list=PLtBw6njQRU-rwp5__7C0oIVt26ZgjG9NI)
309 | - [MIT Deep Learning Basics: Introduction and Overview](https://www.youtube.com/watch?v=O5xeyoRL95U)
310 | - [MIT Deep Learning by Lex Fridman](https://deeplearning.mit.edu/)
311 | - [Deep Learning Lectures (YouTube)](https://www.youtube.com/playlist?list=PLrAXtmErZgOeiKm4sgNOknGvNjby9efdf)
312 | - [Deep Learning in Tamil](https://www.youtube.com/channel/UC2YVnH6aMky1SMdmlo5S9-A)
313 |
314 | ### Deep Leraning Books
315 |
316 | - [The Deep Learning Textbook from Ian Goodfellow, Yoshua Bengio, and Aaron Courville](http://www.deeplearningbook.org/)
317 | - [Neural Networks And Deep Learning by Michael Nielsen](http://neuralnetworksanddeeplearning.com/)
318 | - [Grokking Deep Learning by Andrew Trask](https://www.manning.com/books/grokking-deep-learning)
319 |
320 | ### Deep Lerning Papers
321 |
322 | - [Deep Learning Papers Reading Roadmap](https://github.com/floodsung/Deep-Learning-Papers-Reading-Roadmap)
323 |
324 | ## NN
325 |
326 | - [A friendly introduction to Deep Learning and Neural Networks](https://www.youtube.com/watch?v=BR9h47Jtqyw)▶️
327 | - [Machine Learning for Beginners: An Introduction to Neural Networks](https://victorzhou.com/blog/intro-to-neural-networks/)📙 _A simple explanation of how they work and how to implement one from scratch in Python._
328 | - [A Visual and Interactive Guide to the Basics of Neural Networks](https://jalammar.github.io/visual-interactive-guide-basics-neural-networks/)📙
329 | - [A Visual And Interactive Look at Basic Neural Network Math](https://jalammar.github.io/feedforward-neural-networks-visual-interactive/)📙
330 | - [Neural Network Architectures](https://www.youtube.com/watch?v=oJNHXPs0XDk)▶️
331 | - [Neural Networks Demystified by Welch Labs](https://www.youtube.com/playlist?list=PLiaHhY2iBX9hdHaRr6b7XevZtgZRa1PoU)▶️
332 | - [Supporting code for short YouTube series Neural Networks Demystified.](https://github.com/stephencwelch/Neural-Networks-Demystified)
333 | - [Neural networks Series by 3Blue1Brows](https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi)▶️
334 |
335 | ## Computer Vision
336 |
337 | - [CS131 Computer Vision: Foundations and Applications Fall 2019](http://vision.stanford.edu/teaching/cs131_fall1920/index.html)
338 | - [CS231A: Computer Vision, From 3D Reconstruction to Recognition Winter 2018](http://web.stanford.edu/class/cs231a/)
339 | - [CS231n Convolutional Neural Networks for Visual Recognition](https://cs231n.github.io/)
340 | - [Computer Vision Notebooks](https://diegoinacio.github.io/computer-vision-notebooks-page/)
341 |
342 | ### CNN
343 |
344 | - [CS231n: Convolutional Neural Networks for Visual Recognition Spring 2019](http://cs231n.stanford.edu/)
345 | - [CS231n: Convolutional Neural Networks for Visual Recognition](http://cs231n.github.io/)
346 | - [A friendly introduction to Convolutional Neural Networks and Image Recognition](https://www.youtube.com/watch?v=2-Ol7ZB0MmU)
347 | - [A Comprehensive Guide to Convolutional Neural Networks — the ELI5 way](https://towardsdatascience.com/a-comprehensive-guide-to-convolutional-neural-networks-the-eli5-way-3bd2b1164a53)
348 | - [Tensorflow Convolutional Neural Network (CNN)](https://www.tensorflow.org/tutorials/images/cnn)
349 | - [Convolutional Networks Book](http://www.deeplearningbook.org/contents/convnets.html)
350 | - [CNNs, Part 1: An Introduction to Convolutional Neural Networks](https://victorzhou.com/blog/intro-to-cnns-part-1/)
351 | - [CS231n Winter 2016 BY Andrej Karpathy 15 Videos](https://www.youtube.com/watch?v=NfnWJUyUJYU&list=PLkt2uSq6rBVctENoVBg1TpCC7OQi31AlC)
352 | - [Intuitive understanding of 1D, 2D, and 3D Convolutions in Convolutional Neural Networks](https://stackoverflow.com/questions/42883547/intuitive-understanding-of-1d-2d-and-3d-convolutions-in-convolutional-neural-n)
353 | - [CNN Explainer](https://github.com/poloclub/cnn-explainer)_An interactive visualization system designed to help non-experts learn about Convolutional Neural Networks (CNNs)_
354 |
355 | ### Object Detection
356 |
357 | #### [Evolution Of Object Detection Networks by Cogneethi](https://www.youtube.com/playlist?list=PL1GQaVhO4f_jLxOokW7CS5kY_J1t1T17S)
358 | _Deep-dive tutorial on Object Detection. Intuition lectures on topics ranging from Classical CV techniques like HOG, SIFT to Convolutional Neural Network based techniques like Overfeat, Faster RCNN etc. You will learn how the ideas have evolved from some of the earliest papers to current ones.
359 | And hence the name Evolution of Object Detection Networks._
360 |
361 | - [SIFT | Scale Invariant Feature Transform](https://www.youtube.com/watch?v=ttD3pvM6pEI&list=PL1GQaVhO4f_jLxOokW7CS5kY_J1t1T17S&index=19&ab_channel=Cogneethi)
362 | - [Hog Intuition | Histogram of Oriented Gradients](https://www.youtube.com/watch?v=Qwc3a8cOKRU&list=PL1GQaVhO4f_jLxOokW7CS5kY_J1t1T17S&index=20&ab_channel=Cogneethi)
363 | - [NMS | Non Max Suppression](https://www.youtube.com/watch?v=07jFApuhh4I&list=PL1GQaVhO4f_jLxOokW7CS5kY_J1t1T17S&index=25&ab_channel=Cogneethi)
364 | - [Object Localization | Bounding Box Regression](https://www.youtube.com/watch?v=LZRfHkTNQqo&list=PL1GQaVhO4f_jLxOokW7CS5kY_J1t1T17S&index=49&ab_channel=Cogneethi)
365 | - [Object Detection](https://www.youtube.com/watch?v=77XJeT-Z-uE&list=PL1GQaVhO4f_jLxOokW7CS5kY_J1t1T17S&index=50&t=3s&ab_channel=Cogneethi)
366 | - [RCNN](https://www.youtube.com/watch?v=dtIZVJAcLxE&list=PL1GQaVhO4f_jLxOokW7CS5kY_J1t1T17S&index=60&t=1s&ab_channel=Cogneethi)
367 | - [Spatial Pyramid Matching | SPM](https://www.youtube.com/watch?v=6MwuK2wHlOg&list=PL1GQaVhO4f_jLxOokW7CS5kY_J1t1T17S&index=70&t=92s&ab_channel=Cogneethi)
368 | - [SPPNet Object Detection](https://www.youtube.com/watch?v=M3lx8GHrEsg&list=PL1GQaVhO4f_jLxOokW7CS5kY_J1t1T17S&index=72&ab_channel=Cogneethi)
369 | - [Fast RCNN Network](https://www.youtube.com/watch?v=ZBPQ7Hd46m4&list=PL1GQaVhO4f_jLxOokW7CS5kY_J1t1T17S&index=77&t=14s&ab_channel=Cogneethi)
370 | - [Faster RCNN](https://www.youtube.com/watch?v=po59qI5LJGU&list=PL1GQaVhO4f_jLxOokW7CS5kY_J1t1T17S&index=80&ab_channel=Cogneethi)
371 | - [Yolo v4 Object Detection - How it Works & Why it's So Amazing!](https://www.youtube.com/watch?v=_JzOFWx1vZg&t=1s&ab_channel=AugmentedStartups)
372 | - Frameworks and Libraries
373 | - [Detectron2 by Facebook AI](https://github.com/facebookresearch/detectron2)
374 | - [MMDetection](https://github.com/open-mmlab/mmdetection)
375 | - [MediaPipe](https://github.com/google/mediapipe)
376 | - [YOLO](https://pjreddie.com/darknet/yolo/)
377 | - [TensorFlow Object Detection API](https://github.com/tensorflow/models/tree/master/research/object_detection)
378 | - [Computer Vision Recipes](https://github.com/microsoft/computervision-recipes)
379 | - Labeling Tools
380 | - [LabelImg](https://github.com/tzutalin/labelImg)
381 | - [Roboflow](https://roboflow.com/)
382 | - [Label Studio](https://labelstud.io/)
383 | - Code samples
384 | - [YOLO-Object-Counting-API](https://github.com/tugot17/YOLO-Object-Counting-API)
385 |
386 | #### 3D Object Detection
387 |
388 | - [Announcing the Objectron Dataset | Google AI Blog](https://ai.googleblog.com/2020/11/announcing-objectron-dataset.html)
389 | - [MediaPipe Objectron | Objectron (3D Object Detection)](https://google.github.io/mediapipe/solutions/objectron.html)
390 |
391 | ### Image Segmentation
392 |
393 | - [Computer Vision Tutorial: A Step-by-Step Introduction to Image Segmentation Techniques (Part 1)](https://www.analyticsvidhya.com/blog/2019/04/introduction-image-segmentation-techniques-python/)
394 |
395 | ### GANs
396 |
397 | - [A Friendly Introduction to Generative Adversarial Networks (GANs) by Luis Serrano](https://www.youtube.com/watch?v=8L11aMN5KY8&ab_channel=Serrano.Academy)
398 | - [Generative Adversarial Networks (GANs) by Ahlad Kumar](https://www.youtube.com/playlist?list=PLdxQ7SoCLQAMGgQAIAcyRevM8VvygTpCu)
399 | - [Building our first simple GAN](https://www.youtube.com/watch?v=OljTVUVzPpM&ab_channel=AladdinPersson)
400 | - [Face editing with Generative Adversarial Networks](https://www.youtube.com/watch?v=dCKbRCUyop8)
401 | - [Variational Autoencoders](https://www.youtube.com/watch?v=9zKuYvjFFS8)
402 | - [Generative Adversarial Networks (GANs) in 50 lines of code (PyTorch)](https://medium.com/@devnag/generative-adversarial-networks-gans-in-50-lines-of-code-pytorch-e81b79659e3f)
403 | - [Generative Models](https://openai.com/blog/generative-models/)
404 |
405 | #### Style Transfer
406 |
407 | - [TensorFlow CNN for fast style transfer ⚡🖥🎨🖼](https://github.com/lengstrom/fast-style-transfer)
408 |
409 | ## NLP
410 |
411 | - [CS224n: Natural Language Processing with Deep Learning](http://web.stanford.edu/class/cs224n/)
412 | - [NLP and The Reformer](https://www.youtube.com/watch?v=rNG_hpSyZcE)
413 | - [The Illustrated Word2vec](https://jalammar.github.io/illustrated-word2vec/)
414 |
415 | ### RNN
416 |
417 | - [Illustrated Guide to Recurrent Neural Networks: Understanding the Intuition](https://www.youtube.com/watch?v=LHXXI4-IEns)
418 | - [Anyone Can Learn To Code an LSTM-RNN in Python (Part 1: RNN)](https://iamtrask.github.io/2015/11/15/anyone-can-code-lstm/) _Baby steps to your neural network's first memories._
419 | - [The Unreasonable Effectiveness of Recurrent Neural Networks](http://karpathy.github.io/2015/05/21/rnn-effectiveness/)
420 | - [An Introduction to Recurrent Neural Networks for Beginners](https://victorzhou.com/blog/intro-to-rnns/) _A simple walkthrough of what RNNs are, how they work, and how to build one from scratch in Python._
421 | - [Attention and Augmented Recurrent Neural Networks by Distill](https://distill.pub/2016/augmented-rnns/)
422 | - [Visualizing memorization in RNNs by Distill](https://distill.pub/2019/memorization-in-rnns/) _Inspecting gradient magnitudes in context can be a powerful tool to see when recurrent units use short-term or long-term contextual understanding._
423 | - [Deep Learning for NLP: ANNs, RNNs and LSTMs explained!](https://www.kdnuggets.com/2019/08/deep-learning-nlp-explained.html)
424 |
425 | ### LSTM
426 |
427 | - [Understanding LSTM Networks](http://colah.github.io/posts/2015-08-Understanding-LSTMs/)
428 | - [LSTM implementation explained](https://apaszke.github.io/lstm-explained.html)
429 | - [A Gentle Introduction to LSTM Autoencoders](https://machinelearningmastery.com/lstm-autoencoders/)
430 |
431 |
432 | ### Transformers and Self Attention
433 | #### Visual Guide to Transformer Neural Networks (Highly Recommended)
434 |
435 | - [Part 1 - Position Embeddings](https://www.youtube.com/watch?v=dichIcUZfOw&ab_channel=Hedu-MathofIntelligence)
436 | - [Part 2 - Multi-Head & Self Attention](https://www.youtube.com/watch?v=mMa2PmYJlCo&ab_channel=Hedu-MathofIntelligence)
437 | - [Part 3 - Decoder’s Masked Attention](https://www.youtube.com/watch?v=gJ9kaJsE78k&ab_channel=Hedu-MathofIntelligence)
438 | - [NLP Transformers Attention Playlist](https://www.youtube.com/playlist?list=PLxI06TjqRkofnRuvD-Ks0Qef5g73yrMQ7)
439 | - [The Illustrated Transformer](https://jalammar.github.io/illustrated-transformer/)
440 | - [The Annotated Transformer](https://nlp.seas.harvard.edu/2018/04/03/attention.html)
441 | - [Transformers Paper and Code](https://nn.labml.ai/transformers/index.html)
442 | - [Transformers from Scratch](https://e2eml.school/transformers.html)
443 | - [Transformers Notes](https://www.notion.so/Transformers-969f4b27c48147778c1e2dbda0c83ce0)
444 | - [Transformers, Explained: Understand the Model Behind GPT-3, BERT, and T5](https://daleonai.com/transformers-explained)
445 | - [A comprehensive overview of Transformer variants.](https://arxiv.org/abs/2106.04554)
446 | - [How to become an NLP & Transformer Model Guru](https://www.linkedin.com/pulse/how-become-transformer-model-guru-denis-rothman/)
447 | - [[MASTERCLASS] Transformers | Attention Models](https://youtu.be/N7u13zO8DPw)
448 | ### BERT
449 |
450 | - [Explaining BERT Simply Using Sketches](https://mlwhiz.medium.com/explaining-bert-simply-using-sketches-ba30f6f0c8cb)
451 | - [A Visual Guide to Using BERT for the First Time](https://jalammar.github.io/a-visual-guide-to-using-bert-for-the-first-time/)
452 | - [The Illustrated BERT, ELMo, and co. (How NLP Cracked Transfer Learning)](https://jalammar.github.io/illustrated-bert/)
453 | - [BERT Explained: State of the art language model for NLP](https://towardsdatascience.com/bert-explained-state-of-the-art-language-model-for-nlp-f8b21a9b6270)
454 | - [BioBERT, a language representation model for biomedical domain, especially designed for biomedical text mining tasks such as biomedical named entity recognition, relation extraction, question answering, etc](https://github.com/dmis-lab/biobert)
455 |
456 | ### GPT
457 |
458 | - [The Illustrated GPT-2 (Visualizing Transformer Language Models)](https://jalammar.github.io/illustrated-gpt2/)
459 |
460 | ## Reinforcement Learning
461 |
462 | - [Deep Reinforcement Learning Course 🕹️](https://simoninithomas.github.io/Deep_reinforcement_learning_Course/) _A Free course in Deep Reinforcement Learning from beginner to expert._
463 | - [Implementation of Reinforcement Learning Algorithms. Python, OpenAI Gym, Tensorflow. Exercises and Solutions to accompany Sutton's Book and David Silver's course.](https://github.com/dennybritz/reinforcement-learning)
464 | - [Unity Machine Learning Agents Toolkit](https://github.com/Unity-Technologies/ml-agents)
465 | - [🖥️ WRITING MY FIRST MACHINE LEARNING GAME! (1/4)](https://www.youtube.com/watch?v=ZX2Hyu5WoFg)
466 | - [Deep Reinforcement Learning: Pong from Pixels by Andrej Karpathy](http://karpathy.github.io/2016/05/31/rl/)
467 | - [A Beginner's Guide to Deep Reinforcement Learning](https://pathmind.com/wiki/deep-reinforcement-learning)
468 | - [An Introduction to Unity ML-Agents](https://towardsdatascience.com/an-introduction-to-unity-ml-agents-6238452fcf4c)
469 | - [Deep Reinforcement Learning Algorithms with PyTorch](https://github.com/p-christ/Deep-Reinforcement-Learning-Algorithms-with-PyTorch)
470 | - [LECTURES: Introduction to Reinforcement Learning - David Silver](https://www.davidsilver.uk/teaching/)
471 | - [BOOK: Reinforcement Learning - An Introduction by Sutton and Barto](https://drive.google.com/open?id=1lsBhr8H_PVnyidewtqduvV4b8wcsnAiH)
472 | - [BOOK: Deep Reinforcement Learning Hands On by Maxim Lapan](https://drive.google.com/open?id=1YJUTUsDy2jQ_du-eoExQkk0miCT2NPRm)
473 |
474 | ## PyTorch
475 |
476 | - [Udacity : Deep Learning with PyTorch](https://classroom.udacity.com/courses/ud188)
477 | - [Deep Learning (PyTorch) : Code](https://github.com/udacity/deep-learning-v2-pytorch)
478 | - [Udacity : Secure AI](https://classroom.udacity.com/courses/ud185)
479 | - [TORCHSCRIPT](https://pytorch.org/docs/stable/jit.html)
480 | - [PyTorchZeroToAll (in English) Sung Kim a Series of 14 Videos](https://www.youtube.com/playlist?list=PLlMkM4tgfjnJ3I-dbhO9JTw7gNty6o_2m)
481 | - [Supporting Code](https://github.com/hunkim/PyTorchZeroToAll)
482 | - [Slides](https://drive.google.com/drive/folders/0B41Zbb4c8HVyUndGdGdJSXd5d3M)
483 |
484 | ## TensorFlow
485 |
486 | - [Introduction to TensorFlow 2.0: Easier for beginners, and more powerful for experts (TF World '19)](https://www.youtube.com/watch?v=5ECD8J3dvDQ)
487 | - [TensorFlow Lite: Solution for running ML on-device (TF World '19)](https://www.youtube.com/watch?v=0SpZy7iouFU)
488 | - [Machine Learning in JavaScript (TensorFlow Dev Summit 2018)](https://www.youtube.com/watch?v=YB-kfeNIPCE)
489 | - [TensorFlow.js Quick Start](https://www.youtube.com/watch?v=Y_XM3Bu-4yc)
490 | - [Keras vs. tf.keras: What’s the difference in TensorFlow 2.0?](https://www.pyimagesearch.com/2019/10/21/keras-vs-tf-keras-whats-the-difference-in-tensorflow-2-0/)
491 | - [How To Run TensorFlow Lite on Raspberry Pi for Object Detection](https://www.youtube.com/watch?v=aimSGOAUI8Y)
492 | - [How computers learn to recognize objects instantly | Joseph Redmon](https://www.youtube.com/watch?v=Cgxsv1riJhI)
493 |
494 | ### TensorFlow Courses
495 |
496 | - [Intro to TensorFlow for Deep Learning](https://classroom.udacity.com/courses/ud187)
497 | - [TensorFlow in Practice Specialization : Coursera](https://www.coursera.org/specializations/tensorflow-in-practice)
498 | - [TensorFlow: Data and Deployment Specialization : Coursera](https://www.coursera.org/specializations/tensorflow-data-and-deployment)
499 |
500 | ### PyTorch Vs TensorFlow
501 |
502 | - [Why is PyTorch becoming so popular among machine learning engineers?](https://www.quora.com/Why-is-PyTorch-becoming-so-popular-among-machine-learning-engineers)
503 |
504 | ## Transfer Learning
505 |
506 | - [Transfer Learning with Keras and Deep Learning](https://www.pyimagesearch.com/2019/05/20/transfer-learning-with-keras-and-deep-learning/)
507 | - [A Comprehensive Hands-on Guide to Transfer Learning with Real-World Applications in Deep Learning](https://towardsdatascience.com/a-comprehensive-hands-on-guide-to-transfer-learning-with-real-world-applications-in-deep-learning-212bf3b2f27a)
508 | - [TensorFlow Core Tutorials](https://www.tensorflow.org/tutorials)
509 |
510 | ## Deploy Models
511 |
512 | - [Machine Learning in 5 Minutes: How to deploy a ML model (SurveyMonkey Engineer explains)](https://www.youtube.com/watch?v=XsD2u7hAwI8)
513 | - [Deploy Machine Learning Models with Django](https://www.deploymachinelearning.com/)
514 | - [MlFlow - An open source platform for the machine learning lifecycle](https://mlflow.org/)
515 | - [TensorFlow: Data and Deployment Specialization](https://www.coursera.org/specializations/tensorflow-data-and-deployment)
516 |
517 | ## MlOps
518 |
519 | - [MLOps Primer - 2021 A collection of resources to learn about MLOps.](https://elvissaravia.substack.com/p/mlops-primer-2021)
520 | ## Code
521 |
522 | - [codebasics/py](https://github.com/codebasics/py)
523 | - [Google Codelabs](https://codelabs.developers.google.com/)
524 |
525 | ## CheatSheets
526 |
527 | - [Artificial Intelligence](https://stanford.edu/~shervine/teaching/cs-221/)
528 | - [Machine Learning](https://stanford.edu/~shervine/teaching/cs-229/)
529 | - [Deep Learning](https://stanford.edu/~shervine/teaching/cs-230/)
530 | - [Machine Learning tips and tricks](https://stanford.edu/~shervine/teaching/cs-229/cheatsheet-machine-learning-tips-and-tricks)
531 | - [Data Science Tools](https://www.mit.edu/~amidi/teaching/data-science-tools/)
532 | - [Machine Learning with R](https://www.mit.edu/~amidi/teaching/modeling/study-guide/machine-learning-with-r/)
533 | - [CHRIS ALBON Cheat Sheets and Flash Cards](https://chrisalbon.com/)
534 | - [MLOps Tooling Landscape v2 (+84 new tools) - Dec '20](https://huyenchip.com/2020/12/30/mlops-v2.html)
535 | - [Mathematical tools](https://stanford.edu/~shervine/teaching/cme-102/linear-algebra)
536 | - [Ordinary Differential Equations for Engineers](https://stanford.edu/~shervine/teaching/cme-102/cheatsheet-first-ode)
537 |
538 |
539 | ## Edge ML Kits
540 |
541 | - [Nvidia Jetson Nano Developer Kit](https://developer.nvidia.com/embedded/jetson-nano-developer-kit)
542 | - [Intel® Neural Compute Stick 2 (Intel® NCS2)](https://software.intel.com/en-us/neural-compute-stick)
543 | - [Coral](https://coral.ai/)
544 |
545 | ## Data Science Competitions
546 |
547 | - [Kaggle](https://www.kaggle.com/)
548 |
549 | ## Important Youtube🎬 Channels in the field of AI/ML/RL/DS
550 |
551 | - [3Blue1Brown](https://www.youtube.com/channel/UCYO_jab_esuFRV4b17AJtAw)
552 | - [StatQuest with Josh Starmer](https://www.youtube.com/user/joshstarmer)
553 | - [Sentdex](https://www.youtube.com/user/sentdex)
554 | - [Luis Serrano](https://www.youtube.com/channel/UCgBncpylJ1kiVaPyP-PZauQ)
555 | - [Brandon Rohrer](https://www.youtube.com/user/BrandonRohrer)
556 | - [deeplizard](https://www.youtube.com/channel/UC4UJ26WkceqONNF5S26OiVw)
557 | - [Tech With Tim](https://www.youtube.com/channel/UC4JX40jDee_tINbkjycV4Sg)
558 | - [Microsoft Research](https://www.youtube.com/user/MicrosoftResearch)
559 | - [Corey Schafer](https://www.youtube.com/user/schafer5)
560 | - [Data School](https://www.youtube.com/user/dataschool)
561 | - [Two Minute Papers](https://www.youtube.com/user/keeroyz)
562 | - [Welch Labs](https://www.youtube.com/user/Taylorns34)
563 | - [Simplilearn](https://www.youtube.com/user/Simplilearn)
564 | - [Great Learning](https://www.youtube.com/user/beaconelearning)
565 | - [DeepLearning.TV](https://www.youtube.com/channel/UC9OeZkIwhzfv-_Cb7fCikLQ)
566 | - [TensorFlow](https://www.youtube.com/channel/UC0rqucBdTuFTjJiefW5t-IQ)
567 | - [Deeplearning.ai](https://www.youtube.com/channel/UCcIXc5mJsHVYTZR1maL5l9w)
568 | - [Code Bullet](https://www.youtube.com/channel/UC0e3QhIYukixgh5VVpKHH9Q)
569 | - [edureka!](https://www.youtube.com/user/edurekaIN)
570 | - [Lex Fridman](https://www.youtube.com/channel/UCSHZKyawb77ixDdsGog4iWA)
571 | - [The Artificial Intelligence Channel](https://www.youtube.com/user/Maaaarth)
572 | - [freeCodeCamp.org](https://www.youtube.com/channel/UC8butISFwT-Wl7EV0hUK0BQ)
573 | - [CloudxLab](https://www.youtube.com/channel/UC8mJ6DL1Q32UWyJUceoO8Jw)
574 | - [Alexander Amini](https://www.youtube.com/user/Zan560)
575 | - [Jeff Heaton](https://www.youtube.com/user/HeatonResearch)
576 | - [Abhishek Thakur](https://www.youtube.com/user/abhisheksvnit)
577 | - [The Coding Train](https://www.youtube.com/user/shiffman)
578 |
579 | ## Reference
580 |
581 | - [🖥️ HOW TO GET STARTED WITH MACHINE LEARNING!](https://www.youtube.com/watch?v=I74ymkoNTnw)
582 | - [My Self-Created Artificial Intelligence Masters Degree](https://hackernoon.com/my-self-created-ai-masters-degree-ddc7aae92d0e)
583 | - https://end-to-end-machine-learning.teachable.com/courses/667372/lectures/11900568
584 | - [ML Fundamentals by StatQuest](https://www.youtube.com/watch?v=Gv9_4yMHFhI&list=PLblh5JKOoLUICTaGLRoHQDuF_7q2GfuJF)
585 | - [Machine Learning with Python by sentdex](https://www.youtube.com/playlist?list=PLQVvvaa0QuDfKTOs3Keq_kaG2P55YRn5v)
586 | - [5 Beginner Friendly Steps to Learn Machine Learning and Data Science with Python - Daniel Bourke](https://www.mrdbourke.com/5-beginner-friendly-steps-to-learn-machine-learning/)
587 | - [Data School](https://www.dataschool.io/)
588 | - [Neural Networks and Deep Learning](http://neuralnetworksanddeeplearning.com/)
589 | - https://www.machinelearningisfun.com/
590 | - https://medium.com/@ageitgey/machine-learning-is-fun-80ea3ec3c471
591 | - https://medium.com/greyatom
592 | - https://greyatom.com/glabs
593 | - [John Searle: "Consciousness in Artificial Intelligence" | Talks at Google](https://www.youtube.com/watch?v=rHKwIYsPXLg)
594 | - https://github.com/nature-of-code/NOC-S17-2-Intelligence-Learning/tree/master/week3-classification-regression
595 | - https://github.com/nature-of-code/NOC-S17-2-Intelligence-Learning
596 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | theme: jekyll-theme-cayman
--------------------------------------------------------------------------------
/ai_job_concepts.md:
--------------------------------------------------------------------------------
1 |
2 | ### **Module 1: Python Programming for Data Science**
3 |
4 | #### **Sub-module 1.1: Python Basics**
5 | - Data types and variables
6 | - Control structures (if-else, for loops, while loops)
7 | - Functions and lambda expressions
8 | - Exception handling
9 |
10 | #### **Sub-module 1.2: Advanced Python**
11 | - List comprehensions
12 | - Generators and iterators
13 | - Decorators
14 | - Context managers
15 |
16 | #### **Sub-module 1.3: Python Libraries**
17 | - NumPy (arrays, matrix operations)
18 | - pandas (dataframes, series, data manipulation)
19 | - Matplotlib (basic plotting, figures, and axes)
20 | - seaborn (statistical data visualization)
21 |
22 | ---
23 |
24 | ### **Module 2: Data Management and Manipulation**
25 |
26 | #### **Sub-module 2.1: Data Cleaning**
27 | - Handling missing data
28 | - Data type conversion
29 | - Normalizing and scaling
30 |
31 | #### **Sub-module 2.2: Data Exploration**
32 | - Descriptive statistics
33 | - Correlation analysis
34 | - Outlier detection
35 |
36 | #### **Sub-module 2.3: Data Wrangling**
37 | - Merging, joining, and concatenating data
38 | - Grouping and aggregation
39 | - Pivot tables and cross-tabulation
40 |
41 | ---
42 |
43 | ### **Module 3: Machine Learning**
44 |
45 | #### **Sub-module 3.1: Fundamentals of ML**
46 | - Supervised vs. unsupervised learning
47 | - Overfitting and underfitting
48 | - Bias Variance Tradeoff
49 | - Train-test split
50 | - Cross-validation
51 |
52 | #### **Sub-module 3.2: Regression Algorithms**
53 | - Linear regression (Line fitting, Residual, Gradient Descent)
54 | - Polynomial regression (Polynomial Order)
55 | - Ridge, Lasso and ElasticNet regression (What effed does each penalty term have on the training data)
56 |
57 | #### **Sub-module 3.3: Classification Algorithms**
58 | - Logistic regression (OVA, OVR)
59 | - Decision Trees (Gini, Entrophy)
60 | - Random Forests
61 | - Support Vector Machines (SVM) (Max-margin Classifier, Kernel trick [RBF, Linear, Sigmoid])
62 | - k-Nearest Neighbors (k-NN)
63 |
64 | #### **Sub-module 3.4: Ensemble Methods**
65 | - Bagging
66 | - Boosting (AdaBoost, GradientBoost, XGBoost, CatBoost, LightGBM)
67 | - Stacking
68 |
69 | #### **Sub-module 3.5: Unsupervised Algorithms**
70 | - k-means clustering
71 | - Hierarchical clustering
72 | - Principal Component Analysis (PCA)
73 |
74 | #### **Sub-module 3.6: Model Evaluation**
75 | - Confusion matrix
76 | - ROC-AUC
77 | - Precision-Recall
78 | - F1 Score
79 |
80 | #### **Sub-module 3.7: Model Finetuning**
81 | - Grid Search
82 | - Optional
83 | - Cross-validation
84 |
85 | ---
86 |
87 | ### **Module 4: Deep Learning**
88 |
89 | #### **Sub-module 4.1: Neural Networks Basics**
90 | - Perceptrons
91 | - Activation functions (ReLU, sigmoid, tanh)
92 | - Feedforward neural networks
93 | - Backpropagation and gradient descent
94 |
95 | #### **Sub-module 4.2: Advanced Neural Networks**
96 | - Convolutional Neural Networks (CNNs)
97 | - LeNet, AlexNet, VGGNet, InceptionNet, ResNet, EfficientNet
98 | - Transfer Learning
99 | - Recurrent Neural Networks (RNNs)
100 | - Vanishing and Exploding Gradient
101 | - Long Short-Term Memory networks (LSTMs)
102 | - Autoencoders (VAE)
103 | - Generative Adversarial Networks (GANs) (DCGAN, PixGAN, CycleGAN)
104 | - Transformers
105 |
106 | #### **Sub-module 4.3: Frameworks and Tools**
107 | - TensorFlow
108 | - Keras
109 | - PyTorch
110 |
111 | #### **Sub-module 4.4: Model Optimization and Deployment**
112 | - Regularization techniques
113 | - Hyperparameter tuning (Grid search, Random search)
114 | - Model deployment (Flask, Docker)
115 |
116 | ---
117 |
118 | ### **Module 5: Gen AI**
119 |
120 | #### **Sub-module 5.1: Transformers)**
121 | - Sequence to Sequence Models
122 | - Attention Mechanism
123 | - Self Attention
124 | - Transformers, Positional Encoding
125 |
126 | #### **Sub-module 6.2: LLM Architectures**
127 | - Encoder Only Architecture
128 | - BERT (Bidirectional Encoder Representations from Transformers)
129 | - GPT (Generative Pre-trained Transformer) - often categorized as Decoder Only but can be adapted for encoder-only tasks
130 | DistilBERT (a distilled version of BERT that is lighter and faster)
131 | ALBERT (A Lite BERT for self-supervised learning of language representations)
132 | - Decoder Only Architecture
133 | - GPT (Generative Pre-trained Transformer)
134 | - Encoder-Decoder Architecture
135 | - Transformer (original model comprising both encoder and decoder)
136 | - BART (Bidirectional and Auto-Regressive Transformers)
137 | - T5 (Text-to-Text Transfer Transformer)
138 |
139 | #### **Sub-module 6.3: Prompt Engineering**
140 | - Zero-shot, Single Shot, Few Shot
141 | - RAG
142 | - OpenAI APIs
143 | - Using self-hosted LLMs, Huggingface
144 |
145 | ---
146 |
147 | ### **Module 6: Special Topics**
148 |
149 | #### **Sub-module 6.1: Natural Language Processing (NLP)**
150 | - Text preprocessing (tokenization, stemming, lemmatization)
151 | - Word embeddings (Word2Vec, GloVe)
152 | - Sentiment analysis
153 | - Named Entity Recognition (NER)
154 |
155 | #### **Sub-module 6.2: Computer Vision**
156 | - Image processing basics
157 | - Object detection
158 | - Image classification
159 |
160 | #### **Sub-module 6.3: Time Series Analysis**
161 | - ARIMA models
162 | - Seasonal decomposition
163 | - Forecasting
164 |
165 |
166 | Courses
167 |
168 | 1. https://www.coursera.org/professional-certificates/ibm-data-science
169 | 2. https://www.coursera.org/specializations/machine-learning-introduction
170 | 3. https://www.coursera.org/specializations/deep-learning
171 | 4. https://www.coursera.org/specializations/natural-language-processing
172 | 5. https://www.coursera.org/professional-certificates/tensorflow-in-practice
173 | 6. https://www.coursera.org/specializations/machine-learning-engineering-for-production-mlops
174 | 7. For LLM cover all short courses by dl.ai - https://www.deeplearning.ai/short-courses/
175 |
--------------------------------------------------------------------------------
/autonomous_car/README.md:
--------------------------------------------------------------------------------
1 | # SDC
2 |
3 | - [Self-Driving Cars Lectures by Lex Fridman](https://www.youtube.com/playlist?list=PLrAXtmErZgOeY0lkVCIVafdGFOTi45amq)
4 |
5 | ## [waymo-open-dataset](https://github.com/waymo-research/waymo-open-dataset)
6 |
7 | Waymo Open Dataset https://www.waymo.com/open
8 |
9 | ### MIT 6.S094: Deep Learning for Self-Driving Cars
10 |
11 | - [DeepTraffic](https://selfdrivingcars.mit.edu/deeptraffic/)
12 |
--------------------------------------------------------------------------------
/computer_vision/README.md:
--------------------------------------------------------------------------------
1 | # Computer Vision
2 |
3 | ### Computer Vision Recipies
4 |
5 | [microsoft / computervision-recipes : Best Practices, code samples, and documentation for Computer Vision.](https://github.com/microsoft/computervision-recipes)
6 |
7 | ### Image Classification
8 |
9 | A form of inference in which an object in an image is determined to be of a particular class, such as a cat vs. a dog.
10 |
11 | ### Object Detection
12 |
13 | A form of inference in which objects within an image are detected, and a bounding box is output based on where in the image the object was detected. Usually, this is combined with some form of classification to also output which class the detected object belongs to.
14 |
15 | ### Semantic Segmentation
16 |
17 | A form of inference in which objects within an image are detected and classified on a pixel-by-pixel basis, with all objects of a given class given the same label.
18 |
19 | - [Semantic Segmentation](https://thegradient.pub/semantic-segmentation/)
20 |
21 | ### Instance Segmentation
22 |
23 | Similar to semantic segmentation, this form of inference is done on a pixel-by-pixel basis, but different objects of the same class are separately identified.
24 |
25 | ### [SSD](https://arxiv.org/abs/1512.02325)
26 |
27 | Single Shot MultiBox Detector. A neural network combining object detection and classification, with different feature extraction layers directly feeding to the detection layer, using default bounding box sizes and shapes.
28 |
29 | - [Understanding SSD MultiBox — Real-Time Object Detection In Deep Learning](https://towardsdatascience.com/understanding-ssd-multibox-real-time-object-detection-in-deep-learning-495ef744fab)
30 |
31 | ### [YOLO](https://arxiv.org/abs/1506.02640)
32 |
33 | One of the original neural networks to only take a single look at an input image, whereas earlier networks ran a classifier multiple times across a single image at different locations and scales.
34 |
35 | - [YOLOv4 in the CLOUD: Build and Train Custom Object Detector (FREE GPU)](https://www.youtube.com/watch?v=mmj3nxGT2YQ&ab_channel=TheAIGuy)
36 | - [YOLOv4-Cloud-Tutorial - Code](https://github.com/theAIGuysCode/YOLOv4-Cloud-Tutorial)
37 | - [The AI Guy](https://www.youtube.com/channel/UCrydcKaojc44XnuXrfhlV8Q/videos)
38 |
39 | ### [Faster R-CNN](https://arxiv.org/abs/1506.01497)
40 |
41 | A network, expanding on [R-CNN](https://arxiv.org/pdf/1311.2524.pdf) and [Fast R-CNN](https://arxiv.org/pdf/1504.08083.pdf), that integrates advances made in the earlier models by adding a Region Proposal Network on top of the Fast R-CNN model for an integrated object detection model.
42 |
43 | ### [MobileNet](https://arxiv.org/abs/1704.04861)
44 |
45 | A neural network architecture optimized for speed and size with minimal loss of inference accuracy through the use of techniques like [1x1 convolutions](https://stats.stackexchange.com/questions/194142/what-does-1x1-convolution-mean-in-a-neural-network). As such, MobileNet is more useful in mobile applications that substantially larger and slower networks.
46 |
47 | ### [ResNet](https://arxiv.org/abs/1512.03385)
48 |
49 | A very deep neural network that made use of residual, or “skip” layers that pass information forward by a couple of layers. This helped deal with the [vanishing gradient problem](https://towardsdatascience.com/the-vanishing-gradient-problem-69bf08b15484) experienced by deeper neural networks.
50 |
51 | ### [Inception](https://arxiv.org/pdf/1409.4842.pdf)
52 |
53 | A neural network making use of multiple different convolutions at each “layer” of the network, such as 1x1, 3x3 and 5x5 convolutions. The top architecture from the original paper is also known as GoogLeNet, an homage to [LeNet](http://yann.lecun.com/exdb/publis/pdf/lecun-01a.pdf), an early neural network used for character recognition.
54 |
55 | ## Cool CVProjects
56 |
57 | ### [DeOldify](https://github.com/jantic/DeOldify)
58 |
59 | A Deep Learning based project for colorizing and restoring old images (and video!)
60 |
--------------------------------------------------------------------------------
/data_engineering/README.md:
--------------------------------------------------------------------------------
1 | # Data Engineering Resources
2 |
3 |
4 | Data engineering is a field of work that involves **designing, building, and managing the infrastructure** and systems required to **collect, store, process, and analyze data**. Data engineers play a crucial role in the data lifecycle, ensuring that data is available, accessible, and reliable for various data-driven applications and decision-making processes.
5 |
6 | ---
7 | ## Here are some key resources for Data Engineering
8 | ---
9 | ### Batch Proceesing
10 |
11 |
12 | **Batch processing** is a data processing technique where a set of data is collected over a period of time and processed as a group or batch. In batch processing, data is processed in predefined batches rather than being processed in real-time or immediately upon arrival. to understand the basics of Data Engineering, see this resources.
13 |
14 | - [Understanding Data Engineering by Datacamp](https://app.datacamp.com/learn/courses/understanding-data-engineering)
15 | - [Introduction to Data Engineering by Datacamp](https://app.datacamp.com/learn/courses/introduction-to-data-engineering)
16 | - [Apache Spark Tutorial (used for Large Scale Data Processing using SQL commands)](https://spark.apache.org/docs/latest/sql-getting-started.html)
17 | - [Test your knowledge using ProjectPro](https://www.projectpro.io/article/big-data-interview-questions-/773)
18 |
19 |
20 | ### Stream Processing
21 | **Stream processing** is a method of data processing that involves continuously processing and analyzing data as it is generated or received in real-time. It enables the handling and analysis of data in motion, allowing for immediate insights and actions based on the streaming data. Here are some resources to refer to,
22 | - [Introduction to Apache Kafka Streams](https://kafka.apache.org/documentation/streams/)
23 | - [Apache Flink Documentation](https://nightlies.apache.org/flink/flink-docs-release-1.13/docs/try-flink/datastream/)
24 | - [Stream Processing Quiz](https://chauff.github.io/documents/bdp-quiz/streaming.html)
25 |
26 |
27 | ### Data Pipelines and Integration
28 |
29 | **Data pipelines and integration** are critical components of data engineering that involve the movement, transformation, and integration of data from various sources to a destination for further processing, analysis, or storage. They ensure that data flows seamlessly and reliably across different systems, enabling efficient data management and utilization. Refer these resources for reference.
30 | - [Building Data Engineering Pipelines in Python](https://app.datacamp.com/learn/courses/building-data-engineering-pipelines-in-python)
31 | - ["What is Data Integration?" by talend](https://www.talend.com/resources/what-is-data-integration/)
32 | - [Data Cleaning Challenge: Handling missing values](https://www.kaggle.com/code/rtatman/data-cleaning-challenge-handling-missing-values/notebook)
33 |
34 | ---
35 |
36 | Data engineering requires knowledge of programming languages (such as Python, Java, or Scala), database systems, big data technologies, cloud platforms, data modeling, and data warehousing concepts. Data engineers also need to keep up with the evolving landscape of data technologies and best practices to ensure efficient and effective data management.
--------------------------------------------------------------------------------
/gans/README.md:
--------------------------------------------------------------------------------
1 | # Generative Adversarial Networks (GANs)
2 |
3 | - https://deepart.io/latest/
4 | - https://medium.com/datadriveninvestor/the-infinite-art-machine-3a2decab85d9 (My DC Gan blog post)
5 | - https://github.com/tomguluson92/StyleGAN_PyTorch
6 | - https://magenta.tensorflow.org/gansynth
7 | - https://towardsdatascience.com/cyclegans-to-create-computer-generated-art-161082601709
8 | - https://deepdreamgenerator.com/
9 | - https://www.thispersondoesnotexist.com/
10 | - https://github.com/jantic/DeOldify
11 |
12 | # Links to codes I showed today
13 |
14 | - https://github.com/SubhadityaMukherjee/animeFaceGenerator
15 | - https://github.com/SubhadityaMukherjee/facegen
16 | - https://github.com/SubhadityaMukherjee/deepDream
17 | - https://github.com/SubhadityaMukherjee/neural_style_transfer
18 |
19 | # Where to learn GANs from
20 |
21 | Look at the papers I mentioned. Links in the link below
22 |
23 | - https://github.com/SubhadityaMukherjee/PaperImplementations (I have written notes about the stuff I explained today. WGAN, DCGAN, VAE etc)
24 | - https://pytorch.org/tutorials/beginner/dcgan_faces_tutorial.html
25 | - https://www.tensorflow.org/tutorials/generative/dcgan
26 | - https://towardsdatascience.com/demystifying-gans-in-tensorflow-2-0-9890834ab3d9
27 | - https://github.com/hindupuravinash/the-gan-zoo
28 | - https://hollobit.github.io/All-About-the-GAN/
29 |
30 | # Other Links
31 |
32 | - Papers with code - https://paperswithcode.com/
33 | - Experiments - https://experiments.withgoogle.com/
34 | - Implementations - https://github.com/SubhadityaMukherjee/PaperImplementations
35 | - Datasetsearch - https://datasetsearch.research.google.com
36 | - Papers - https://github.com/terryum/awesome-deep-learning-papers#new-papers
37 | - Ai blog - https://ai.googleblog.com/
38 |
39 | ## Demo
40 |
41 | - [Image-to-Image Translation with Conditional Adversarial Nets](https://phillipi.github.io/pix2pix/)
42 | - [Image-to-Image Demo](https://affinelayer.com/pixsrv/) _Interactive Image Translation with pix2pix-tensorflow_
43 |
44 | # Courses
45 |
46 | - [A to Z ML/DL](https://www.udemy.com/course/machinelearning/)
47 | - [Udemy Deep Learning](https://www.udemy.com/course/deeplearning/)
48 | - [deeplearning.ai](https://www.deeplearning.ai/)
49 | - [Fastai](https://course.fast.ai/)
50 |
51 | # Blogs
52 |
53 | - [OpenAI](https://www.openai.com/)
54 | - [Distill](http://distill.pub/)
55 | - [Andrej Karpathy Blog](http://karpathy.github.io/)
56 | - [Colah's Blog](http://colah.github.io/)
57 | - [WildML](http://www.wildml.com/)
58 | - [FastML](http://www.fastml.com/)
59 | - [TheMorningPaper](https://blog.acolyer.org/)
60 |
61 | ### Compiled by
62 |
63 | **Subhaditya Mukherjee**
64 |
65 | - Email : msubhaditya@gmail.com
66 | - Linkedin : https://www.linkedin.com/in/subhaditya-mukherjee-a36883100
67 | - Github : www.github.com/SubhadityaMukherjee
68 |
69 |
70 |
--------------------------------------------------------------------------------
/generative_ai/README.md:
--------------------------------------------------------------------------------
1 | ## Generative AI
2 | This is a comprehensive guide to understanding and navigating the realm of Generative AI. Generative AI has gained significant traction in recent years due to its wide range of applications across various domains. From generating realistic images to aiding in natural language processing tasks, Generative AI has revolutionized how we interact with and create content.
3 |
4 | ### LLMs From Scratch Series
5 |
6 | 1. Andrej Karpathy - [10 Vidoes](https://youtube.com/playlist?list=PLAqhIrjkxbuWI23v9cThsA9GvCAUhRvKZ&si=EuGApF9EXdu1_an5)
7 | - The spelled-out intro to neural networks and backpropagation: building micrograd
8 | - The spelled-out intro to language modeling: building makemore
9 | - Building makemore Part 2: MLP
10 | - Building makemore Part 3: Activations & Gradients, BatchNorm
11 | - Building makemore Part 4: Becoming a Backprop Ninja
12 | - Building makemore Part 5: Building a WaveNet
13 | - Let's build GPT: from scratch, in code, spelled out.
14 | - State of GPT
15 | - Let's build the GPT Tokenizer
16 | - Let's reproduce GPT-2 (124M)
17 |
18 | 2. StatQuest with Josh Starmer - [15 Videos](https://youtube.com/playlist?list=PLblh5JKOoLUIxGDQs4LFFD--41Vzf-ME1&si=DfkDMWz58VJgBrsD)
19 | - Recurrent Neural Networks (RNNs), Clearly Explained!!!
20 | - Long Short-Term Memory (LSTM), Clearly Explained
21 | - Word Embedding and Word2Vec, Clearly Explained!!!
22 | - Sequence-to-Sequence (seq2seq) Encoder-Decoder Neural Networks, Clearly Explained!!!
23 | - Attention for Neural Networks, Clearly Explained!!!
24 | - Transformer Neural Networks, ChatGPT's foundation, Clearly Explained!!!
25 | - Decoder-Only Transformers, ChatGPTs specific Transformer, Clearly Explained!!!
26 | - Tensors for Neural Networks, Clearly Explained!!!
27 | - Essential Matrix Algebra for Neural Networks, Clearly Explained!!!
28 | - The matrix math behind transformer neural networks, one step at a time!!!
29 | - The StatQuest Introduction to PyTorch
30 | - Introduction to Coding Neural Networks with PyTorch and Lightning
31 | - Long Short-Term Memory with PyTorch + Lightning
32 | - Word Embedding in PyTorch + Lightning
33 | - Coding a ChatGPT Like Transformer From Scratch in PyTorch
34 | 3. Sebastian Raschka - [5 Videos](https://youtube.com/playlist?list=PLTKMiZHVd_2Licpov-ZK24j6oUnbhiPkm&si=9oqXgWnDumkgA176)
35 | - Developing an LLM: Building, Training, Finetuning
36 | - Understanding PyTorch Buffers
37 | - Finetuning Open-Source LLMs
38 | - Insights from Finetuning LLMs with Low-Rank Adaptation
39 | - Building LLMs from the Ground Up: A 3-hour Coding Workshop
40 | 4. CodeEmporium - [12 Videos](https://youtube.com/playlist?list=PLTl9hO2Oobd97qfWC40gOSU8C0iu0m2l4&si=_kt_U8h_i2QtJyPj)
41 | - Self Attention in Transformer Neural Networks (with Code!)
42 | - Multi Head Attention in Transformer Neural Networks with Code!
43 | - Positional Encoding in Transformer Neural Networks Explained
44 | - Layer Normalization - EXPLAINED (in Transformer Neural Networks)
45 | - Blowing up the Transformer Encoder!
46 | - Transformer Encoder in 100 lines of code!
47 | - Blowing up Transformer Decoder architecture
48 | - Transformer Decoder coded from scratch
49 | - Sentence Tokenization in Transformer Code from scratch!
50 | - The complete guide to Transformer neural Networks!
51 | - The complete Transformer Neural Network Code in 300 lines!
52 | - Building a Translator with Transformers
53 |
54 | 5. Jay Alammar
55 | - Coming soon
56 |
57 | 6. Luis Serrano
58 | - Coming soon
59 |
60 |
61 | ### Modue 1 - Introduction to Generative AI
62 |
63 | | Topic | References |
64 | | --------------------------------------------------------- |:-------------------------------------------------------------------------------------------------------------------------------------------- |
65 | | Introduction to Generative AI,Importance and Applications | [Intro to Generartive AI - Google Cloud Tech▶️](https://www.youtube.com/watch?v=G2fqAlgmoPo&pp=ygUdaW50cm9kdWN0aW9uIHRvIGdlbmVyYXRpdmUgYWk%3D) |
66 | | Autoencoders and Variational Autoencoders (VAEs) | [Variational Autoencoders - ArxivInsights▶️](https://www.youtube.com/watch?v=9zKuYvjFFS8&t=346s&pp=ygUXdmFyaWF0aW9uYWwgYXV0b2VuY29kZXI%3D)
[Autoencoders Explained Easily▶️](https://youtu.be/SSXDkfiPs7c?si=3KD2T44sQQSMFjdG)
[Autoencoders - Jeremy Jordan🧾 ](https://www.jeremyjordan.me/autoencoders/) |
67 | |Generative Adversarial Networks (GANs)| [A Friendly Introduction to Generative Adversarial Networks (GANs) - Serrano.Academy▶️](https://www.youtube.com/watch?v=8L11aMN5KY8&t=1076s&pp=ygUER2Fucw%3D%3D)
[6 GAN Architectures You Really Should Know - neptune.ai🧾](https://neptune.ai/blog/6-gan-architectures)|
68 | |Autoregressive Models and RBMs|[Guide to Autoregressive Models- Turing🧾](https://www.turing.com/kb/guide-to-autoregressive-models)
[Autoregressive Diffusion Models - Yannic Kilcher▶️](https://www.youtube.com/watch?v=2h4tRsQzipQ)
[Restricted Boltzmann Machines (RBM)- Serrano.Academy▶️](https://www.youtube.com/watch?v=Fkw0_aAtwIw)
|
69 | |Text Generation and Language Modeling| [Text Generation-HuggingFace](https://huggingface.co/tasks/text-generation)🧾|
70 |
71 | ### Module 2 - Deep Learning Based Natural Language Processing
72 | | Topic | References |
73 | | ----- |:---------- |
74 | | Word Embedding | [Word Embedding and Word2Vec -StatQuest](https://www.youtube.com/watch?v=viZrOnJclY0)▶️
[Word2Vec, GloVe, FastText- CodeEmporium](https://www.youtube.com/watch?v=9S0-OC4LFNo&t=386s&pp=ygUQV29yZCBFbWJlZGRpbmdzIA%3D%3D)▶️
|
75 | |Representation Learning|[Representation Learning Complete Guide-AIM](https://analyticsindiamag.com/a-comprehensive-guide-to-representation-learning-for-beginners/#:~:text=Representation%20learning%20is%20a%20class,them%20to%20a%20given%20activity.)🧾|
76 | |Sequence-to-Sequence Models,Encoder-Decoder Architectures|[Sequence-to-Sequence (seq2seq) EncoderDecoder Neural Networks - StatQuest](https://www.youtube.com/watch?v=L8HKweZIOmg&pp=ygUbU2VxdWVuY2UtdG8tU2VxdWVuY2UgTW9kZWxz)▶️
[EncoderDecoder Seq2Seq Models - Kriz Moses](https://medium.com/analytics-vidhya/encoder-decoder-seq2seq-models-clearly-explained-c34186fbf49b)🧾|
77 | |seq2seq with Attention|[Sequence to Sequence (seq2seq) and Attention - Lena Voita](https://lena-voita.github.io/nlp_course/seq2seq_and_attention.html)🧾
[Attention for Neural Networks-StatQuest](https://www.youtube.com/watch?v=PSs6nxngL6k&pp=ygUsU2VxdWVuY2UgdG8gU2VxdWVuY2UgKHNlcTJzZXEpIGFuZCBBdHRlbnRpb24%3D)▶️|
78 | |Self Attention,Transformers| [Introduction to Transformers - Andrej Karpathy](https://www.youtube.com/watch?v=XfpMkf4rD6E)▶️
[Attention for Neural Networks-StatQuest](https://www.youtube.com/watch?v=PSs6nxngL6k)▶️
[Self attention-H2O.ai](https://h2o.ai/wiki/self-attention/)🧾
[What are Transformer Models and how do they work?-Serrano.Academy](https://www.youtube.com/watch?v=qaWMOYf4ri8)▶️|
79 | |Self-Supervised Learning |[Self-Supervised Learning: The Dark Matter of Intelligence-Yannic Kilcher](https://www.youtube.com/watch?v=Ag1bw8MfHGQ)▶️
[Self-Supervised Learning and Its Applications-neptune.ai🧾](https://neptune.ai/blog/self-supervised-learning)|
80 | |Advanced NLP|[Stanford CS224N: NLP with Deep Learning▶️](https://www.youtube.com/watch?v=rmVRLeJRkl4&list=PLoROMvodv4rMFqRtEuo6SGjY4XbRIVRd4&pp=iAQB)
[Natural Language Processing: Advance Techniques🧾](https://medium.com/analytics-vidhya/natural-language-processing-advance-techniques-in-depth-analysis-b67bca5db432) |
81 |
--------------------------------------------------------------------------------
/new_resources/README.md:
--------------------------------------------------------------------------------
1 | # New Resourcecs for Review
2 |
3 | https://github.com/vinta/awesome-python
4 |
5 |
6 | Machine Learning Algorithms from scratch
7 |
8 | https://github.com/Gautam-J/Machine-Learning
9 |
10 | [Curated NLP Database List of 1000+ Natural Language Processing Datasets](https://metatext.io/datasets)
11 |
12 | https://github.com/jwasham/coding-interview-university
13 |
14 | https://github.com/aj-ames/Centerface-Deepstream
15 |
16 | https://github.com/kyclark/tiny_python_projects
17 |
18 | https://github.com/ageron/handson-ml2
19 |
20 | https://github.com/visenger/awesome-mlops
21 |
22 | https://github.com/garrettj403/SciencePlots
23 |
24 | https://github.com/whythawk/data-as-a-science
25 |
26 | https://github.com/TheAlgorithms/Python
27 |
28 | https://github.com/eugeneyan/applied-ml
29 |
30 | https://github.com/Rishit-dagli/Perceiver
31 |
32 | https://github.com/aj-ames/Activity-Recognition-TensorRT
33 |
34 | ### Over 200 figures and diagrams of the most popular deep learning architectures and layers FREE TO USE in your blog posts, slides, presentations, or papers.
35 |
36 | https://github.com/dvgodoy/dl-visuals
37 |
38 | https://jakevdp.github.io/PythonDataScienceHandbook/
39 |
40 | https://github.com/huggingface/autonlp
41 |
42 | https://github.com/sayakpaul/Denoised-Smoothing-TF
43 |
44 | Maths https://github.com/Developer-Y/cs-video-courses#math-for-computer-scientist
45 |
46 | The algorithms https://github.com/TheAlgorithms/Python
47 |
48 | https://github.com/open-mmlab/mmdetection/tree/master/configs/fast_rcnn
--------------------------------------------------------------------------------
/reinforcement_learning/README.md:
--------------------------------------------------------------------------------
1 | ### Reinforcement Learning
2 |
3 | - [Reinforcement Learning - David Silver | Deepmind | 2020](https://www.youtube.com/playlist?list=PLEAYkSg4uSQ2S3rHUCqz6W1ZKybVICeSP)
4 |
5 | - [Deep Reinforcement Learning Algorithms with PyTorch](https://github.com/p-christ/Deep-Reinforcement-Learning-Algorithms-with-PyTorch)
6 |
7 | - [LECTURES: Introduction to Reinforcement Learning - David Silver](https://www.davidsilver.uk/teaching/)
8 |
9 | - [BOOK: Reinforcement Learning - An Introduction by Sutton and Barto](https://drive.google.com/open?id=1lsBhr8H_PVnyidewtqduvV4b8wcsnAiH)
10 |
11 | - [BOOK: Deep Reinforcement Learning Hands On by Maxim Lapan](https://drive.google.com/open?id=1YJUTUsDy2jQ_du-eoExQkk0miCT2NPRm)
12 |
--------------------------------------------------------------------------------
/reinforcement_learning/notebooks/Reinforcement_Q_Learning_from_Scratch_in_Python_with_OpenAI_Gym_Taxi.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "nbformat": 4,
3 | "nbformat_minor": 0,
4 | "metadata": {
5 | "colab": {
6 | "provenance": []
7 | },
8 | "kernelspec": {
9 | "name": "python3",
10 | "display_name": "Python 3"
11 | },
12 | "language_info": {
13 | "name": "python"
14 | }
15 | },
16 | "cells": [
17 | {
18 | "cell_type": "code",
19 | "metadata": {
20 | "colab": {
21 | "base_uri": "https://localhost:8080/",
22 | "height": 689
23 | },
24 | "id": "T2YZUIm4tgmJ",
25 | "outputId": "a4b83d45-5a86-4283-abfe-c2d226996aa0"
26 | },
27 | "source": [
28 | "!pip install cmake 'gym[atari]==0.22.0' scipy"
29 | ],
30 | "execution_count": 2,
31 | "outputs": [
32 | {
33 | "output_type": "stream",
34 | "name": "stderr",
35 | "text": [
36 | "/usr/local/lib/python3.9/dist-packages/ipykernel/ipkernel.py:283: DeprecationWarning: `should_run_async` will not call `transform_cell` automatically in the future. Please pass the result to `transformed_cell` argument and any exception that happen during thetransform in `preprocessing_exc_tuple` in IPython 7.17 and above.\n",
37 | " and should_run_async(code)\n"
38 | ]
39 | },
40 | {
41 | "output_type": "stream",
42 | "name": "stdout",
43 | "text": [
44 | "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n",
45 | "Requirement already satisfied: cmake in /usr/local/lib/python3.9/dist-packages (3.25.2)\n",
46 | "Collecting gym[atari]==0.22.0\n",
47 | " Downloading gym-0.22.0.tar.gz (631 kB)\n",
48 | "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m631.1/631.1 kB\u001b[0m \u001b[31m10.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
49 | "\u001b[?25h Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n",
50 | " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n",
51 | " Preparing metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n",
52 | "Requirement already satisfied: scipy in /usr/local/lib/python3.9/dist-packages (1.10.1)\n",
53 | "Requirement already satisfied: numpy>=1.18.0 in /usr/local/lib/python3.9/dist-packages (from gym[atari]==0.22.0) (1.22.4)\n",
54 | "Requirement already satisfied: importlib-metadata>=4.10.0 in /usr/local/lib/python3.9/dist-packages (from gym[atari]==0.22.0) (6.3.0)\n",
55 | "Requirement already satisfied: gym-notices>=0.0.4 in /usr/local/lib/python3.9/dist-packages (from gym[atari]==0.22.0) (0.0.8)\n",
56 | "Requirement already satisfied: cloudpickle>=1.2.0 in /usr/local/lib/python3.9/dist-packages (from gym[atari]==0.22.0) (2.2.1)\n",
57 | "Collecting ale-py~=0.7.4\n",
58 | " Downloading ale_py-0.7.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB)\n",
59 | "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.6/1.6 MB\u001b[0m \u001b[31m45.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
60 | "\u001b[?25hRequirement already satisfied: importlib-resources in /usr/local/lib/python3.9/dist-packages (from ale-py~=0.7.4->gym[atari]==0.22.0) (5.12.0)\n",
61 | "Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.9/dist-packages (from importlib-metadata>=4.10.0->gym[atari]==0.22.0) (3.15.0)\n",
62 | "Building wheels for collected packages: gym\n",
63 | " Building wheel for gym (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n",
64 | " Created wheel for gym: filename=gym-0.22.0-py3-none-any.whl size=708393 sha256=d6829a811711e7f91023bc5545600c609f35fea94f934d60d8ed621ffddc1e37\n",
65 | " Stored in directory: /root/.cache/pip/wheels/c4/15/15/94c62e06887fb88768c5fa41482b80905ea71f3ede81040ffa\n",
66 | "Successfully built gym\n",
67 | "Installing collected packages: gym, ale-py\n",
68 | " Attempting uninstall: gym\n",
69 | " Found existing installation: gym 0.25.2\n",
70 | " Uninstalling gym-0.25.2:\n",
71 | " Successfully uninstalled gym-0.25.2\n",
72 | "Successfully installed ale-py-0.7.5 gym-0.22.0\n"
73 | ]
74 | },
75 | {
76 | "output_type": "display_data",
77 | "data": {
78 | "application/vnd.colab-display-data+json": {
79 | "pip_warning": {
80 | "packages": [
81 | "gym"
82 | ]
83 | }
84 | }
85 | },
86 | "metadata": {}
87 | }
88 | ]
89 | },
90 | {
91 | "cell_type": "markdown",
92 | "source": [
93 | "https://www.gymlibrary.dev/environments/toy_text/taxi/"
94 | ],
95 | "metadata": {
96 | "id": "1zPmMwbagW-J"
97 | }
98 | },
99 | {
100 | "cell_type": "code",
101 | "source": [
102 | "import time"
103 | ],
104 | "metadata": {
105 | "id": "5AwJw8_qwmu4"
106 | },
107 | "execution_count": 1,
108 | "outputs": []
109 | },
110 | {
111 | "cell_type": "code",
112 | "metadata": {
113 | "colab": {
114 | "base_uri": "https://localhost:8080/"
115 | },
116 | "id": "R-fJA5uPthQx",
117 | "outputId": "2935628d-99eb-46c9-9d44-16507cb55659"
118 | },
119 | "source": [
120 | "import gym\n",
121 | "\n",
122 | "env = gym.make(\"Taxi-v3\").env\n",
123 | "\n",
124 | "env.reset() # reset environment to a new, random state\n",
125 | "\n",
126 | "env.render()"
127 | ],
128 | "execution_count": 6,
129 | "outputs": [
130 | {
131 | "output_type": "stream",
132 | "name": "stdout",
133 | "text": [
134 | "+---------+\n",
135 | "|R: |\u001b[43m \u001b[0m: :\u001b[35mG\u001b[0m|\n",
136 | "| : | : : |\n",
137 | "| : : : : |\n",
138 | "| | : | : |\n",
139 | "|\u001b[34;1mY\u001b[0m| : |B: |\n",
140 | "+---------+\n",
141 | "\n"
142 | ]
143 | }
144 | ]
145 | },
146 | {
147 | "cell_type": "code",
148 | "source": [
149 | "5 * 5 * 5 * 4\n",
150 | "# row, col, pick (R,G,B,Y,Car), drop(R,G,B,Y)"
151 | ],
152 | "metadata": {
153 | "id": "IAeH0kRedcXQ"
154 | },
155 | "execution_count": null,
156 | "outputs": []
157 | },
158 | {
159 | "cell_type": "markdown",
160 | "source": [
161 | "The filled square represents the taxi, which is **yellow** without a passenger and **green** with a passenger.\n",
162 | "\n",
163 | "The pipe (\"|\") represents a wall which the taxi cannot cross.\n",
164 | "\n",
165 | "- **R, G, Y, B** are the possible pickup and destination locations. \n",
166 | "- The **blue** letter represents the current passenger pick-up location, and the **purple** letter is the current destination."
167 | ],
168 | "metadata": {
169 | "id": "aOmdtV5hp5AG"
170 | }
171 | },
172 | {
173 | "cell_type": "code",
174 | "source": [
175 | "env.reset() # reset environment to a new, random state\n",
176 | "env.render()\n",
177 | "\n",
178 | "print(\"Action Space {}\".format(env.action_space))\n",
179 | "print(\"State Space {}\".format(env.observation_space))"
180 | ],
181 | "metadata": {
182 | "colab": {
183 | "base_uri": "https://localhost:8080/"
184 | },
185 | "id": "OPO2pwrQpja0",
186 | "outputId": "3fa309f5-6fa7-4831-b9cb-f3b0d55e7bd1"
187 | },
188 | "execution_count": 7,
189 | "outputs": [
190 | {
191 | "output_type": "stream",
192 | "name": "stdout",
193 | "text": [
194 | "+---------+\n",
195 | "|\u001b[34;1mR\u001b[0m:\u001b[43m \u001b[0m| : :G|\n",
196 | "| : | : : |\n",
197 | "| : : : : |\n",
198 | "| | : | : |\n",
199 | "|Y| : |\u001b[35mB\u001b[0m: |\n",
200 | "+---------+\n",
201 | "\n",
202 | "Action Space Discrete(6)\n",
203 | "State Space Discrete(500)\n"
204 | ]
205 | }
206 | ]
207 | },
208 | {
209 | "cell_type": "code",
210 | "metadata": {
211 | "colab": {
212 | "base_uri": "https://localhost:8080/"
213 | },
214 | "id": "-cp0nKFQtmeW",
215 | "outputId": "2c99ac8b-1745-49c5-9a81-f53d28084d1d"
216 | },
217 | "source": [
218 | "print(env.step(5)) # 0=Back, 1=Fwd , 2=Right , 3=Left, 4=pickup, 5=dropoff\n",
219 | "#observation, reward, done, info\n",
220 | "env.render()"
221 | ],
222 | "execution_count": 21,
223 | "outputs": [
224 | {
225 | "output_type": "stream",
226 | "name": "stdout",
227 | "text": [
228 | "(475, 20, True, {'prob': 1.0})\n",
229 | "+---------+\n",
230 | "|R: | : :G|\n",
231 | "| : | : : |\n",
232 | "| : : : : |\n",
233 | "| | : | : |\n",
234 | "|Y| : |\u001b[35m\u001b[34;1m\u001b[43mB\u001b[0m\u001b[0m\u001b[0m: |\n",
235 | "+---------+\n",
236 | " (Dropoff)\n"
237 | ]
238 | }
239 | ]
240 | },
241 | {
242 | "cell_type": "code",
243 | "metadata": {
244 | "colab": {
245 | "base_uri": "https://localhost:8080/"
246 | },
247 | "id": "JvR2a-FAuNxl",
248 | "outputId": "12a64971-cec0-4ac6-faaa-a595c47a6a3a"
249 | },
250 | "source": [
251 | "env.reset() # reset environment to a new, random state\n",
252 | "env.render()\n",
253 | "\n",
254 | "print(\"Action Space {}\".format(env.action_space))\n",
255 | "print(\"State Space {}\".format(env.observation_space))"
256 | ],
257 | "execution_count": 22,
258 | "outputs": [
259 | {
260 | "output_type": "stream",
261 | "name": "stdout",
262 | "text": [
263 | "+---------+\n",
264 | "|\u001b[34;1mR\u001b[0m: | : :\u001b[35mG\u001b[0m|\n",
265 | "| : |\u001b[43m \u001b[0m: : |\n",
266 | "| : : : : |\n",
267 | "| | : | : |\n",
268 | "|Y| : |B: |\n",
269 | "+---------+\n",
270 | "\n",
271 | "Action Space Discrete(6)\n",
272 | "State Space Discrete(500)\n"
273 | ]
274 | }
275 | ]
276 | },
277 | {
278 | "cell_type": "code",
279 | "source": [
280 | "# blue - pickup, purple - dropoff\n",
281 | "steps = [0,3,3,1,1,4,0,0,2,2,2,2,1,1,5]\n",
282 | "states = []\n",
283 | "\n",
284 | "for step in steps:\n",
285 | " resp = env.step(step)\n",
286 | " print(resp)\n",
287 | " states.append(resp)\n",
288 | " env.render()\n",
289 | " time.sleep(1)"
290 | ],
291 | "metadata": {
292 | "id": "k_B5TwhlsmwO"
293 | },
294 | "execution_count": null,
295 | "outputs": []
296 | },
297 | {
298 | "cell_type": "code",
299 | "source": [
300 | "env.reset()\n",
301 | "env.render()"
302 | ],
303 | "metadata": {
304 | "colab": {
305 | "base_uri": "https://localhost:8080/"
306 | },
307 | "id": "KN_GZrupvP8h",
308 | "outputId": "cb02fcbc-1893-4472-c030-a2e8779ab7b9"
309 | },
310 | "execution_count": 26,
311 | "outputs": [
312 | {
313 | "output_type": "stream",
314 | "name": "stdout",
315 | "text": [
316 | "+---------+\n",
317 | "|R: | : :\u001b[35mG\u001b[0m|\n",
318 | "| : | : : |\n",
319 | "| : : : : |\n",
320 | "| | : | : |\n",
321 | "|Y| :\u001b[43m \u001b[0m|\u001b[34;1mB\u001b[0m: |\n",
322 | "+---------+\n",
323 | "\n"
324 | ]
325 | }
326 | ]
327 | },
328 | {
329 | "cell_type": "code",
330 | "metadata": {
331 | "colab": {
332 | "base_uri": "https://localhost:8080/"
333 | },
334 | "id": "vmN4Rjxqv1Vg",
335 | "outputId": "9d905a7b-199a-4c1a-d2b9-b7340dfe4e38"
336 | },
337 | "source": [
338 | "state = env.encode(3, 1, 2, 0) # (taxi row, taxi column, passenger index, destination index)\n",
339 | "print(\"State:\", state)\n",
340 | "\n",
341 | "env.s = state\n",
342 | "env.render()"
343 | ],
344 | "execution_count": 27,
345 | "outputs": [
346 | {
347 | "output_type": "stream",
348 | "name": "stdout",
349 | "text": [
350 | "State: 328\n",
351 | "+---------+\n",
352 | "|R: | : :\u001b[35mG\u001b[0m|\n",
353 | "| : | : : |\n",
354 | "| : : : : |\n",
355 | "| | : | : |\n",
356 | "|Y| :\u001b[43m \u001b[0m|\u001b[34;1mB\u001b[0m: |\n",
357 | "+---------+\n",
358 | "\n"
359 | ]
360 | }
361 | ]
362 | },
363 | {
364 | "cell_type": "code",
365 | "source": [
366 | "env.env.s = 328\n",
367 | "env.render()"
368 | ],
369 | "metadata": {
370 | "colab": {
371 | "base_uri": "https://localhost:8080/"
372 | },
373 | "id": "kpMfr0XJheef",
374 | "outputId": "38d62669-15a8-437e-e1b4-78809ead749f"
375 | },
376 | "execution_count": 28,
377 | "outputs": [
378 | {
379 | "output_type": "stream",
380 | "name": "stdout",
381 | "text": [
382 | "+---------+\n",
383 | "|\u001b[35mR\u001b[0m: | : :G|\n",
384 | "| : | : : |\n",
385 | "| : : : : |\n",
386 | "| |\u001b[43m \u001b[0m: | : |\n",
387 | "|\u001b[34;1mY\u001b[0m| : |B: |\n",
388 | "+---------+\n",
389 | "\n"
390 | ]
391 | }
392 | ]
393 | },
394 | {
395 | "cell_type": "markdown",
396 | "source": [
397 | "## All possible states"
398 | ],
399 | "metadata": {
400 | "id": "njQX5jhv8Kxc"
401 | }
402 | },
403 | {
404 | "cell_type": "code",
405 | "source": [
406 | "for i in range(50):\n",
407 | " print(i)\n",
408 | " env.env.s = i\n",
409 | " env.render()\n",
410 | " # time.sleep(1)"
411 | ],
412 | "metadata": {
413 | "id": "KdTsHXnCwYAh"
414 | },
415 | "execution_count": null,
416 | "outputs": []
417 | },
418 | {
419 | "cell_type": "code",
420 | "source": [
421 | "env.env.s = 328\n",
422 | "env.render()"
423 | ],
424 | "metadata": {
425 | "colab": {
426 | "base_uri": "https://localhost:8080/"
427 | },
428 | "id": "0MVGRfgwzI4-",
429 | "outputId": "ea317787-e1f0-4597-b4f7-2b66234e9571"
430 | },
431 | "execution_count": 31,
432 | "outputs": [
433 | {
434 | "output_type": "stream",
435 | "name": "stdout",
436 | "text": [
437 | "+---------+\n",
438 | "|\u001b[35mR\u001b[0m: | : :G|\n",
439 | "| : | : : |\n",
440 | "| : : : : |\n",
441 | "| |\u001b[43m \u001b[0m: | : |\n",
442 | "|\u001b[34;1mY\u001b[0m| : |B: |\n",
443 | "+---------+\n",
444 | "\n"
445 | ]
446 | }
447 | ]
448 | },
449 | {
450 | "cell_type": "markdown",
451 | "source": [
452 | "## Reward Table\n",
453 | "\n",
454 | "The reward table, also known as the reward function, defines the rewards or penalties associated with each action in each state. It is a fixed table that specifies the immediate reward that the agent receives for taking a particular action in a particular state. The reward table is typically defined by the problem domain, and the Q-learning algorithm uses this table to learn the optimal policy."
455 | ],
456 | "metadata": {
457 | "id": "ekg3LiN08ycz"
458 | }
459 | },
460 | {
461 | "cell_type": "code",
462 | "metadata": {
463 | "colab": {
464 | "base_uri": "https://localhost:8080/"
465 | },
466 | "id": "2LL-qRKP1vwh",
467 | "outputId": "e2f2fc6e-4b55-4b21-df78-02496f8ab21e"
468 | },
469 | "source": [
470 | "env.P[328]"
471 | ],
472 | "execution_count": null,
473 | "outputs": [
474 | {
475 | "output_type": "execute_result",
476 | "data": {
477 | "text/plain": [
478 | "{0: [(1.0, 428, -1, False)],\n",
479 | " 1: [(1.0, 228, -1, False)],\n",
480 | " 2: [(1.0, 348, -1, False)],\n",
481 | " 3: [(1.0, 328, -1, False)],\n",
482 | " 4: [(1.0, 328, -10, False)],\n",
483 | " 5: [(1.0, 328, -10, False)]}"
484 | ]
485 | },
486 | "metadata": {},
487 | "execution_count": 21
488 | }
489 | ]
490 | },
491 | {
492 | "cell_type": "markdown",
493 | "source": [
494 | "This dictionary has the structure \n",
495 | "\n",
496 | "```{action: [(probability, nextstate, reward, done)]}.```"
497 | ],
498 | "metadata": {
499 | "id": "qjBAsSMI9Jol"
500 | }
501 | },
502 | {
503 | "cell_type": "code",
504 | "source": [
505 | "for step in range(6):\n",
506 | " env.env.s = 328\n",
507 | " print(env.step(step))\n",
508 | " env.render()"
509 | ],
510 | "metadata": {
511 | "id": "zuM9bjmUzpQW"
512 | },
513 | "execution_count": null,
514 | "outputs": []
515 | },
516 | {
517 | "cell_type": "code",
518 | "source": [
519 | "for i in range(10):\n",
520 | " print(env.action_space.sample())"
521 | ],
522 | "metadata": {
523 | "id": "8MaHb7EV2AmM",
524 | "colab": {
525 | "base_uri": "https://localhost:8080/"
526 | },
527 | "outputId": "ffe368a4-6dc6-4e47-9b07-707ef59f5868"
528 | },
529 | "execution_count": null,
530 | "outputs": [
531 | {
532 | "output_type": "stream",
533 | "name": "stdout",
534 | "text": [
535 | "4\n",
536 | "3\n",
537 | "5\n",
538 | "4\n",
539 | "4\n",
540 | "5\n",
541 | "2\n",
542 | "4\n",
543 | "0\n",
544 | "3\n"
545 | ]
546 | }
547 | ]
548 | },
549 | {
550 | "cell_type": "markdown",
551 | "source": [
552 | "# Solving the environment without Reinforcement Learning\n",
553 | "\n"
554 | ],
555 | "metadata": {
556 | "id": "7DAMMYw69mWH"
557 | }
558 | },
559 | {
560 | "cell_type": "code",
561 | "metadata": {
562 | "colab": {
563 | "base_uri": "https://localhost:8080/"
564 | },
565 | "id": "ZxHflKla8Tn2",
566 | "outputId": "591bb1ec-ba69-419a-a07b-66e3855446d9"
567 | },
568 | "source": [
569 | "env.s = 328 # set environment to illustration's state\n",
570 | "\n",
571 | "epochs = 0\n",
572 | "penalties, reward = 0, 0\n",
573 | "\n",
574 | "frames = [] # for animation\n",
575 | "\n",
576 | "done = False\n",
577 | "\n",
578 | "while not done:\n",
579 | " action = env.action_space.sample()\n",
580 | " state, reward, done, info = env.step(action)\n",
581 | "\n",
582 | " if reward == -10:\n",
583 | " penalties += 1\n",
584 | " \n",
585 | " # Put each rendered frame into dict for animation\n",
586 | " frames.append({\n",
587 | " 'frame': env.render(mode='ansi'),\n",
588 | " 'state': state,\n",
589 | " 'action': action,\n",
590 | " 'reward': reward\n",
591 | " }\n",
592 | " )\n",
593 | "\n",
594 | " epochs += 1\n",
595 | " \n",
596 | "print(\"Timesteps taken: {}\".format(epochs))\n",
597 | "print(\"Penalties incurred: {}\".format(penalties))"
598 | ],
599 | "execution_count": 54,
600 | "outputs": [
601 | {
602 | "output_type": "stream",
603 | "name": "stdout",
604 | "text": [
605 | "Timesteps taken: 99\n",
606 | "Penalties incurred: 29\n"
607 | ]
608 | }
609 | ]
610 | },
611 | {
612 | "cell_type": "code",
613 | "source": [
614 | "len(frames)"
615 | ],
616 | "metadata": {
617 | "colab": {
618 | "base_uri": "https://localhost:8080/"
619 | },
620 | "id": "cl_9msXV1vZu",
621 | "outputId": "4f12e6cf-34f2-42c2-80fa-39573172dd8f"
622 | },
623 | "execution_count": 47,
624 | "outputs": [
625 | {
626 | "output_type": "execute_result",
627 | "data": {
628 | "text/plain": [
629 | "568"
630 | ]
631 | },
632 | "metadata": {},
633 | "execution_count": 47
634 | }
635 | ]
636 | },
637 | {
638 | "cell_type": "code",
639 | "metadata": {
640 | "colab": {
641 | "base_uri": "https://localhost:8080/"
642 | },
643 | "id": "lXeu2sz6_IKj",
644 | "outputId": "e79413d2-a91a-489f-f8fc-1dc7a6d8beaa"
645 | },
646 | "source": [
647 | "from IPython.display import clear_output\n",
648 | "from time import sleep\n",
649 | "\n",
650 | "def print_frames(frames):\n",
651 | " for i, frame in enumerate(frames):\n",
652 | " clear_output(wait=True)\n",
653 | " print(frame['frame'])\n",
654 | " print(f\"Timestep: {i + 1}\")\n",
655 | " print(f\"State: {frame['state']}\")\n",
656 | " print(f\"Action: {frame['action']}\")\n",
657 | " print(f\"Reward: {frame['reward']}\")\n",
658 | " sleep(0.5)\n",
659 | " \n",
660 | "print_frames(frames)"
661 | ],
662 | "execution_count": 55,
663 | "outputs": [
664 | {
665 | "output_type": "stream",
666 | "name": "stdout",
667 | "text": [
668 | "+---------+\n",
669 | "|\u001b[35m\u001b[34;1m\u001b[43mR\u001b[0m\u001b[0m\u001b[0m: | : :G|\n",
670 | "| : | : : |\n",
671 | "| : : : : |\n",
672 | "| | : | : |\n",
673 | "|Y| : |B: |\n",
674 | "+---------+\n",
675 | " (Dropoff)\n",
676 | "\n",
677 | "Timestep: 99\n",
678 | "State: 0\n",
679 | "Action: 5\n",
680 | "Reward: 20\n"
681 | ]
682 | }
683 | ]
684 | },
685 | {
686 | "cell_type": "markdown",
687 | "source": [
688 | "# DP\n",
689 | "```\n",
690 | "[1,2,3,4,5]\n",
691 | "1 = 1\n",
692 | "3 = 1+2\n",
693 | "6 = 1+2+3\n",
694 | "10 = 1+2+3+4\n",
695 | "15 = 1+2+3+4+5\n",
696 | "\n",
697 | "1 = 1\n",
698 | "3 = 1 + 2\n",
699 | "6 = 3 + 3\n",
700 | "10 = 6 + 4\n",
701 | "15 = 10 + 5\n",
702 | "\n",
703 | "```\n"
704 | ],
705 | "metadata": {
706 | "id": "4Pq1CCK1ltAh"
707 | }
708 | },
709 | {
710 | "cell_type": "code",
711 | "source": [],
712 | "metadata": {
713 | "id": "E1Z7s6TClF1u"
714 | },
715 | "execution_count": null,
716 | "outputs": []
717 | },
718 | {
719 | "cell_type": "markdown",
720 | "source": [
721 | "## Enter Reinforcement Learning\n",
722 | "\n",
723 | "We are going to use a simple RL algorithm called Q-learning which will give our agent some memory.\n",
724 | "\n",
725 | "## Intro to Q-learning\n",
726 | "\n",
727 | "Essentially, Q-learning lets the agent use the environment's rewards to learn, over time, the best action to take in a given state.\n",
728 | "\n",
729 | "\n",
730 | ""
731 | ],
732 | "metadata": {
733 | "id": "BQOGUzI0AZJk"
734 | }
735 | },
736 | {
737 | "cell_type": "markdown",
738 | "source": [
739 | ""
740 | ],
741 | "metadata": {
742 | "id": "Vsll17yDBkub"
743 | }
744 | },
745 | {
746 | "cell_type": "markdown",
747 | "source": [
748 | "# Implementing Q-learning in python\n"
749 | ],
750 | "metadata": {
751 | "id": "WZjbBG1nCy3e"
752 | }
753 | },
754 | {
755 | "cell_type": "code",
756 | "source": [
757 | "import numpy as np\n",
758 | "q_table = np.zeros([env.observation_space.n, env.action_space.n]) "
759 | ],
760 | "metadata": {
761 | "id": "i_qIgEQl_e_Z"
762 | },
763 | "execution_count": 56,
764 | "outputs": []
765 | },
766 | {
767 | "cell_type": "code",
768 | "source": [
769 | "q_table.shape"
770 | ],
771 | "metadata": {
772 | "colab": {
773 | "base_uri": "https://localhost:8080/"
774 | },
775 | "id": "U-o-RjkMEYw0",
776 | "outputId": "86d40cc3-513b-4753-dd25-4ff601ce14af"
777 | },
778 | "execution_count": 57,
779 | "outputs": [
780 | {
781 | "output_type": "execute_result",
782 | "data": {
783 | "text/plain": [
784 | "(500, 6)"
785 | ]
786 | },
787 | "metadata": {},
788 | "execution_count": 57
789 | }
790 | ]
791 | },
792 | {
793 | "cell_type": "code",
794 | "source": [
795 | "q_table"
796 | ],
797 | "metadata": {
798 | "colab": {
799 | "base_uri": "https://localhost:8080/"
800 | },
801 | "id": "VBDP4B9mEdQo",
802 | "outputId": "0ba4f69c-5494-4f49-c2d7-53685cb9a470"
803 | },
804 | "execution_count": 58,
805 | "outputs": [
806 | {
807 | "output_type": "execute_result",
808 | "data": {
809 | "text/plain": [
810 | "array([[0., 0., 0., 0., 0., 0.],\n",
811 | " [0., 0., 0., 0., 0., 0.],\n",
812 | " [0., 0., 0., 0., 0., 0.],\n",
813 | " ...,\n",
814 | " [0., 0., 0., 0., 0., 0.],\n",
815 | " [0., 0., 0., 0., 0., 0.],\n",
816 | " [0., 0., 0., 0., 0., 0.]])"
817 | ]
818 | },
819 | "metadata": {},
820 | "execution_count": 58
821 | }
822 | ]
823 | },
824 | {
825 | "cell_type": "code",
826 | "source": [
827 | "np.argmax([1,2,3])"
828 | ],
829 | "metadata": {
830 | "colab": {
831 | "base_uri": "https://localhost:8080/"
832 | },
833 | "id": "_3qzI1fpqBdd",
834 | "outputId": "69627f73-1033-41af-aaef-824a151c8440"
835 | },
836 | "execution_count": 62,
837 | "outputs": [
838 | {
839 | "output_type": "execute_result",
840 | "data": {
841 | "text/plain": [
842 | "2"
843 | ]
844 | },
845 | "metadata": {},
846 | "execution_count": 62
847 | }
848 | ]
849 | },
850 | {
851 | "cell_type": "code",
852 | "source": [
853 | "import random\n",
854 | "from IPython.display import clear_output"
855 | ],
856 | "metadata": {
857 | "id": "yOXysHFaDMNE"
858 | },
859 | "execution_count": 59,
860 | "outputs": []
861 | },
862 | {
863 | "cell_type": "code",
864 | "source": [
865 | "%%time\n",
866 | "\"\"\"Training the agent\"\"\"\n",
867 | "\n",
868 | "import random\n",
869 | "from IPython.display import clear_output\n",
870 | "\n",
871 | "# Hyperparameters\n",
872 | "alpha = 0.1 # learning rate\n",
873 | "gamma = 0.6 # discount factor\n",
874 | "epsilon = 0.1 # exploit and explore\n",
875 | "\n",
876 | "# For plotting metrics\n",
877 | "all_epochs = []\n",
878 | "all_penalties = []\n",
879 | "\n",
880 | "for i in range(1, 100001):\n",
881 | " state = env.reset()\n",
882 | "\n",
883 | " epochs, penalties, reward, = 0, 0, 0\n",
884 | " done = False\n",
885 | " \n",
886 | " while not done:\n",
887 | " if random.uniform(0, 1) < epsilon:\n",
888 | " action = env.action_space.sample() # Explore action space\n",
889 | " else:\n",
890 | " action = np.argmax(q_table[state]) # Exploit learned values\n",
891 | "\n",
892 | " next_state, reward, done, info = env.step(action) \n",
893 | " \n",
894 | " old_value = q_table[state, action]\n",
895 | " next_max = np.max(q_table[next_state])\n",
896 | " \n",
897 | " new_value = (1 - alpha) * old_value + alpha * (reward + gamma * next_max)\n",
898 | " q_table[state, action] = new_value\n",
899 | "\n",
900 | " if reward == -10:\n",
901 | " penalties += 1\n",
902 | "\n",
903 | " state = next_state\n",
904 | " epochs += 1\n",
905 | " \n",
906 | " if i % 100 == 0:\n",
907 | " clear_output(wait=True)\n",
908 | " print(f\"Episode: {i}\")\n",
909 | "\n",
910 | "print(\"Training finished.\\n\")"
911 | ],
912 | "metadata": {
913 | "colab": {
914 | "base_uri": "https://localhost:8080/"
915 | },
916 | "id": "uzLQGY9_DqAK",
917 | "outputId": "75ca1c68-5d1c-4257-f6ed-9b1d04cfd4e6"
918 | },
919 | "execution_count": 63,
920 | "outputs": [
921 | {
922 | "output_type": "stream",
923 | "name": "stdout",
924 | "text": [
925 | "Episode: 100000\n",
926 | "Training finished.\n",
927 | "\n",
928 | "CPU times: user 1min 8s, sys: 8.1 s, total: 1min 17s\n",
929 | "Wall time: 1min 14s\n"
930 | ]
931 | }
932 | ]
933 | },
934 | {
935 | "cell_type": "code",
936 | "source": [
937 | "for i in range(10):\n",
938 | " print(q_table[i])"
939 | ],
940 | "metadata": {
941 | "colab": {
942 | "base_uri": "https://localhost:8080/"
943 | },
944 | "id": "B-NUS2JLrQ0g",
945 | "outputId": "5923e22b-6e1f-4d95-e9ef-28e5c28f2cc7"
946 | },
947 | "execution_count": 65,
948 | "outputs": [
949 | {
950 | "output_type": "stream",
951 | "name": "stdout",
952 | "text": [
953 | "[0. 0. 0. 0. 0. 0.]\n",
954 | "[ -2.41837065 -2.3639511 -2.41837066 -2.36395109 -2.27325184\n",
955 | " -11.3639493 ]\n",
956 | "[ -1.870144 -1.45024 -1.87014399 -1.45024007 -0.7504\n",
957 | " -10.45023379]\n",
958 | "[ -2.36395101 -2.27325184 -2.36395029 -2.27325181 -2.1220864\n",
959 | " -11.27325008]\n",
960 | "[-2.4961915 -2.49656291 -2.4961915 -2.49680945 -9.45879238 -8.48029525]\n",
961 | "[0. 0. 0. 0. 0. 0.]\n",
962 | "[ -2.4961915 -2.49715321 -2.4961915 -2.49689163 -10.46663985\n",
963 | " -9.50877724]\n",
964 | "[-2.48236806 -2.48455841 -2.48236806 -2.484406 -8.47407677 -9.66789661]\n",
965 | "[-2.27325184 -2.32928432 -2.34522429 -2.34113999 -8.69224525 -9.39155281]\n",
966 | "[ -2.47061344 -2.47818772 -2.47855343 -2.47607242 -9.68543571\n",
967 | " -10.17891183]\n"
968 | ]
969 | }
970 | ]
971 | },
972 | {
973 | "cell_type": "code",
974 | "source": [
975 | "q_table[328]"
976 | ],
977 | "metadata": {
978 | "colab": {
979 | "base_uri": "https://localhost:8080/"
980 | },
981 | "id": "_bfFkPsWDqRh",
982 | "outputId": "471c0837-7a52-4b0a-9cc1-bc2fa965581e"
983 | },
984 | "execution_count": 66,
985 | "outputs": [
986 | {
987 | "output_type": "execute_result",
988 | "data": {
989 | "text/plain": [
990 | "array([ -2.40800594, -2.27325184, -2.3922264 , -2.35603561,\n",
991 | " -10.60994385, -10.80888382])"
992 | ]
993 | },
994 | "metadata": {},
995 | "execution_count": 66
996 | }
997 | ]
998 | },
999 | {
1000 | "cell_type": "markdown",
1001 | "source": [
1002 | "# Evaluating the agent\n"
1003 | ],
1004 | "metadata": {
1005 | "id": "JSYUfQQ-Fa0E"
1006 | }
1007 | },
1008 | {
1009 | "cell_type": "code",
1010 | "source": [
1011 | "\"\"\"Evaluate agent's performance after Q-learning\"\"\"\n",
1012 | "\n",
1013 | "total_epochs, total_penalties = 0, 0\n",
1014 | "episodes = 100\n",
1015 | "\n",
1016 | "for _ in range(episodes):\n",
1017 | " state = env.reset()\n",
1018 | " epochs, penalties, reward = 0, 0, 0\n",
1019 | " \n",
1020 | " done = False\n",
1021 | " \n",
1022 | " while not done:\n",
1023 | " action = np.argmax(q_table[state])\n",
1024 | " state, reward, done, info = env.step(action)\n",
1025 | "\n",
1026 | " if reward == -10:\n",
1027 | " penalties += 1\n",
1028 | "\n",
1029 | " epochs += 1\n",
1030 | "\n",
1031 | " total_penalties += penalties\n",
1032 | " total_epochs += epochs\n",
1033 | "\n",
1034 | "print(f\"Results after {episodes} episodes:\")\n",
1035 | "print(f\"Average timesteps per episode: {total_epochs / episodes}\")\n",
1036 | "print(f\"Average penalties per episode: {total_penalties / episodes}\")"
1037 | ],
1038 | "metadata": {
1039 | "colab": {
1040 | "base_uri": "https://localhost:8080/"
1041 | },
1042 | "id": "hyvGhkEtE4Qc",
1043 | "outputId": "24681d5a-81f4-4e75-cd63-5c1fb03bf35e"
1044 | },
1045 | "execution_count": null,
1046 | "outputs": [
1047 | {
1048 | "output_type": "stream",
1049 | "name": "stdout",
1050 | "text": [
1051 | "Results after 100 episodes:\n",
1052 | "Average timesteps per episode: 13.14\n",
1053 | "Average penalties per episode: 0.0\n"
1054 | ]
1055 | }
1056 | ]
1057 | },
1058 | {
1059 | "cell_type": "markdown",
1060 | "source": [
1061 | "## Realtime testing"
1062 | ],
1063 | "metadata": {
1064 | "id": "UTW0luFEFv_C"
1065 | }
1066 | },
1067 | {
1068 | "cell_type": "code",
1069 | "source": [
1070 | "env.env.s = 328\n",
1071 | "env.render()"
1072 | ],
1073 | "metadata": {
1074 | "colab": {
1075 | "base_uri": "https://localhost:8080/"
1076 | },
1077 | "id": "HFLV9boOGJok",
1078 | "outputId": "38d50c38-019a-41c9-b7f7-6631236e2a5b"
1079 | },
1080 | "execution_count": 67,
1081 | "outputs": [
1082 | {
1083 | "output_type": "stream",
1084 | "name": "stdout",
1085 | "text": [
1086 | "+---------+\n",
1087 | "|\u001b[35mR\u001b[0m: | : :G|\n",
1088 | "| : | : : |\n",
1089 | "| : : : : |\n",
1090 | "| |\u001b[43m \u001b[0m: | : |\n",
1091 | "|\u001b[34;1mY\u001b[0m| : |B: |\n",
1092 | "+---------+\n",
1093 | " (Dropoff)\n"
1094 | ]
1095 | }
1096 | ]
1097 | },
1098 | {
1099 | "cell_type": "code",
1100 | "source": [
1101 | "env.reset()\n",
1102 | "env.s = 328 # set environment to illustration's state\n",
1103 | "env.render()"
1104 | ],
1105 | "metadata": {
1106 | "colab": {
1107 | "base_uri": "https://localhost:8080/"
1108 | },
1109 | "id": "7Uvgjw24rqid",
1110 | "outputId": "85529957-ec46-4462-d64b-13ff642b9d9a"
1111 | },
1112 | "execution_count": 77,
1113 | "outputs": [
1114 | {
1115 | "output_type": "stream",
1116 | "name": "stdout",
1117 | "text": [
1118 | "+---------+\n",
1119 | "|R: | : :\u001b[34;1mG\u001b[0m|\n",
1120 | "| : | : : |\n",
1121 | "|\u001b[43m \u001b[0m: : : : |\n",
1122 | "| | : | : |\n",
1123 | "|\u001b[35mY\u001b[0m| : |B: |\n",
1124 | "+---------+\n",
1125 | "\n"
1126 | ]
1127 | }
1128 | ]
1129 | },
1130 | {
1131 | "cell_type": "code",
1132 | "source": [
1133 | "\n",
1134 | "epochs = 0\n",
1135 | "penalties, reward = 0, 0\n",
1136 | "\n",
1137 | "frames = [] # for animation\n",
1138 | "\n",
1139 | "done = False\n",
1140 | "\n",
1141 | "while not done:\n",
1142 | " action = np.argmax(q_table[state])\n",
1143 | " state, reward, done, info = env.step(action)\n",
1144 | "\n",
1145 | " if reward == -10:\n",
1146 | " penalties += 1\n",
1147 | " \n",
1148 | " # Put each rendered frame into dict for animation\n",
1149 | " frames.append({\n",
1150 | " 'frame': env.render(mode='ansi'),\n",
1151 | " 'state': state,\n",
1152 | " 'action': action,\n",
1153 | " 'reward': reward\n",
1154 | " }\n",
1155 | " )\n",
1156 | "\n",
1157 | " epochs += 1\n",
1158 | " \n",
1159 | "print(\"Timesteps taken: {}\".format(epochs))\n",
1160 | "print(\"Penalties incurred: {}\".format(penalties))"
1161 | ],
1162 | "metadata": {
1163 | "colab": {
1164 | "base_uri": "https://localhost:8080/"
1165 | },
1166 | "id": "4ln37j7oFTlx",
1167 | "outputId": "d1b821bf-af7f-4ea9-87e6-89245be11b22"
1168 | },
1169 | "execution_count": 78,
1170 | "outputs": [
1171 | {
1172 | "output_type": "stream",
1173 | "name": "stdout",
1174 | "text": [
1175 | "Timesteps taken: 18\n",
1176 | "Penalties incurred: 0\n"
1177 | ]
1178 | }
1179 | ]
1180 | },
1181 | {
1182 | "cell_type": "code",
1183 | "source": [
1184 | "env.render()"
1185 | ],
1186 | "metadata": {
1187 | "colab": {
1188 | "base_uri": "https://localhost:8080/"
1189 | },
1190 | "id": "xmlwNJ82FTn5",
1191 | "outputId": "cefa9289-0507-4d0f-c922-f7afa39181f2"
1192 | },
1193 | "execution_count": 79,
1194 | "outputs": [
1195 | {
1196 | "output_type": "stream",
1197 | "name": "stdout",
1198 | "text": [
1199 | "+---------+\n",
1200 | "|R: | : :G|\n",
1201 | "| : | : : |\n",
1202 | "| : : : : |\n",
1203 | "| | : | : |\n",
1204 | "|\u001b[35m\u001b[34;1m\u001b[43mY\u001b[0m\u001b[0m\u001b[0m| : |B: |\n",
1205 | "+---------+\n",
1206 | " (Dropoff)\n"
1207 | ]
1208 | }
1209 | ]
1210 | },
1211 | {
1212 | "cell_type": "code",
1213 | "source": [],
1214 | "metadata": {
1215 | "id": "WCGeM6lSFTqU"
1216 | },
1217 | "execution_count": null,
1218 | "outputs": []
1219 | },
1220 | {
1221 | "cell_type": "code",
1222 | "source": [],
1223 | "metadata": {
1224 | "id": "4roMfUOvFTxb"
1225 | },
1226 | "execution_count": null,
1227 | "outputs": []
1228 | },
1229 | {
1230 | "cell_type": "markdown",
1231 | "source": [
1232 | "https://www.learndatasci.com/tutorials/reinforcement-q-learning-scratch-python-openai-gym/\n",
1233 | "\n",
1234 | "https://developer.nvidia.com/blog/deep-learning-nutshell-reinforcement-learning/\n",
1235 | "\n",
1236 | "https://medium.com/@MoneyAndData/ai-anyone-can-understand-part-1-reinforcement-learning-6c3b3d623a2d\n",
1237 | "\n",
1238 | "https://arshren.medium.com/deep-q-learning-a-deep-reinforcement-learning-algorithm-f1366cf1b53d\n",
1239 | "\n",
1240 | "https://www.coursera.org/specializations/reinforcement-learning"
1241 | ],
1242 | "metadata": {
1243 | "id": "nFefBluGFT6Z"
1244 | }
1245 | },
1246 | {
1247 | "cell_type": "code",
1248 | "source": [],
1249 | "metadata": {
1250 | "id": "my6tYnl6FV04"
1251 | },
1252 | "execution_count": null,
1253 | "outputs": []
1254 | }
1255 | ]
1256 | }
--------------------------------------------------------------------------------
/robotics/README.md:
--------------------------------------------------------------------------------
1 | ### Robotics
2 |
3 | ## A curated collection of places where you can learn robotics, algorithms, and other useful tools for aspiring robotics software engineers.
4 |
5 | https://github.com/soaicbe/robotics-coursework
6 |
--------------------------------------------------------------------------------
/stat_prob/README.md:
--------------------------------------------------------------------------------
1 | # MOOCS
2 |
3 | - [Statistics 110: Probability by Harvard](https://projects.iq.harvard.edu/stat110)
4 | - [Probability - The Science of Uncertainty and Data by MIT](https://www.edx.org/course/probability-the-science-of-uncertainty-and-data)
5 | - [Probability by Khan Academy](https://www.khanacademy.org/math/statistics-probability/probability-library/basic-theoretical-probability)
6 |
7 | # Courses
8 |
9 | - [Introduction to STAT 414 by PennState](https://online.stat.psu.edu/stat414/lesson/introduction-stat-414)
10 | - [StatLect](https://www.statlect.com/fundamentals-of-probability/)
11 |
12 | # YouTube
13 |
14 | - [Statistics by CrashCourse](https://www.youtube.com/playlist?list=PL8dPuuaLjXtNM_Y-bUAhblSAdWRnmBUcr)
15 |
16 | # Animations
17 |
18 | - [Seeing Theory](https://seeing-theory.brown.edu/basic-probability/index.html)
19 |
--------------------------------------------------------------------------------
/talks/AI and ML for Precision Medicine.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nivu/ai_all_resources/f93fbff99dc173b3f243fad18573f7444c2cfc8f/talks/AI and ML for Precision Medicine.pdf
--------------------------------------------------------------------------------
/talks/GDSC WOW TN - Navaneeth Share.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nivu/ai_all_resources/f93fbff99dc173b3f243fad18573f7444c2cfc8f/talks/GDSC WOW TN - Navaneeth Share.pdf
--------------------------------------------------------------------------------
/talks/PyExpo2023.md:
--------------------------------------------------------------------------------
1 | # PyExpo 2023 Master Class on AI
2 |
3 | ### _By Navaneeth Malingan_
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | ## Artificial Intelligence
15 |
16 | - Computer Vision
17 | - Image Classification
18 | - Object Detection
19 | - Activity Recognition
20 | - Text2Image (Image Generation)
21 | - Image2Text (Image Captioning)
22 | - OCR (Optical Character Recognition)
23 |
24 | - Natural Language Processing
25 | - Voice2Text
26 | - Text2Voice
27 | - Language Translation
28 | - Text Sentiment Analysis
29 | - Text Auto Correct
30 | - Text Generation - Auto Complete
31 | - Sentence Similarity
32 |
33 |
34 |
35 | ## [Teachable Machine](https://teachablemachine.withgoogle.com/)
36 | _Train a computer to recognize your own images, sounds, & poses.
37 | A fast, easy way to create machine learning models for your sites, apps, and more – no expertise or coding required._
38 |
39 | [Sorting Marshmallows with AI: Using Coral + Teachable Machine](https://www.youtube.com/watch?v=ydzJPeeMiMI)
40 |
41 | ## [Edge Impulse](https://www.edgeimpulse.com/)
42 | _Edge Impulse is the leading development platform for machine learning on edge devices, free for developers and trusted by enterprises._
43 |
44 |
45 |
46 | Check out here👇for example projects
47 |
48 |
49 |
50 | ## [Huggingface](https://huggingface.co/)
51 |
52 | ### Table Question Answering
53 |
54 | _TAPAS, the model learns an inner representation of the English language used in tables and associated texts, which can then be used to extract features useful for downstream tasks such as answering questions about a table, or determining whether a sentence is entailed or refuted by the contents of a table._
55 |
56 |
57 |
58 |
59 |
60 | #### Movie Dataset Question & Answering 👇
61 |
62 | [](https://colab.research.google.com/drive/1JQrQblgQ4WFqRGe1MTqu_LekP0A7u_Qd?usp=sharing)
63 |
64 | #### Voice2Text Notebook 👇
65 |
66 | [](https://colab.research.google.com/drive/1J2f5Fpbhmn7Pon3HRcgZaG-18hy2lPMQ?usp=sharing)
67 |
68 | ### Stable Diffusion for Image Generation
69 |
70 | Stable Diffusion is a latent text-to-image diffusion model capable of generating photo-realistic images given any text input.
71 |
72 |
73 |
74 |
75 | #### Image Generation Notebook 👇
76 |
77 | [](https://colab.research.google.com/drive/117MVG3hWRmPcIHGwKbmekL3WnpvzAM6k?usp=sharing)
78 |
79 | ### Image Captioning
80 |
81 |
82 |
83 | ## [Roboflow](https://roboflow.com/)
84 |
85 | ### Python Webcam Inference Examples
86 |
87 |
88 |
89 | [Using Your Webcam with Roboflow Models](https://blog.roboflow.com/python-webcam/)
90 |
91 |
92 |
93 |
--------------------------------------------------------------------------------
/talks/saama-ai-agents/Pdf Share AI Agents - Saama Monthly Meetup Sep 2024 Final.pptx.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nivu/ai_all_resources/f93fbff99dc173b3f243fad18573f7444c2cfc8f/talks/saama-ai-agents/Pdf Share AI Agents - Saama Monthly Meetup Sep 2024 Final.pptx.pdf
--------------------------------------------------------------------------------
/talks/saama-ai-agents/simple-react.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "code",
5 | "execution_count": 28,
6 | "metadata": {},
7 | "outputs": [
8 | {
9 | "name": "stdout",
10 | "output_type": "stream",
11 | "text": [
12 | "The dotenv extension is already loaded. To reload it, use:\n",
13 | " %reload_ext dotenv\n"
14 | ]
15 | }
16 | ],
17 | "source": [
18 | "%load_ext dotenv\n",
19 | "%dotenv"
20 | ]
21 | },
22 | {
23 | "cell_type": "code",
24 | "execution_count": 29,
25 | "metadata": {},
26 | "outputs": [
27 | {
28 | "name": "stdout",
29 | "output_type": "stream",
30 | "text": [
31 | "Requirement already satisfied: numexpr in /Users/navaneethmalingan/anaconda3/envs/llm/lib/python3.10/site-packages (2.10.1)\n",
32 | "Requirement already satisfied: openai in /Users/navaneethmalingan/anaconda3/envs/llm/lib/python3.10/site-packages (1.40.6)\n",
33 | "Requirement already satisfied: numpy>=1.23.0 in /Users/navaneethmalingan/anaconda3/envs/llm/lib/python3.10/site-packages (from numexpr) (1.26.3)\n",
34 | "Requirement already satisfied: anyio<5,>=3.5.0 in /Users/navaneethmalingan/anaconda3/envs/llm/lib/python3.10/site-packages (from openai) (3.7.1)\n",
35 | "Requirement already satisfied: distro<2,>=1.7.0 in /Users/navaneethmalingan/anaconda3/envs/llm/lib/python3.10/site-packages (from openai) (1.9.0)\n",
36 | "Requirement already satisfied: httpx<1,>=0.23.0 in /Users/navaneethmalingan/anaconda3/envs/llm/lib/python3.10/site-packages (from openai) (0.27.0)\n",
37 | "Requirement already satisfied: jiter<1,>=0.4.0 in /Users/navaneethmalingan/anaconda3/envs/llm/lib/python3.10/site-packages (from openai) (0.5.0)\n",
38 | "Requirement already satisfied: pydantic<3,>=1.9.0 in /Users/navaneethmalingan/anaconda3/envs/llm/lib/python3.10/site-packages (from openai) (2.8.2)\n",
39 | "Requirement already satisfied: sniffio in /Users/navaneethmalingan/anaconda3/envs/llm/lib/python3.10/site-packages (from openai) (1.3.1)\n",
40 | "Requirement already satisfied: tqdm>4 in /Users/navaneethmalingan/anaconda3/envs/llm/lib/python3.10/site-packages (from openai) (4.66.4)\n",
41 | "Requirement already satisfied: typing-extensions<5,>=4.11 in /Users/navaneethmalingan/anaconda3/envs/llm/lib/python3.10/site-packages (from openai) (4.12.2)\n",
42 | "Requirement already satisfied: idna>=2.8 in /Users/navaneethmalingan/anaconda3/envs/llm/lib/python3.10/site-packages (from anyio<5,>=3.5.0->openai) (3.6)\n",
43 | "Requirement already satisfied: exceptiongroup in /Users/navaneethmalingan/anaconda3/envs/llm/lib/python3.10/site-packages (from anyio<5,>=3.5.0->openai) (1.2.2)\n",
44 | "Requirement already satisfied: certifi in /Users/navaneethmalingan/anaconda3/envs/llm/lib/python3.10/site-packages (from httpx<1,>=0.23.0->openai) (2023.11.17)\n",
45 | "Requirement already satisfied: httpcore==1.* in /Users/navaneethmalingan/anaconda3/envs/llm/lib/python3.10/site-packages (from httpx<1,>=0.23.0->openai) (1.0.5)\n",
46 | "Requirement already satisfied: h11<0.15,>=0.13 in /Users/navaneethmalingan/anaconda3/envs/llm/lib/python3.10/site-packages (from httpcore==1.*->httpx<1,>=0.23.0->openai) (0.14.0)\n",
47 | "Requirement already satisfied: annotated-types>=0.4.0 in /Users/navaneethmalingan/anaconda3/envs/llm/lib/python3.10/site-packages (from pydantic<3,>=1.9.0->openai) (0.7.0)\n",
48 | "Requirement already satisfied: pydantic-core==2.20.1 in /Users/navaneethmalingan/anaconda3/envs/llm/lib/python3.10/site-packages (from pydantic<3,>=1.9.0->openai) (2.20.1)\n",
49 | "Note: you may need to restart the kernel to use updated packages.\n"
50 | ]
51 | }
52 | ],
53 | "source": [
54 | "%pip install numexpr openai"
55 | ]
56 | },
57 | {
58 | "cell_type": "code",
59 | "execution_count": 30,
60 | "metadata": {},
61 | "outputs": [
62 | {
63 | "data": {
64 | "text/plain": [
65 | "True"
66 | ]
67 | },
68 | "execution_count": 30,
69 | "metadata": {},
70 | "output_type": "execute_result"
71 | }
72 | ],
73 | "source": [
74 | "# import libraries\n",
75 | "import openai\n",
76 | "import os\n",
77 | "from langchain.llms import OpenAI\n",
78 | "from langchain.agents import load_tools\n",
79 | "from langchain.agents import initialize_agent\n",
80 | "from dotenv import load_dotenv\n",
81 | "load_dotenv()"
82 | ]
83 | },
84 | {
85 | "cell_type": "code",
86 | "execution_count": 31,
87 | "metadata": {},
88 | "outputs": [],
89 | "source": [
90 | "# load API keys; you will need to obtain these if you haven't yet\n",
91 | "os.environ[\"OPENAI_API_KEY\"] = os.getenv(\"OPENAI_API_KEY\")\n",
92 | "os.environ[\"SERPER_API_KEY\"] = os.getenv(\"SERPER_API_KEY\")"
93 | ]
94 | },
95 | {
96 | "cell_type": "code",
97 | "execution_count": 32,
98 | "metadata": {},
99 | "outputs": [],
100 | "source": [
101 | "# llm = OpenAI(model_name=\"gpt-3.5-turbo\" ,temperature=0)\n",
102 | "llm = OpenAI()\n",
103 | "tools = load_tools([\"google-serper\", \"llm-math\"], llm=llm)\n",
104 | "agent = initialize_agent(tools, llm, agent=\"zero-shot-react-description\", verbose=True)"
105 | ]
106 | },
107 | {
108 | "cell_type": "code",
109 | "execution_count": 19,
110 | "metadata": {},
111 | "outputs": [
112 | {
113 | "name": "stdout",
114 | "output_type": "stream",
115 | "text": [
116 | "\n",
117 | "\n",
118 | "\u001b[1m> Entering new AgentExecutor chain...\u001b[0m\n",
119 | "\u001b[32;1m\u001b[1;3m We can use Google search to find out who Olivia Wilde's boyfriend is, then use the calculator to raise his age to the 0.23 power.\n",
120 | "Action: google_serper\n",
121 | "Action Input: \"Olivia Wilde boyfriend\"\u001b[0m\n",
122 | "Observation: \u001b[36;1m\u001b[1;3mIn January 2021, Wilde began dating singer Harry Styles after they met during the filming of Don't Worry Darling.\u001b[0m\n",
123 | "Thought:\u001b[32;1m\u001b[1;3m Now that we know Olivia Wilde's boyfriend is Harry Styles, we can use the calculator to raise his age to the 0.23 power.\n",
124 | "Action: Calculator\n",
125 | "Action Input: 27 ** 0.23\u001b[0m\n",
126 | "Observation: \u001b[33;1m\u001b[1;3mAnswer: 2.1340945944237553\u001b[0m\n",
127 | "Thought:\u001b[32;1m\u001b[1;3m I now know the final answer.\n",
128 | "Final Answer: Harry Styles' age raised to the 0.23 power is approximately 2.13.\u001b[0m\n",
129 | "\n",
130 | "\u001b[1m> Finished chain.\u001b[0m\n"
131 | ]
132 | },
133 | {
134 | "data": {
135 | "text/plain": [
136 | "\"Harry Styles' age raised to the 0.23 power is approximately 2.13.\""
137 | ]
138 | },
139 | "execution_count": 19,
140 | "metadata": {},
141 | "output_type": "execute_result"
142 | }
143 | ],
144 | "source": [
145 | "agent.run(\"Who is Olivia Wilde's boyfriend? What is his current age raised to the 0.23 power?\")"
146 | ]
147 | },
148 | {
149 | "cell_type": "code",
150 | "execution_count": 34,
151 | "metadata": {},
152 | "outputs": [
153 | {
154 | "name": "stdout",
155 | "output_type": "stream",
156 | "text": [
157 | "\n",
158 | "\n",
159 | "\u001b[1m> Entering new AgentExecutor chain...\u001b[0m\n",
160 | "\u001b[32;1m\u001b[1;3m I should search for information about Maddie Hamilton's boyfriend.\n",
161 | "Action: google_serper\n",
162 | "Action Input: \"Maddie Hamilton's boyfriend\"\u001b[0m\n",
163 | "Observation: \u001b[36;1m\u001b[1;3mMaddie Hamilton: The beautiful girlfriend of Yashasvi Jaiswal.\u001b[0m\n",
164 | "Thought:\u001b[32;1m\u001b[1;3m I should use the information I found to search for Yashasvi Jaiswal's age.\n",
165 | "Action: google_serper\n",
166 | "Action Input: \"Yashasvi Jaiswal age\"\u001b[0m\n",
167 | "Observation: \u001b[36;1m\u001b[1;3m22 years\u001b[0m\n",
168 | "Thought:\u001b[32;1m\u001b[1;3m I should multiply Yashasvi Jaiswal's age by 2.\n",
169 | "Action: Calculator\n",
170 | "Action Input: 22*2\u001b[0m\n",
171 | "Observation: \u001b[33;1m\u001b[1;3mAnswer: 44\u001b[0m\n",
172 | "Thought:\u001b[32;1m\u001b[1;3m I now know the final answer.\n",
173 | "Final Answer: 44\u001b[0m\n",
174 | "\n",
175 | "\u001b[1m> Finished chain.\u001b[0m\n"
176 | ]
177 | },
178 | {
179 | "data": {
180 | "text/plain": [
181 | "'44'"
182 | ]
183 | },
184 | "execution_count": 34,
185 | "metadata": {},
186 | "output_type": "execute_result"
187 | }
188 | ],
189 | "source": [
190 | "agent.run(\"Who is maddie hamilton's boyfriend? What is his current age multiplied by 2?\")"
191 | ]
192 | },
193 | {
194 | "cell_type": "code",
195 | "execution_count": 27,
196 | "metadata": {},
197 | "outputs": [
198 | {
199 | "name": "stdout",
200 | "output_type": "stream",
201 | "text": [
202 | "\n",
203 | "\n",
204 | "\u001b[1m> Entering new AgentExecutor chain...\u001b[0m\n",
205 | "\u001b[32;1m\u001b[1;3m I should use google_serper to search for articles about Olivia Wilde\n",
206 | "Action: google_serper\n",
207 | "Action Input: Olivia Wilde\u001b[0m\n",
208 | "Observation: \u001b[36;1m\u001b[1;3mOlivia Wilde: American actress and director. Olivia Wilde is an American actress, director and producer. She played Remy \"Thirteen\" Hadley on the medical-drama television series House, and has appeared in the films Tron: Legacy, Cowboys & Aliens, The Incredible Burt Wonderstone, The Lazarus... Olivia Wilde Born: 1984 (age 40 years), New York, NY. Olivia Wilde Spouse: Tao Ruspoli (m. 2003–2011). Olivia Wilde Height: 5′ 7″. Olivia Wilde Children: 2. Olivia Wilde Parents: Andrew Cockburn and Leslie Cockburn. Olivia Wilde Siblings: Chloe Frances Cockburn and Charlie Philip Cockburn. Actress and activist Olivia Wilde is a modern day renaissance woman, starring in many acclaimed film productions, while simultaneously giving back to the ... Olivia Wilde is an American actress, director and producer. She played Remy \"Thirteen\" Hadley on the medical-drama television series House (2007–2012), ... Miniature enthusiast. · 1,940 posts · 4,139,189 followers · 786 following ... 4M Followers, 793 Following, 1940 Posts - Olivia Wilde (@oliviawilde) on Instagram: \"Miniature enthusiast.\" World champion parallel parker. youtu.be/FgmnKsED-jU Joined November 2009 503 Following 1.6M Followers American actress and director Olivia Wilde appeared in TRON: Legacy (2010), Her (2013), and as Dr. Remy \"Thirteen\" Hadley on Fox's medical drama House. Olivia Wilde is an actress and director. She appeared in shows like Skin and The O.C. before landing her most notable television role in 2007 as Remy ... Olivia Jane Cockburn, known professionally as Olivia Wilde, is an actor and director who was born on March 10, 1984 in New York City. In her early years, ... Olivia Wilde. 1183250 likes · 25 talking about this. Actress, co-founder of Conscious Commerce, and world champion parallel parker. Directors · Olivia Wilde · Amazon “Tache” · VW “Water Girl” · Booksmart · Don't Worry Darling · HP “Wake Up”.\u001b[0m\n",
209 | "Thought:\u001b[32;1m\u001b[1;3m Now I should use google_serper to search for articles about Olivia Wilde's boyfriend and their age difference\n",
210 | "Action: google_serper\n",
211 | "Action Input: Olivia Wilde boyfriend age difference\u001b[0m\n",
212 | "Observation: \u001b[36;1m\u001b[1;3mThe actress demurred from speaking at detail about him or their relationship, but she did address the scrutiny she received for their 10-year age gap and how happy she is now. “It's obviously really tempting to correct a false narrative,” Wilde said of those critical of a woman in her 30s dating a man a decade younger.\u001b[0m\n",
213 | "Thought:\u001b[32;1m\u001b[1;3m I should use google_serper to search for articles about Olivia Wilde's boyfriend\n",
214 | "Action: google_serper\n",
215 | "Action Input: Olivia Wilde boyfriend\u001b[0m\n",
216 | "Observation: \u001b[36;1m\u001b[1;3mIn January 2021, Wilde began dating singer Harry Styles after they met during the filming of Don't Worry Darling.\u001b[0m\n",
217 | "Thought:\u001b[32;1m\u001b[1;3m I should use google_serper to search for articles about Olivia Wilde's age\n",
218 | "Action: google_serper\n",
219 | "Action Input: Olivia Wilde age\u001b[0m\n",
220 | "Observation: \u001b[36;1m\u001b[1;3mTao Ruspoli\u001b[0m\n",
221 | "Thought:\u001b[32;1m\u001b[1;3m I should use google_serper to search for articles about Olivia Wilde's age difference\n",
222 | "Action: google_serper\n",
223 | "Action Input: Olivia Wilde age difference\u001b[0m\n",
224 | "Observation: \u001b[36;1m\u001b[1;3mDec. Wilde did her first in-depth interview since starting to date Styles with Vogue. The actress demurred from speaking at detail about him or their relationship, but she did address the scrutiny she received for their 10-year age gap and how happy she is now.\u001b[0m\n",
225 | "Thought:\u001b[32;1m\u001b[1;3m I now know the final answer\n",
226 | "Final Answer: Olivia Wilde is 37 years old and her boyfriend, Harry Styles, is 27 years old. They have a 10-year age difference.\u001b[0m\n",
227 | "\n",
228 | "\u001b[1m> Finished chain.\u001b[0m\n"
229 | ]
230 | },
231 | {
232 | "data": {
233 | "text/plain": [
234 | "'Olivia Wilde is 37 years old and her boyfriend, Harry Styles, is 27 years old. They have a 10-year age difference.'"
235 | ]
236 | },
237 | "execution_count": 27,
238 | "metadata": {},
239 | "output_type": "execute_result"
240 | }
241 | ],
242 | "source": [
243 | "agent.run(\"What is Olivia Wilde's age? Who is her boyfriend? What is their age difference\")"
244 | ]
245 | },
246 | {
247 | "cell_type": "code",
248 | "execution_count": null,
249 | "metadata": {},
250 | "outputs": [],
251 | "source": []
252 | }
253 | ],
254 | "metadata": {
255 | "kernelspec": {
256 | "display_name": "llm",
257 | "language": "python",
258 | "name": "python3"
259 | },
260 | "language_info": {
261 | "codemirror_mode": {
262 | "name": "ipython",
263 | "version": 3
264 | },
265 | "file_extension": ".py",
266 | "mimetype": "text/x-python",
267 | "name": "python",
268 | "nbconvert_exporter": "python",
269 | "pygments_lexer": "ipython3",
270 | "version": "3.10.13"
271 | }
272 | },
273 | "nbformat": 4,
274 | "nbformat_minor": 2
275 | }
276 |
--------------------------------------------------------------------------------
/tinyml.md:
--------------------------------------------------------------------------------
1 | https://github.com/PINTO0309/PINTO_model_zoo
2 |
--------------------------------------------------------------------------------
/tweets/README.md:
--------------------------------------------------------------------------------
1 | # The tweets/ folder
2 |
3 | To create a new tweet create a new `*.tweet` file in this `tweets/` folder.
4 |
5 | [Create new tweet](../../../new/master/?filename=tweets/.tweet)
6 |
7 | ## Example
8 |
9 | Create a new file `tweets/hello-world.tweet` with the content
10 |
11 | > Hello, world!
12 |
13 | You can use subfolders, e.g. `tweets/2019-02/hello-world.tweet`, as long as the file is in the `tweets/` folder and has the `.tweet` file extension
14 |
15 | ## Create a tweet with a twitter poll
16 |
17 | **Note**: The configured twitter account needs to be authorized to use Twitters Ads API in order to send tweets including a poll.
18 |
19 | A tweet including a poll must end with 2-4 options in the following format
20 |
21 | > Here is some text
22 | >
23 | > ( ) option A
24 | > ( ) option B
25 | > ( ) option C
26 | > ( ) option D
27 |
28 | ## Notes
29 |
30 | - Only newly created files are handled, deletions, updates or renames are ignored.
31 | - `*.tweet` files will not be created for tweets you send out directly from twitter.com
32 | - If you need to rename an existing tweet file, please do so locally using [`git mv old_filename new_filename`](https://help.github.com/en/articles/renaming-a-file-using-the-command-line), otherwise it may occur as deleted and added which would trigger a new tweet.
33 | - your message must fit into a single tweet
34 |
35 | ## Questions?
36 |
37 | If you have any further questions or suggestions, please create an issue at https://github.com/gr2m/twitter-together/issues/new
38 |
--------------------------------------------------------------------------------
/tweets/test.tweet:
--------------------------------------------------------------------------------
1 | test tweet
2 |
--------------------------------------------------------------------------------
/tweets/test2.tweet:
--------------------------------------------------------------------------------
1 | Hello world.
2 |
--------------------------------------------------------------------------------
/webinars/computer_vision/Computer Vision Share.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nivu/ai_all_resources/f93fbff99dc173b3f243fad18573f7444c2cfc8f/webinars/computer_vision/Computer Vision Share.pdf
--------------------------------------------------------------------------------
/webinars/decision_trees_and_random_forest/Ensemble_Methods.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "nbformat": 4,
3 | "nbformat_minor": 0,
4 | "metadata": {
5 | "colab": {
6 | "name": "Ensemble Methods.ipynb",
7 | "provenance": []
8 | },
9 | "kernelspec": {
10 | "name": "python3",
11 | "display_name": "Python 3"
12 | }
13 | },
14 | "cells": [
15 | {
16 | "cell_type": "code",
17 | "metadata": {
18 | "id": "-mCmaGdYCtBc",
19 | "colab_type": "code",
20 | "colab": {}
21 | },
22 | "source": [
23 | "# Load Library\n",
24 | "from sklearn.datasets import make_moons\n",
25 | "from sklearn.metrics import accuracy_score\n",
26 | "from sklearn.model_selection import train_test_split\n",
27 | "from sklearn.tree import DecisionTreeClassifier\n",
28 | "from sklearn.ensemble import RandomForestClassifier,AdaBoostClassifier,GradientBoostingClassifier"
29 | ],
30 | "execution_count": 0,
31 | "outputs": []
32 | },
33 | {
34 | "cell_type": "code",
35 | "metadata": {
36 | "id": "4ja4yb4_CzlY",
37 | "colab_type": "code",
38 | "colab": {}
39 | },
40 | "source": [
41 | "# Step1: Create data set\n",
42 | "X, y = make_moons(n_samples=10000, noise=.5, random_state=0)"
43 | ],
44 | "execution_count": 0,
45 | "outputs": []
46 | },
47 | {
48 | "cell_type": "code",
49 | "metadata": {
50 | "id": "WbIUBF8pdXUF",
51 | "colab_type": "code",
52 | "colab": {}
53 | },
54 | "source": [
55 | "# Step2: Split the training test set\n",
56 | "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)"
57 | ],
58 | "execution_count": 0,
59 | "outputs": []
60 | },
61 | {
62 | "cell_type": "code",
63 | "metadata": {
64 | "id": "8vRma5CzC1id",
65 | "colab_type": "code",
66 | "outputId": "47d557ac-f8d7-4b3d-8fb8-94893afbc5fd",
67 | "colab": {
68 | "base_uri": "https://localhost:8080/",
69 | "height": 51
70 | }
71 | },
72 | "source": [
73 | "# Step 3: Fit a Decision Tree model as comparison\n",
74 | "clf = DecisionTreeClassifier()\n",
75 | "clf.fit(X_train, y_train)\n",
76 | "print(\" Train Accuracy\", accuracy_score(y_train, clf.predict(X_train)))\n",
77 | "print(\" Test Accuracy\", accuracy_score(y_test, clf.predict(X_test)))"
78 | ],
79 | "execution_count": 15,
80 | "outputs": [
81 | {
82 | "output_type": "stream",
83 | "text": [
84 | " Train Accuracy 1.0\n",
85 | " Test Accuracy 0.751\n"
86 | ],
87 | "name": "stdout"
88 | }
89 | ]
90 | },
91 | {
92 | "cell_type": "code",
93 | "metadata": {
94 | "id": "LeoG6gvlC1oR",
95 | "colab_type": "code",
96 | "outputId": "42772dfc-410f-474d-c442-a940260ac783",
97 | "colab": {
98 | "base_uri": "https://localhost:8080/",
99 | "height": 51
100 | }
101 | },
102 | "source": [
103 | "# Step 4: Fit a Random Forest model, \" compared to \"Decision Tree model, accuracy go up by 5%\n",
104 | "clf = RandomForestClassifier(n_estimators=100, max_features=\"auto\",random_state=0)\n",
105 | "clf.fit(X_train, y_train)\n",
106 | "print(\" Train Accuracy\", accuracy_score(y_train, clf.predict(X_train)))\n",
107 | "print(\" Test Accuracy\", accuracy_score(y_test, clf.predict(X_test)))"
108 | ],
109 | "execution_count": 16,
110 | "outputs": [
111 | {
112 | "output_type": "stream",
113 | "text": [
114 | " Train Accuracy 1.0\n",
115 | " Test Accuracy 0.7965\n"
116 | ],
117 | "name": "stdout"
118 | }
119 | ]
120 | },
121 | {
122 | "cell_type": "code",
123 | "metadata": {
124 | "id": "h_ntW2CiC1ll",
125 | "colab_type": "code",
126 | "outputId": "753a8327-e25f-4c2d-9d39-e3ee62c13192",
127 | "colab": {
128 | "base_uri": "https://localhost:8080/",
129 | "height": 51
130 | }
131 | },
132 | "source": [
133 | "# Step 5: Fit a AdaBoost model, \" compared to \"Decision Tree model, accuracy go up by 10%\n",
134 | "clf = AdaBoostClassifier(n_estimators=100)\n",
135 | "clf.fit(X_train, y_train)\n",
136 | "print(\" Train Accuracy\", accuracy_score(y_train, clf.predict(X_train)))\n",
137 | "print(\" Test Accuracy\", accuracy_score(y_test, clf.predict(X_test)))"
138 | ],
139 | "execution_count": 17,
140 | "outputs": [
141 | {
142 | "output_type": "stream",
143 | "text": [
144 | " Train Accuracy 0.825625\n",
145 | " Test Accuracy 0.833\n"
146 | ],
147 | "name": "stdout"
148 | }
149 | ]
150 | },
151 | {
152 | "cell_type": "code",
153 | "metadata": {
154 | "id": "GXw2cMWuC92S",
155 | "colab_type": "code",
156 | "outputId": "ce935fdf-df0a-4405-e6d3-a41af02a7ae6",
157 | "colab": {
158 | "base_uri": "https://localhost:8080/",
159 | "height": 51
160 | }
161 | },
162 | "source": [
163 | "# Step 6: Fit a Gradient Boosting model, \" compared to \"Decision Tree model, accuracy go up by 10%\n",
164 | "clf = GradientBoostingClassifier(n_estimators=100)\n",
165 | "clf.fit(X_train, y_train)\n",
166 | "print(\" Train Accuracy\", accuracy_score(y_train, clf.predict(X_train)))\n",
167 | "print(\" Test Accuracy\", accuracy_score(y_test, clf.predict(X_test)))"
168 | ],
169 | "execution_count": 18,
170 | "outputs": [
171 | {
172 | "output_type": "stream",
173 | "text": [
174 | " Train Accuracy 0.829875\n",
175 | " Test Accuracy 0.8335\n"
176 | ],
177 | "name": "stdout"
178 | }
179 | ]
180 | },
181 | {
182 | "cell_type": "code",
183 | "metadata": {
184 | "id": "QY37GWzl9CQD",
185 | "colab_type": "code",
186 | "colab": {}
187 | },
188 | "source": [
189 | ""
190 | ],
191 | "execution_count": 0,
192 | "outputs": []
193 | }
194 | ]
195 | }
--------------------------------------------------------------------------------