Skip to content

Instantly share code, notes, and snippets.

@danoneata
danoneata / hodgp.py
Last active April 2, 2018 10:43
Python implemetation of Origami patterns
from functools import singledispatch
class Document:
pass
class Paragraph(Document):
def __init__(self, text):
self.text = text
@danoneata
danoneata / deep-learning-ai.md
Last active November 28, 2017 13:28
Deep Learning AI #1
@danoneata
danoneata / Sudoku.hs
Last active August 20, 2022 01:27
Applicative-based Sudoku solver
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
import Control.Applicative
import Data.Char
import Data.List (intersperse)
import Data.Monoid hiding (All, Any)
import Data.Foldable hiding (all, any)
import Prelude hiding (all, any)
@danoneata
danoneata / sudoku.py
Created June 14, 2017 09:20
Skeleton code for Sudoku solver in Python
from typing import (
List,
TypeVar,
)
# Type aliases
A = TypeVar('A')
Digit = int
Matrix = List[List[A]]
Grid = Matrix[Digit]
@danoneata
danoneata / Components.scala
Created March 3, 2017 09:57
Digital circuit simulator
/**
* Created by eurus on 28/02/2017.
*/
package components
import collection.immutable.Queue
import ActionType._
sealed trait SignalValue
object `0` extends SignalValue {
@danoneata
danoneata / online_doc2vec.py
Created November 15, 2016 08:54
Online learning for Doc2Vec
import logging
from gensim.models.doc2vec import (
Doc2Vec,
TaggedDocument,
)
logging.basicConfig(
format='%(asctime)s : %(threadName)s : %(levelname)s : %(message)s',
level=logging.DEBUG,
@danoneata
danoneata / descs_to_sstats.py
Created April 12, 2016 21:45
Computing sufficient statistics for Fisher vectors
def descriptors_to_sufficient_statistics(xx, gmm, **kwargs):
# yael assumes that the data is in C-contiguous format.
xx = np.ascontiguousarray(np.atleast_2d(xx))
N = xx.shape[0]
K = gmm.k
D = gmm.d
# Compute posterior probabilities using yael.
Q = gmm_predict_proba(xx, gmm) # NxK
@danoneata
danoneata / visitor_binary_operation.py
Last active November 20, 2015 12:53
Binary methods using the visitor pattern
class Expr(object):
def accept(self, visitor):
method_name = 'visit_{}'.format(self.__class__.__name__.lower())
visit = getattr(visitor, method_name)
return visit(self)
class Int(Expr):
def __init__(self, value):
@danoneata
danoneata / visitor.py
Created November 19, 2015 23:41
Visitor pattern in Python
class Expr(object):
def accept(self, visitor):
method_name = 'visit_{}'.format(self.__class__.__name__.lower())
visit = getattr(visitor, method_name)
return visit(self)
class Int(Expr):
def __init__(self, value):
self.value = value
@danoneata
danoneata / fvecs_read.py
Last active January 19, 2024 20:24
Reading fvecs format in Python
import numpy as np
def fvecs_read(filename, c_contiguous=True):
fv = np.fromfile(filename, dtype=np.float32)
if fv.size == 0:
return np.zeros((0, 0))
dim = fv.view(np.int32)[0]
assert dim > 0
fv = fv.reshape(-1, 1 + dim)