Skip to content

Instantly share code, notes, and snippets.

Avatar
🦏
Working from home

Ilya Orson IlyaOrson

🦏
Working from home
View GitHub Profile
View mandelbrot-on-all-accelerators.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@IlyaOrson
IlyaOrson / diffeqflux_vs_jax_results.md
Created October 29, 2021 22:41 — forked from ChrisRackauckas/diffeqflux_vs_jax_results.md
DiffEqFlux.jl (Julia) vs Jax on an Epidemic Model
View diffeqflux_vs_jax_results.md

DiffEqFlux.jl (Julia) vs Jax on an Epidemic Model

The Jax developers optimized a differential equation benchmark in this issue which used DiffEqFlux.jl as a performance baseline. The Julia code from there was updated to include some standard performance tricks and is the benchmark code here. Thus both codes have been optimized by the library developers.

Results

Forward Pass

@IlyaOrson
IlyaOrson / powershell_repl.jl
Created October 20, 2021 18:29
Powershell mode in Julia's REPL
View powershell_repl.jl
# may go to startup file to make it always available
# https://github.com/MasonProtter/ReplMaker.jl#creating-a-repl-mode-at-startup-time
using ReplMaker
function powershell_command(s)
# adapted from https://github.com/JuliaLang/julia/blob/7a3fff1ea76b62b7681dbed5cc2dee43c64d9a51/base/client.jl#L45
args = String.(split(s))
if args[1] == "cd"
new_oldpwd = pwd()
if length(args) > 2
throw(ArgumentError("cd method only takes one argument"))
View A hack for showing LaTeX formulas in GitHub markdown.md

Problem

A lot of GitHub projects need to have pretty math formulas in READMEs, wikis or other markdown pages. The desired approach would be to just write inline LaTeX-style formulas like this:

$e^{i \pi} = -1$

Unfortunately, GitHub does not support inline formulas. The issue is tracked here.

Investigation

@IlyaOrson
IlyaOrson / crp.jl
Created March 4, 2020 02:38
Chinese restaurant process
View crp.jl
"""
Generate table assignments for 'n' customers,
according to a Chinese Restaurant Process with dispersion parameter 'α'
Returns an array of integer table assignments
"""
function crp(n, α)
@assert n > 0
table_assignments = zeros(Int, n)
table_assignments[1] = 1 # first customer sits at table 1
@IlyaOrson
IlyaOrson / .block
Created February 7, 2019 23:26 — forked from mbostock/.block
Municipalities of Mexico II
View .block
border: no
height: 600
license: gpl-3.0
View local.py
"""Provides methods around syncing and usage of AWS s3 buckets as local caches rather than individually
downloading every file"""
import os
import shutil
import boto3 as boto
import multiprocessing
import copy
import hashlib
@IlyaOrson
IlyaOrson / setup_julia.sh
Created December 31, 2018 19:14 — forked from jiahao/setup_julia.sh
Setting up Julia on an Amazon EC2 instance
View setup_julia.sh
#Set up data partition
sudo mkdir /data
sudo chmod 777 /data
sudo "echo /dev/xvdb /data ext4 rw,user,exec,comment=cloudconfig 0 2 >> /etc/fstab"
sudo mount /data
#Install build environment
sudo sed -i "s/enabled=0/enabled=1" /etc/yum.repos.d/epel.epo
sudo yum -y update
sudo yum -y upgrade
@IlyaOrson
IlyaOrson / pg-pong.py
Created October 8, 2017 00:57 — forked from karpathy/pg-pong.py
Training a Neural Network ATARI Pong agent with Policy Gradients from raw pixels
View pg-pong.py
""" Trains an agent with (stochastic) Policy Gradients on Pong. Uses OpenAI Gym. """
import numpy as np
import cPickle as pickle
import gym
# hyperparameters
H = 200 # number of hidden layer neurons
batch_size = 10 # every how many episodes to do a param update?
learning_rate = 1e-4
gamma = 0.99 # discount factor for reward
@IlyaOrson
IlyaOrson / edmonds.py
Created July 17, 2017 00:02 — forked from rogerhub/edmonds.py
An implementation of Edmond's Blossom Algorithm.
View edmonds.py
#!/usr/bin/env python
class Vertex:
def __init__(self, value):
self.value = value
self.edges = {}
def degree(self):
return len(self.edges)
def __str__(self):
return str(self.value)