Skip to content

Instantly share code, notes, and snippets.

View wassname's full-sized avatar
🙃

wassname (Michael J Clark) wassname

🙃
View GitHub Profile
@wassname
wassname / rich_tqdm.py
Created January 22, 2021 13:01
rich tqdm
from rich.progress import (
ProgressColumn,
BarColumn,
DownloadColumn,
TextColumn,
TransferSpeedColumn,
TimeRemainingColumn,
Progress,
TaskID,
TimeElapsedColumn,
@wassname
wassname / leftKNN.py
Last active January 15, 2021 07:50
Causal k nearest neighbors (KNN) that only looks back
# %%
import numpy as np
from functools import partial
from pykdtree.kdtree import KDTree
class LeftKDTree(KDTree):
"""
KNN that only looks left.
@wassname
wassname / stablenormal.py
Created November 1, 2020 03:41
pytorch stable normal using log_scale
import math
import torch
from torch.distributions import Normal
from torch.distributions.utils import broadcast_all, _standard_normal
from torch.distributions.kl import register_kl
class StableNormal(Normal):
"""Modified version that uses log_scale for stability of grad."""
def __init__(self, loc, log_scale):
@wassname
wassname / exercise.md
Created September 28, 2020 07:40
exercise.md

Exercise

Description:

  1. first
  2. second
@wassname
wassname / aws_keepassxc.md
Created September 1, 2020 06:04
How to use keepassxc and browser integration with aws console sign's

For your IAM user you get a csv of credentials like this

User name,Password,Access key ID,Secret access key,Console login link
USERNAME,PASSWORD,ACCESS_KEY,SECRET_KEY,https://0123456.signin.aws.amazon.com/console

If your region is sydney (ap-southeast-2) in keepass you enter:

Title: USERNAME/COMPANY

@wassname
wassname / azureml_py36_pytorch_conda.yaml
Created July 3, 2020 02:22
azure data science vm packages azureml_py36_pytorch
name: azureml_py36_pytorch
channels:
- pytorch
- conda-forge
- anaconda
- defaults
dependencies:
- _libgcc_mutex=0.1=main
- _py-xgboost-mutex=2.0=cpu_0
- _pytorch_select=0.2=gpu_0
@wassname
wassname / times.py
Created April 26, 2020 04:17
date utils
def row2date(row, tz="Australia/Perth"):
"""Parse time columns."""
return pd.Timestamp(
year=int(row.Year),
month=int(row.Month),
day=int(row.Day),
hour=int(row.Hour),
minute=int(row.Minute),
second=int(row.Seconds),
@wassname
wassname / smooth.py
Last active April 26, 2020 03:37
utils for smoothing or generating smooth noise
def smooth_noise(shp, dim=1, smoothing=30):
"""
Generate smoothed random noise that looks like a random walk.
- shp: shape of noise
- dim: dimension to smooth along
- smooth_steps: smoothing steps
@wassname
wassname / radial.py
Created April 26, 2020 03:28
machine learning numpy/pytorch utils for circular or radial variables
from torch import nn
import torch
import torch.nn.functional as F
import numpy as np
def radneg2radpos(f):
"""convert radians in range [-pi,pi] to [0,2*pi]"""
return np.where(f < 0, f + np.pi * 2, f)
@wassname
wassname / pandas_hash.py
Last active March 20, 2020 00:11
Hash pandas and numpy objects in a way that persists between interpreaters (for caching)
import pandas as pd
import numpy as np
import hashlib
import json
def default(o):
"""Sets are unordered so are no good for hasing"""
if isinstance(o, set):
try:
o = sorted(o)