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/ nvcr.io/nvidia/pytorch:23.05-py3

You can change the part after nvcr.io/pytorch: to change the version of the docker. 23.05-py3 is the latest version from 2023.

@IAmSuyogJadhav
IAmSuyogJadhav / PDF_Rearrange_Preserve_Bookmarks_Hyperlinks.md
Created May 14, 2023 12:15
Rearrange PDF pages while keeping hyperlinks and bookmarks intact.
@IAmSuyogJadhav
IAmSuyogJadhav / asus-mutemic
Created June 15, 2021 10:19
Refer to the blog for more info:
event=button/micmute MICMUTE 00000080 00000000 K
action=/etc/acpi/asus-mutemic.sh
@IAmSuyogJadhav
IAmSuyogJadhav / asus-mutemic.sh
Last active June 15, 2021 10:18
Refer to the blog for more info:
#!/bin/sh
#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
IAmSuyogJadhav / opencv-camera-calibration-undistortion.py
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 https://github.com/mesutpiskin/opencv-fisheye-undistortion/blob/master/src/python/camera_calibration_undistortion.py
"""
import cv2
import numpy as np
import glob
def calibrate(folder, rows=6, cols=9, save_file='calibrationdata.npz'):
@IAmSuyogJadhav
IAmSuyogJadhav / number_of_parameters.py
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())
print(pytorch_total_params)
@IAmSuyogJadhav
IAmSuyogJadhav / remove_data_parallel.py
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
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 https://docs.nvidia.com/datacenter/tesla/tesla-installation-notes/index.html
sudo apt-get install linux-headers-$(uname -r)
distribution=$(. /etc/os-release;echo $ID$VERSION_ID | sed -e 's/\.//g')
wget https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/cuda-$distribution.pin
sudo mv cuda-$distribution.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64/7fa2af80.pub
echo "deb http://developer.download.nvidia.com/compute/cuda/repos/$distribution/x86_64 /" | sudo tee /etc/apt/sources.list.d/cuda.list
sudo apt-get update
@IAmSuyogJadhav
IAmSuyogJadhav / FourierShift2D.py
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: https://github.com/aludnam/MATLAB/blob/master/image_proc/FourierShift2D.m
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
IAmSuyogJadhav / install_tsne-cuda.sh
Created January 22, 2020 21:52
Script to install tsne-CUDA by @CannyLab using conda. Derived from https://medium.com/analytics-vidhya/super-fast-tsne-cuda-on-kaggle-b66dcdc4a5a4 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
wget https://anaconda.org/CannyLab/tsnecuda/2.1.0/download/linux-64/tsnecuda-2.1.0-cuda100.tar.bz2
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/