Skip to content

Instantly share code, notes, and snippets.

View IAmSuyogJadhav's full-sized avatar
One thing at a time.

Suyog Jadhav IAmSuyogJadhav

One thing at a time.
View GitHub Profile

This short tutorial will get you set up with your programming environment, so that you can get started with your programming assignments.

Setting up the docker container

We will be using a prebuilt docker instance from NVIDIA's docker repository (NGC), as it simplifies setup for us.

Run the following command. Replace <local_dir> with a local directory path you would like to access from within the container.

docker run -p 8888:9989 --ulimit memlock=-1 --ulimit stack=67108864 --shm-size=8g --gpus all -it -v <local_dir>:/workspace/

You can change the part after to change the version of the docker. 23.05-py3 is the latest version from 2023.

IAmSuyogJadhav /
Created May 14, 2023 12:15
Rearrange PDF pages while keeping hyperlinks and bookmarks intact.
IAmSuyogJadhav / asus-mutemic
Created June 15, 2021 10:19
Refer to the blog for more info:
event=button/micmute MICMUTE 00000080 00000000 K
IAmSuyogJadhav /
Last active June 15, 2021 10:18
Refer to the blog for more info:
#sudo PULSE_RUNTIME_PATH=/var/run/pulse -u pulse pacmd list-sources | grep -oP 'index: \d+' | awk '{ print $2 }' | xargs -I{} pactl set-source-mute {} toggle
sudo PULSE_RUNTIME_PATH=/var/run/pulse -u pulse pactl set-source-mute 2 toggle && pactl set-source-mute 1 toggle && pactl set-source-mute 0 toggle
IAmSuyogJadhav /
Created March 20, 2021 15:02
A working script for calibrating and undistorting/dewarping the distortion from any regular or fisheye camera. Takes care of resizing and rescaling the FOV appropriately to get rid of the empty black space on both the sides (which is observed in case of high FOV fisheye lenses).
Modified version of the original script from
import cv2
import numpy as np
import glob
def calibrate(folder, rows=6, cols=9, save_file='calibrationdata.npz'):
IAmSuyogJadhav /
Created January 12, 2021 11:23
Count and display the total no. of parameters in a PyTorch model.
# model is your pytorch model (an nn.Module instance)
pytorch_total_params = sum(p.numel() for p in model.parameters())
IAmSuyogJadhav /
Last active January 3, 2021 05:56
Remove DataParallel from PyTorch models trained with nn.DataParallel or nn.DistributedDataParallel. Input = old state_dict, output = new state_dict that works without nn.DataParallel or nn.DistributedDataParallel
def remove_data_parallel(old_state_dict):
new_state_dict = OrderedDict()
for k, v in old_state_dict.items():
name = k[7:] # remove `module.`
new_state_dict[name] = v
return new_state_dict
IAmSuyogJadhav / gcp-ubuntu-deep-learning
Created July 24, 2020 14:23
Create a new instance on GCP with 1xTesla T4 GPU. Use following commands in the terminal to get started with a pyTorch installation.
# Install CUDA Drivers (for Tesla T4)
# From
sudo apt-get install linux-headers-$(uname -r)
distribution=$(. /etc/os-release;echo $ID$VERSION_ID | sed -e 's/\.//g')
sudo mv cuda-$ /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys$distribution/x86_64/
echo "deb$distribution/x86_64 /" | sudo tee /etc/apt/sources.list.d/cuda.list
sudo apt-get update
IAmSuyogJadhav /
Last active April 15, 2021 22:40
2D shifting in python. Accepts both real and complex inputs. Accepts integer as well as floating-point values for shifting. Allows for subpixel shifting of both real and complex 2D matrices/images in python. Based on:
def FourierShift2D(x, delta):
FourierShift2D(x, delta)
Subpixel shifting in python. Based on the original script (FourierShift2D.m)
by Tim Hutt.
Original Description
Shifts x by delta cyclically. Uses the fourier shift theorem.
Real inputs should give real outputs.
IAmSuyogJadhav /
Created January 22, 2020 21:52
Script to install tsne-CUDA by @CannyLab using conda. Derived from to work on any linux system
# Change CUDA version if needed
conda install faiss-gpu cudatoolkit=10.0 -c pytorch
sudo apt install libopenblas-dev
tar xvjf tsnecuda-2.1.0-cuda100.tar.bz2 --wildcards 'lib/*'
tar xvjf tsnecuda-2.1.0-cuda100.tar.bz2 --wildcards 'site-packages/*'
# Fill your username below. Change python version if needed
cp -r site-packages/* /home/username/anaconda3/lib/python3.7/site-packages/