Instantly share code, notes, and snippets.

• Sort options
Last active May 18, 2020
View osgb_50_numpy.py
 # Converts Ordnance Survey Terrian 50 United Kingdom data to a simple NumPy array of terrain altitudes # The original OS data is freely downloadable from: https://www.ordnancesurvey.co.uk/business-government/products/terrain-50 # Directly converts the zipped terrain file to a NPZ file # Resulting array is a (24600, 13200) array of float64 # Requirements: # * pycrs # * lxml import os, sys
Last active Mar 20, 2020
View compute_itr.py
 import numpy as np from sklearn.metrics import confusion_matrix from collections import defaultdict def itr(confusion_matrix, timings, eps=1e-8): """Take a confusion matrix of the form (actual) a b c d (intended) a 10 0 1 9
Created Jul 18, 2019
Matplotlib draw connections between two sets of 2D points efficiently
View plot_connected_points.py
 from matplotlib.collections import LineCollection def plot_connected_pairs(a,b,*args,**kwargs): """ Draw lines between two arrays of 2D points. a and b must be the same shape, both [N,2] arrays to be plotted. Parameters: ----------- a: [N,2] array of points to plot from
Last active Jul 10, 2019
Bivariate colormap in matplotlib
View bivariate_matplotlib.py
 # bivariate colormaps in matplotlib import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt ## Bivariate colormapping from scipy.interpolate import RegularGridInterpolator
Created Jul 8, 2019
Determine source of function calls in Python
View trace_frame.py
 import inspect class tracked: """Class to remember the execution frame that a function call was made in.""" def __init__(self, fn): self.fn = fn
Created Jun 16, 2019
View differentiable_sort.py
 import numpy as np def softmax(a,b): return np.log(np.exp(a)+np.exp(b)) def softmin(a,b): return -softmax(-a, -b) def softrank(a, b): return softmin(a,b), softmax(a,b)
Created Jun 16, 2019
View tqdm_train_loop.py
 from tqdm.auto import trange, tqdm def tqdm_train_loop(train_fn, num_epochs, train_loader, val_fn=None): # each epoch with trange(num_epochs, unit="epoch") as epoch_t: for epoch in epoch_t: # each batch with tqdm(train_loader, leave=False, unit='batch', postfix='') as batch_t: for batch_idx, (features, targets) in enumerate(batch_t): cost = train_fn(features, labels) batch_t.postfix = f"cost {cost.item():.2f}"
Created Mar 17, 2019
Animate the "flower" pattern of primes, using the Hungarian algorithm to ensure smooth interpolation
View prime_dance.py
 import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt from collections import defaultdict import colorsys import munkres # provides Hungarian algorithm import scipy.spatial.distance as dist import functools import os
Created Mar 8, 2019
View dropout_test.ipynb 