Skip to content

Instantly share code, notes, and snippets.

View kimbring2's full-sized avatar

Dohyeong Kim kimbring2

View GitHub Profile
@kimbring2
kimbring2 / trajectory.py
Last active October 25, 2020 04:12
Get build information from replay of AlphaStar
from pysc2.lib import features, point, actions, units
from pysc2.env.environment import TimeStep, StepType
from pysc2.env import sc2_env, available_actions_printer
from pysc2 import run_configs
from s2clientprotocol import sc2api_pb2 as sc_pb
import importlib
import random
import sys
import glob
@kimbring2
kimbring2 / SelectedUnitsHead.py
Created October 25, 2020 02:57
Selected Units Head of AlphaStar
import tensorflow as tf
import numpy as np
class SelectedUnitsHead(tf.keras.layers.Layer):
def __init__(self):
super(SelectedUnitsHead, self).__init__()
self.model = tf.keras.layers.Dense(256, activation='relu')
@kimbring2
kimbring2 / ActionTypeHead.py
Last active October 25, 2020 03:02
ActionTypeHead of AlphaStar
import tensorflow as tf
import numpy as np
class ResBlock_MLP(tf.keras.layers.Layer):
def __init__(self, output_dim, **kwargs):
self.shortcut = tf.keras.layers.Dense(256, activation='relu')
self.mlp_0 = tf.keras.layers.Dense(256, activation='relu')
self.mlp_1 = tf.keras.layers.Dense(256, activation='relu')
@kimbring2
kimbring2 / agent_head.py
Last active October 25, 2020 03:01
This code is for action selection of AlphaStar
from pysc2.env import sc2_env, available_actions_printer
from pysc2.lib import actions, features, units
from utils import get_entity_obs, get_upgrade_obs, get_gameloop_obs, get_race_onehot, get_agent_statistics
from network import Core, ActionTypeHead, SelectedUnitsHead, TargetUnitHead, LocationHead
from absl import flags
FLAGS = flags.FLAGS
FLAGS(sys.argv)
@kimbring2
kimbring2 / core.py
Created October 2, 2020 10:10
Core network for AlphaStar
from pysc2.env import sc2_env, available_actions_printer
from pysc2.lib import actions, features, units
import sys
import units_new
import upgrades_new
from utils import get_entity_obs, get_upgrade_obs, get_gameloop_obs, get_race_onehot, get_agent_statistics
from network import EntityEncoder, ScalarEncoder, SpatialEncoder, Core
map_name = 'Simple128'
@kimbring2
kimbring2 / agent_encoder.py
Last active October 24, 2020 14:49
PySC2 observation
from pysc2.env import sc2_env, available_actions_printer
from pysc2.lib import actions, features, units
from utils import get_entity_obs, get_upgrade_obs, get_gameloop_obs, get_race_onehot, get_agent_statistics
from network import EntityEncoder, ScalarEncoder, SpatialEncoder, Core
from absl import flags
FLAGS = flags.FLAGS
FLAGS(sys.argv)
@kimbring2
kimbring2 / spatial_encoder_input.py
Last active October 24, 2020 14:50
Get spatial observation for spatial encoder of AlphaStar
import numpy as np
def get_spatial_obs(feature_screen):
spatial_input = np.reshape(feature_screen, [1,128,128,27])
return spatial_input
@kimbring2
kimbring2 / scalar_encoder_input.py
Last active October 24, 2020 14:50
Get scalar observation for scalar encoder of AlphaStar
from pysc2.lib import actions, features, units
import numpy as np
import upgrades_new
import math
def get_agent_statistics(score_by_category):
score_by_category = score_by_category.flatten()
agent_statistics = np.log(score_by_category + 1)
@kimbring2
kimbring2 / get_entity_obs.py
Last active October 2, 2020 00:42
Get entity observation for entity encoder of AlphaStar
from pysc2.lib import actions, features, units
import numpy as np
import units_new
import math
def get_entity_obs(feature_units):
unit_type = []
alliance = []
current_health = []
current_shields = []
@kimbring2
kimbring2 / gist:b8522f0daabb17a0d4e87436779ad26c
Last active October 24, 2020 14:51
ActorLoop class of AlphaStar
from multiagent import Agent
from pysc2.env import sc2_env, available_actions_printer
def get_supervised_agent(race):
supervissed_agent = Agent('Terran', None)
return supervissed_agent
class ActorLoop: