Skip to content

Instantly share code, notes, and snippets.

View ijkilchenko's full-sized avatar
👽

Alex Ilchenko ijkilchenko

👽
  • @meta, ex-google
  • San Francisco, CA
View GitHub Profile
"""
Minimal character-level Vanilla RNN model. Written by Andrej Karpathy (@karpathy)
BSD License
"""
import numpy as np
# data I/O
data = open('input.txt', 'r').read() # should be simple plain text file
chars = list(set(data))
data_size, vocab_size = len(data), len(chars)
@ijkilchenko
ijkilchenko / bananagrams_completer.py
Last active March 7, 2022 10:39
bananagrams_completer
from itertools import combinations
from collections import defaultdict, Counter
def to_multiset(word):
return frozenset(Counter(word).items())
def find_longer_words(dictionary, words):
for num_words in range(2, min(len(words), 10)):
import keyboard
import time
if __name__ == '__main__':
frames = [0]
def forward():
global last_frame_index
while True:
if not is_paused:
import random
from math import sqrt, floor
"""
Guessing game. When playing, the game picks a random value from i to j
and each time a guess g is made, g is added to the previous running cost
of playing this game.
"""
cache = {}
class Game:
from math import log10, floor
def r(num):
num_digits = floor(log10(num) + 1)
return num//10 + (num % 10)*(10**(num_digits-1))
def does_a_divide_b(a, b):
if b % a == 0:
return True
else:
from sklearn.datasets import make_classification
from sklearn.cross_validation import train_test_split
from itertools import product
import numpy as np
import pandas as pd
class NeuralNetwork:
g = np.vectorize(lambda z: 1 / (1 + np.exp(-z)))
log = np.vectorize(lambda x: np.log(x))
syntax enable
colorscheme monokai
set number
set ruler
set swapfile
set dir=~/tmp
set tabstop=4
@ijkilchenko
ijkilchenko / exchange_rates.py
Last active April 23, 2023 08:19
Python script which makes a matrix of exchange rates (USD to EUR, etc.), deletes some entries, and then fills-in the gaps (as much as possible)
import random
import copy
def make_exchange_matrix(N=3, seed=2017):
'''In this function, we make an exchange matrix
for testing purposes by randomly picking exchange
rates from the first currency to all the other
currencies. '''
import random
import numpy as np
#from cvxpy import *
def p(M):
"""Method to pretty print our matrix. """
for i in range(len(M)):
print(' '.join([str(num) for num in M[i]]))
def generate_M(N=3, max_touches=2):
@ijkilchenko
ijkilchenko / heap.py
Last active June 16, 2016 04:19
Heap which supports insertion in O(log(n)) time and finding the max (the root node) in O(1). Also, the tree of the heap is always as short as possible -- what I call a balanced heap.
import random
class Node():
def __init__(self, data=None):
self.data = data
self.parent = None
self.left = None
self.right = None
self.load = 1 # Assumed to be a leaf when initialized.