Skip to content

Instantly share code, notes, and snippets.

View jaidevd's full-sized avatar

Jaidev Deshpande jaidevd

View GitHub Profile
@jaidevd
jaidevd / proposal.md
Created January 15, 2026 06:25
Optimizing Torch Models - PyConf Hyd 2026

Talk Details

Title

Optimizing PyTorch Models

Elevator Pitch - 300 chars

Most AI models never leave a Jupyter notebook. This workshop shows how to turn

@jaidevd
jaidevd / gist:eafcc296e5f160c4b90070085e3b8bb2
Created December 2, 2025 07:04
Embedding images in HTML via data-urls
#!/usr/bin/env python3
"""
Generate an HTML page that embeds an image as a data URL.
Usage:
python embed_image.py path/to/image.png output.html
"""
import argparse
import base64
@jaidevd
jaidevd / README.md
Created September 23, 2024 14:08
Pip / conda experiments

Hypothesis:

For a given package ABC, if conda installs it without any additional arguments, pip install the same package without any additional arguments, they are not coming from the same source. They will have a slightly different version, patch or minor.

Procedure:

@jaidevd
jaidevd / init.vim
Created June 5, 2024 17:42
init.vim
let g:python3_host_prog="~/conda/bin/python"
let g:python2_host_prog="~/conda/bin/python"
call plug#begin('~/.local/share/nvim/plugged')
" Autocomplete stuff
if has('nvim')
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
X <- numeric(length=1000)
params.a <- sqrt(30) / 4
params.c <- 0.811
sqrt.fx <- function(x) {
f <- (x ^ 4) - 2 * (x ^ 3) + (x ^ 2)
return(sqrt(30 * f))
}
sample <- function() {
@jaidevd
jaidevd / covariance.md
Created February 3, 2023 05:43
Sample markdown

Suppose you have $n$ random variables, $\mathbf{x}_1, \mathbf{x}_2, x_3, \ldots x_n $.

Now, between any two random variables $x_i, x_j$ the covariance is defined as:

$$ \sigma_{\mathbf{x}_i, \mathbf{x}_j} = E[(\mathbf{x}_i - \mu_{\mathbf{x}_i})(\mathbf{x}_j - \mu_{\mathbf{x}_j})] $$

(where $\mu_{\mathbf{x}_i}$ is the mean of $\mathbf{x}_i$).

from flask import request, Flask
app = Flask(__name__)
@app.route("/", methods=["POST"])
def index():
if request.content_type == 'application/pdf':
with open('request.pdf', 'wb') as fout:
fout.write(request.data)
# coding: utf-8
from keras import layers as L
from keras import backend as K
from keras.models import Model
import tensorflow as tf
import numpy as np
_epsilon = tf.convert_to_tensor(K.epsilon(), np.float32)
@jaidevd
jaidevd / naive_bayes.md
Created July 1, 2022 10:10
MLT Writeup on Naive Bayes algorithms

Generative vs discriminative classifiers

Discriminative classifiers:

Discriminative classifiers divide the feature space into regions that separate the data belonging to different classes such that every separate region contains samples belonging to a single class. The decision boundary is determined by constructing and solving equations of the form

$$ \mathbf{y} = \mathbf{w}^T\mathbf{\phi(X)}+b $$

[
{
"text": "#BREAKINGNEWS MALAYSIA AIRLINES FLIGHT #MH17 CONFIRMED SHOT DOWN OVER #DONETSK OBLAST, SHORTLY BEFORE REACHING RUSSIAN AIR SPACE",
"labels": [
{
"start": 14,
"end": 31,
"label": "ORG"
},
{