Skip to content

Instantly share code, notes, and snippets.

@dineshj1
dineshj1 / dj_papers.bib
Last active April 11, 2025 18:41
Publication List
@article{kunapuli2025leveling,
title={Leveling the Playing Field: Carefully Comparing Classical and Learned Controllers for Quadrotor Trajectory Tracking},
author={Pratik Kunapuli and Jake Welde and Dinesh Jayaraman and Vijay Kumar},
abstract={Learning-based control approaches like reinforcement learning (RL) have recently produced a slew of impressive results for tasks like quadrotor trajectory tracking and drone racing. Naturally, it is common to demonstrate the advantages of these new controllers against established methods like analytical controllers. We observe, however, that reliably comparing the performance of these very different classes of controllers is more complicated than might appear at first sight. As a case study, we take up the problem of agile tracking of an end-effector for a quadrotor with a fixed-arm. We develop a set of best practices for synthesizing the best RL and Geometric controllers for benchmarking. In the process, we fix widely prevalent RL-favoring biases in prior studies that
@dineshj1
dineshj1 / experimentlogger.py
Last active July 30, 2018 19:21
How to dump parameters to google spreadsheet to track experiments
# First make sure you pip install google-api-python-client
from apiclient.discovery import build
from httplib2 import Http
from oauth2client import file, client, tools
def store_opts(opt): # opt is the object returned by argparse
params = dict(opt.__dict__)
# here I remove parameters I don't want recorded in google sheets
params.pop('retain_in_test', None)
@dineshj1
dineshj1 / tf_explore.py
Created February 5, 2018 01:06
Script to explore tensorflow records file
# Written with help from http://warmspringwinds.github.io/tensorflow/tf-slim
# /2016/12/21/tfrecords-guide/
import os
import ipdb
import numpy as np
import tensorflow as tf
from tqdm import tqdm
tf_dir = './'
@dineshj1
dineshj1 / tsne visualization
Last active March 28, 2018 04:17
t-SNE visualization code
# Dinesh Jayaraman
# Based on code by
# Authors: Fabian Pedregosa <[email protected]>
# Olivier Grisel <[email protected]>
# Mathieu Blondel <[email protected]>
# Gael Varoquaux
# License: BSD 3 clause (C) INRIA 2011
print(__doc__)
@dineshj1
dineshj1 / demo_textprogressbar.m
Last active January 27, 2017 20:53
Textprogressbar from Matlab File Exchange with small mods
%demo_textprogressbar
%This a demo for textprogressbar script
textprogressbar('calculating outputs: ');
for i=1:100,
textprogressbar(i);
pause(0.1);
end
textprogressbar('done');
@dineshj1
dineshj1 / pycaffe training script
Created August 30, 2016 22:38
Training on Pycaffe
import argparse
import time
start_time=time.time();
################## Argument Parsing #####################################
parser=argparse.ArgumentParser();
parser.add_argument('-s','--solver', default='', type=str); # if empty, solver is created, else read
parser.add_argument('-res', '--resume_from', default='', type=str); #if not empty, resumes training from given file
parser.add_argument('-ft', '--finetune_from', default='', type=str);
@dineshj1
dineshj1 / job_submission_script_example.m
Last active August 28, 2016 22:39
Hyperparameter optimization scripts
function submitjobs(nosubmit, numjobs, main)
try
xlwrite_path='../data_utils/xlwrite/';
addpath(xlwrite_path);
javaaddpath([xlwrite_path 'poi_library/poi-3.8-20120326.jar']);
javaaddpath([xlwrite_path 'poi_library/poi-ooxml-3.8-20120326.jar']);
javaaddpath([xlwrite_path 'poi_library/poi-ooxml-schemas-3.8-20120326.jar']);
javaaddpath([xlwrite_path 'poi_library/xmlbeans-2.3.0.jar']);
javaaddpath([xlwrite_path 'poi_library/dom4j-1.6.1.jar']);
javaaddpath([xlwrite_path 'poi_library/stax-api-1.0.1.jar']);
@dineshj1
dineshj1 / image_scatter.py
Created May 24, 2016 16:46 — forked from lukemetz/image_scatter.py
Image tsne scatter plot
from tsne import bh_sne
import numpy as np
from skimage.transform import resize
from matplotlib import pyplot as plt
def gray_to_color(img):
if len(img.shape) == 2:
img = np.dstack((img, img, img))
return img
@dineshj1
dineshj1 / cluster
Created August 6, 2014 01:13 — forked from jdeng/cluster
// generate [0..n-1]
auto seq = [](size_t n) -> std::vector<size_t> {
std::vector<size_t> v(n);
for (size_t i=0; i<n; ++i) v[i] = i;
return v;
};
auto index = seq(n);
// n * n distance matrix
std::vector<D> dists(n * n);