Skip to content

Instantly share code, notes, and snippets.

View yoyolicoris's full-sized avatar
🐎
うまぴょい!

YCY yoyolicoris

🐎
うまぴょい!
View GitHub Profile
🌞 Morning 206 commits β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–Šβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘ 32.2%
πŸŒ† Daytime 235 commits β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‹β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘ 36.7%
πŸŒƒ Evening 90 commits β–ˆβ–ˆβ–‰β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘ 14.1%
πŸŒ™ Night 109 commits β–ˆβ–ˆβ–ˆβ–Œβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘ 17.0%
@yoyolicoris
yoyolicoris / differentiable_lfilter.py
Last active August 25, 2022 12:59
This lfilter can propogate gradient to filter coefficients.
import torch
import torch.nn as nn
import torch.nn.functional as F
from torchaudio.functional import lfilter as torch_lfilter
from torch.autograd import Function, gradcheck
class lfilter(Function):
@staticmethod
import numpy as np
import networkx as nx
from scipy.spatial import Delaunay
def W(x):
return (x + np.pi) % (2 * np.pi) - np.pi
def mcf_sparse(x, y, psi, capacity=None):
points = np.vstack((x, y)).T
num_points = points.shape[0]
import numpy as np
import networkx as nx
def W(x):
return (x + np.pi) % (2 * np.pi) - np.pi
def mcf(x: np.ndarray, capacity=None):
assert x.ndim == 2, "Input x should be a 2d array!"
# construct index for each node