Skip to content

Instantly share code, notes, and snippets.

View arunmallya's full-sized avatar

Arun Mallya arunmallya

View GitHub Profile
@arunmallya
arunmallya / matches.txt
Created January 18, 2018 22:24
Files of CUBS test present in ImageNet train
American_Goldfinch_0062_31921.jpg -> n01531178_12730.JPEG
Indigo_Bunting_0063_11820.jpg -> n01537544_9540.JPEG
Blue_Jay_0053_62744.jpg -> n01580077_4622.JPEG
American_Goldfinch_0131_32911.jpg -> n01531178_17834.JPEG
Dark_Eyed_Junco_0057_68650.jpg -> n01534433_12777.JPEG
Indigo_Bunting_0051_12837.jpg -> n01537544_2126.JPEG
Dark_Eyed_Junco_0102_67402.jpg -> n01534433_9482.JPEG
American_Goldfinch_0012_32338.jpg -> n01531178_14394.JPEG
Laysan_Albatross_0033_658.jpg -> n02058221_16284.JPEG
Black_Footed_Albatross_0024_796089.jpg -> n02058221_6390.JPEG
@arunmallya
arunmallya / rf.ipynb
Last active March 30, 2023 09:29
A Jupyter notebook to get the receptive field and effective stride of layers in a CNN. Supports dilated convolutions as well.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@arunmallya
arunmallya / parallel.py
Created October 22, 2018 17:41 — forked from thomwolf/parallel.py
Data Parallelism in PyTorch for modules and losses
##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
## Created by: Hang Zhang, Rutgers University, Email: zhang.hang@rutgers.edu
## Modified by Thomas Wolf, HuggingFace Inc., Email: thomas@huggingface.co
## Copyright (c) 2017-2018
##
## This source code is licensed under the MIT-style license found in the
## LICENSE file in the root directory of this source tree
##+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
"""Encoding Data Parallel"""
@arunmallya
arunmallya / test-Copy1.ipynb
Created August 17, 2018 22:38
Normal operation on small tensor
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@arunmallya
arunmallya / test.ipynb
Created August 17, 2018 22:30
Inplace normal_( ) bug
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@arunmallya
arunmallya / modconv.py
Created February 20, 2018 20:43
Convolution with masking support.
class ElementWiseConv2d(nn.Module):
"""Modified conv. Do we need mask for biases too?"""
def __init__(self, in_channels, out_channels, kernel_size, stride=1,
padding=0, dilation=1, groups=1, bias=True,
mask_init='1s', mask_scale=1e-2,
threshold_fn='binarizer', threshold=None):
super(ElementWiseConv2d, self).__init__()
kernel_size = _pair(kernel_size)
stride = _pair(stride)
@arunmallya
arunmallya / binarizer.py
Created February 20, 2018 20:41
Autograd snippet for Binarizer
DEFAULT_THRESHOLD = 5e-3
class Binarizer(torch.autograd.Function):
"""Binarizes {0, 1} a real valued tensor."""
def __init__(self, threshold=DEFAULT_THRESHOLD):
super(Binarizer, self).__init__()
self.threshold = threshold
def forward(self, inputs):
from __future__ import print_function
import torch
A = torch.rand(4, 4)
An = A.numpy()
idx = torch.ByteTensor([1, 0, 0, 1])
idxn = [True, False, False, True]
# Numpy indexing.
from __future__ import print_function
import torch
A = torch.rand(4)
idx = torch.LongTensor([0, 3])
An = A.numpy()
idxn = idx.numpy()
# Numpy indexing.
@arunmallya
arunmallya / ReadCSVToDatum.txt
Last active August 10, 2017 10:55
A function to load CSV data into a caffe datum
bool ReadCSVToDatum(const string& filename, Datum* datum) {
// read in the CSV file into a vector
fstream file(filename.c_str(), ios::in);
vector<vector<int> > label;
std::string line;
while (std::getline(file, line)) {
// replace commas with spaces
for (int i = 0; i < line.length(); i++) {
if (line[i] == ',')
line[i] = ' ';