Skip to content

Instantly share code, notes, and snippets.

View vene's full-sized avatar
🏴
ahoy

Vlad Niculae vene

🏴
ahoy
View GitHub Profile
@vene
vene / nls_solvers.ipynb
Last active April 21, 2024 16:54
Non-negative least squares in Python
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@vene
vene / lbfgs_l1logistic.py
Last active January 14, 2023 20:30
Solving L1-regularized problems with l-bfgs-b
"""l-bfgs-b L1-Logistic Regression solver"""
# Author: Vlad Niculae <vlad@vene.ro>
# Suggested by Mathieu Blondel
from __future__ import division, print_function
import numpy as np
from scipy.optimize import fmin_l_bfgs_b
@vene
vene / weighted_empirical_cov.py
Last active November 22, 2022 09:43
Fitting a gaussian to an empirical weighted measure
"""Fitting a gaussian to an empirical weighted measure"""
# author: vlad niculae <v.niculae@uva.nl>
# license: bsd
import numpy as np
import matplotlib.pyplot as plt
from scipy.special import logsumexp, softmax
@vene
vene / omp.py
Created May 28, 2011 10:23
naive, cholesky and batch Orthogonal Matching Pursuit
# -*- coding: utf-8 -*-
"""
http://www.cs.technion.ac.il/~ronrubin/Publications/KSVD-OMP-v2.pdf
parametrization by error is still in progress
"""
from time import time
import numpy as np
from scipy import linalg
import matplotlib.pyplot as pl
@vene
vene / hyperbolic.py
Last active November 9, 2021 14:06
"""wrapped hyperbolic distributions
following https://arxiv.org/abs/1902.02992
"""
# author: vlad niculae <v.niculae@uva.nl>
# license: bsd 3-clause
import torch
""" trying to understand the determinant of sphere-to-cyl """
import numpy as np
import jax.numpy as jnp
from jax import jacfwd
# map from cylinder to sphere
def phi(zr):
d = zr.shape[0]
@vene
vene / README.txt
Created July 19, 2021 08:25
Experimental config with files & CLI using only OmegaConf
Example input and output.
$ python conf.py seed=42 lr=.1
project: ???
seed: 42
lr: 0.1
epochs: ???
p_drop: 0.5
baseconf: null
@vene
vene / kl.py
Created November 3, 2021 14:43
"""
Approximating the cross-entropy between two Power Sphericals.
Uses a second-order Taylor expansion to approximate E[log(1+z)].
"""
# author: vlad n <vlad@vene.ro>
# license: mit
# documentation: https://hackmd.io/@vladn/SJ93wMevK
"""
Dual p-norms illustrated.
For any norm |.|, the dual norm is defined as |y|_* = max{ <x, y> for |x| <= 1 }.
The figure shows the unit balls of the p-norm, for p = 1.5, 2, and 3.
We compute the dual norm at a dual vector y (short black arrow), rotating
uniformly around the origin over time.
@vene
vene / multi_mixins.py
Last active August 17, 2021 07:39
python multiple inheritance / mixin MRO
class Base:
def say(self, val):
print("base says", val)
class A(Base):
def say(self, val):
print("say A")