Skip to content

Instantly share code, notes, and snippets.

@zhreshold
zhreshold / loss.py
Created January 24, 2018 05:01
Weighted logistic regression output via mxnet custom operator
import mxnet as mx
class WeightedLogisticRegressionOutput(mx.operator.CustomOp):
"""
"""
def __init__(self, beta=0.5, lower=0.3, upper=0.7):
self._lower = lower
self._upper = upper
@zhreshold
zhreshold / rotate_by_affine.py
Created January 16, 2018 03:42
Affine transformation for rotation(Debug)
import mxnet as mx
import numpy as np
import cv2
def rotate_ndarray(arr, degree):
theta = np.pi / 180 * degree
cos = np.cos(theta)
sin = np.sin(theta)
loc = mx.nd.array([[cos, sin, -sin, cos, 0, 0]])
s = 200
@zhreshold
zhreshold / tune_cifar.py
Created January 11, 2018 22:03
Cifar10 with gluon model
import argparse
import logging
import random
import time
import mxnet as mx
from mxnet import nd
from mxnet import image
from mxnet import gluon
from mxnet import autograd
import numpy as np
@zhreshold
zhreshold / validate.py
Last active December 28, 2017 03:28
ImageNet validation
import os
import argparse
import shutil
import time
import logging
import numpy as np
import mxnet as mx
from mxnet import gluon
from mxnet import autograd
from mxnet.gluon import nn
@zhreshold
zhreshold / test.py
Last active December 14, 2017 00:10
Dead lock log
import mxnet as mx
from mxnet import gluon
dataset = gluon.data.vision.MNIST()
loader = gluon.data.DataLoader(dataset, 34, last_batch='rollover', num_workers=8)
ctx = [mx.gpu(i) for i in range(2)]
for e in range(10):
for i, batch in enumerate(loader):
data = gluon.utils.split_and_load(batch[0], ctx_list=ctx)
@zhreshold
zhreshold / tips.md
Created December 8, 2017 21:40
Kill GPU process

try

sudo nvidia-smi --gpu-reset -i 0

or

sudo fuser -v /dev/nvidia*

sudo fuser -k /dev/nvidia*

@zhreshold
zhreshold / launch.sh
Last active December 7, 2017 22:40
train model zoo
git clone https://github.com/zhreshold/mxnet -b model_zoo
cd mxnet/example/gluon
sudo -H pip install -U mxnet-cu90
python image_classification.py --dataseet --train-data ~/efs/users/joshuazz/data/imagenet/record/train_480_q95.rec --val-data ~/efs/users/joshuazz/data/imagenet/record/val_480_q95.rec --batch-size 64 --num-gpus 4 --epochs 120 --lr 0.1 --mode hybrid --model resnet50_v2 --log-interval 200
@zhreshold
zhreshold / mp_debug.py
Created December 5, 2017 23:16
MP loader debug
import argparse
import mxnet as mx
parser = argparse.ArgumentParser('test')
parser.add_argument('-j', '--num-workers', default=4, type=int, dest='num_workers')
args = parser.parse_args()
dataset = mx.gluon.data.vision.MNIST()
loader = mx.gluon.data.DataLoader(dataset, 32, True, num_workers=args.num_workers)
@zhreshold
zhreshold / data.md
Last active November 26, 2017 05:04
PyTorch to Gluon cheatsheet
Class Pytorch MXNet Gluon
Dataset holding arrays torch.utils.data.TensorDataset(data_tensor, label_tensor) gluon.data.ArrayDataset(data_array, label_array)
Data loader torch.utils.data.DataLoader(dataset, batch_size=1, shuffle=False, sampler=None, batch_sampler=None, num_workers=0, collate_fn=<function default_collate>, drop_last=False) gluon.data.DataLoader(dataset, batch_size=None, shuffle=False, sampler=None, last_batch='keep'(discard, rollover), batch_sampler=None, batchify_fn=None, num_workers=0)
Sequentially applied sampler torch.utils.data.sampler.SequentialSampler(data_source) gluon.data.SequentialSampler(length)
Random order sampler torch.utils.data.sampler.RandomSampler(data_source) gluon.data.RandomSampler(length)
@zhreshold
zhreshold / cuda9_2.sh
Last active October 26, 2018 08:24
CUDA 9 and CUDNN 7
sudo apt update
sudo apt-get -y install g++ freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev libgfortran3
wget 'https://developer.nvidia.com/compute/cuda/9.2/Prod2/local_installers/cuda_9.2.148_396.37_linux' -O cuda92.run
wget 'https://developer.nvidia.com/compute/cuda/9.2/Prod2/patches/1/cuda_9.2.148.1_linux' -O patch1.run
sudo sh cuda92.run
sudo sh patch1.run
echo "# CUDA9.2" >> ~/.bashrc
echo "export PATH=/usr/local/cuda/bin:\$PATH" >> ~/.bashrc
echo "export LD_LIBRARY_PATH=/usr/local/cuda/lib64:\$LD_LIBRARY_PATH" >> ~/.bashrc