Skip to content

Instantly share code, notes, and snippets.

@nagataka
nagataka / PrestoJDBC.java
Created April 12, 2017 06:53
Connect to Presto on EMR via JDBC
import java.net.URI;
import java.net.URISyntaxException;
import java.sql.*;
public class PrestoJDBC {
// JDBC driver name and database URL
static final String JDBC_DRIVER = "com.facebook.presto.jdbc.PrestoDriver";
//static final String JDBC_DRIVER = "com.teradata.presto.jdbc42.Driver";
static final String DB_URL = "jdbc:presto://ec2-xx-xx-xxx-xxx.ap-northeast-1.compute.amazonaws.com:8889/hive/default";
@nagataka
nagataka / epsilon_greedy.py
Last active May 15, 2021 11:39
Epsilon-Greedy written in python
import random
class EpsilonGreedy():
def __init__(self, epsilon, counts, values):
self.epsilon = epsilon # probability of explore
self.counts = counts # number of pulls for each arms
self.values = values # average amount of reward we've gotten from each arms
return
def initialize(self, n_arms):
@nagataka
nagataka / math_in_english.md
Created February 28, 2021 15:06
数学表現 in English
@nagataka
nagataka / study_lstm.md
Last active February 6, 2021 01:24
Studying LSTM
@nagataka
nagataka / blocking_maze_env01.py
Last active January 15, 2021 05:33
Blocking Maze for OpenAI Gym
# OpenAI gym custom environment mimicking Blocking Maze
# See Sutton and Barto "Reinforcement Learning an Introduction"
# Example 8.2: Blocking Maze
from enum import Enum
import sys
import copy
import gym
from gym import error, spaces, utils
from gym.utils import seeding
@nagataka
nagataka / settings.json
Created September 4, 2020 22:55
VS Code settings.json
{
"python.formatting.provider": "black",
"python.linting.pylintEnabled": false,
"python.linting.flake8Enabled": true,
"python.linting.flake8Args": [
"--ignore=E501,W503"
],
"python.sortImports.args": [
"-m 3"
],
@nagataka
nagataka / kelly_criterion.py
Created May 11, 2020 05:34
Experiment on coin flipping game
import random
import numpy as np
np.random.seed(0)
def kerri(p, b):
"""https://en.wikipedia.org/wiki/Kelly_criterion
"""
return (p*(b+1)-1 )/b
N = 300
@nagataka
nagataka / minimal_rllib.py
Created April 21, 2020 22:15
Initial example of using RLlib
import gym
import ray
from ray.rllib.agents.ppo import PPOTrainer, DEFAULT_CONFIG
import pprint as pp
#tune.run(PPOTrainer, config={"env": "Breakout-v0", "use_pytorch": True})
ray.init(num_gpus=1, ignore_reinit_error=True, log_to_driver=False)
# https://github.com/ray-project/ray/blob/master/rllib/agents/ppo/ppo.py#L15
@nagataka
nagataka / Datasets.md
Last active April 15, 2020 17:49
List of publicly available datasets
@nagataka
nagataka / gym_template.py
Last active April 10, 2020 01:13
A template to start a project using OpenAI gym with PyTorch
"""A template to implement RL agent with OpenAI Gym
Usage: python ./gym_template.py --env=CarRacing-v0 --algo=policy_gradient --epochs 1
implementation of algorithms need to be ./algorithms/ directory, or change the following line to your env
> algo = import_module('algorithms.'+args.algo)
"""
import argparse
import numpy as np