1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-MSC

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
HardWay.md 6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 27.11.2024 20:26 a7d8f91

Step-by-Step: Details

Предварительная обработка повторов
cd preprocess

Разбор информации о повторах

python parse_replay_info.py
  --replays_paths $REPLAY_FOLDER_PATH_1$;$REPLAY_FOLDER_PATH_2$;...;$REPLAY_FOLDER_PATH_N$
  --save_path $SAVE_PATH$
  --n_instance [N_PROCESSES]
  --batch_size [BATCH_SIZE]

Код для чтения обработанных файлов:

import json
from google.protobuf.json_format import Parse
from s2clientprotocol import sc2api_pb2 as sc_pb

with open(REPLAY_INFO_PATH) as f:
    info = json.load(f)
REPLAY_PATH = info['path']
REPLAY_INFO_PROTO = Parse(info['info'], sc_pb.ResponseReplayInfo())

ResponseReplayInfo определён здесь.

Фильтрация повторов

python preprocess.py
  --infos_path $REPLAY_INFO_PATH$
  --save_path $SAVE_PATH$
  --min_duration [MIN_DURATION]
  --max_duration [MAX_DURATION]
  --min_apm [MIN_APM]
  --min_mmr [MIN_MMR]

Формат обработанных файлов [JSON]:

[[REPLAY_PATH_1, REPLAY_INFO_PATH_1],
[REPLAY_PATH_2, REPLAY_INFO_PATH_2],
...,
[REPLAY_PATH_N, REPLAY_INFO_PATH_N]]

Разбор повторов
cd parse_replay

Извлечение действий

python extract_actions.py
  --hq_replay_set $PREFILTERED_REPLAY_LIST$
  --save_path $SAVE_PATH$
  --n_instance [N_PROCESSES]
  --batch_size [BATCH_SIZE]
  --step_mul [STEP_SIZE]
  --width [WORLD_WIDTH]
  --map_size [MAP_SIZE]

Код для чтения обработанных файлов:

import json
from google.protobuf.json_format import Parse
from s2clientprotocol import sc2api_pb2 as sc_pb

with open(ACTION_PATH) as f:
    actions = json.load(f)

for actions_per_frame in actions:
    for action_str in actions_per_frame:
        action = Parse(action_str, sc_pb.Action())

Action определён здесь.

Выборка действий

python sample_actions.py
  --hq_replay_set $PREFILTERED_REPLAY_LIST$
  --parsed_replays $PARSED_REPLAYS$
  --infos_path $REPLAY_INFOS$
  --step_mul [STEP_SIZE]
  --skip [SKIP_FRAMES]

Формат обработанных файлов [JSON]

[FRAME_ID_1, FRAME_ID_2, ..., FRAME_ID_N]

Извлечение выборочных наблюдений

python parse_replay.py
  --hq_replay_set $PREFILTERED_REPLAY_LIST$
  --save_path $SAVE_PATH$
  --n_instance [N_PROCESSES]
  --batch_size [BATCH_SIZE]
  --width [WORLD_WIDTH]
  --map_size [MAP_SIZE]

Код для чтения GlobalInfos файлов:

import json
from google.protobuf.json_format import Parse
from s2clientprotocol import sc2api_pb2 as sc_pb

with open(GLOBAL_INFO_PATH) as f:
    global_info = json.load(f)
GAME_INFO = Parse(global_info['game_info'], sc_pb.ResponseGameInfo())
DATA_RAW  = Parse(global_info['data_raw'], sc_pb.ResponseData())

ResponseGameInfo определён здесь, а ResponseDataздесь.

Код для чтения SampledObservations файлов

import stream
from s2clientprotocol import sc2api_pb2 as sc_pb
OBS =  [obs for obs in stream.parse(SAMPLED_OBSERVATION_PATH), sc_pb.ResponseObservation]

ResponseObsevation определён здесь.

Извлечение глобальных признаков

python replay2global_features.py
  --hq_replay_set $PREFILTERED_REPLAY_LIST$
  --parsed_replay_path: $PARSED_REPLAYS$
  --step_mul [STEP_SIZE]

Формат обработанных файлов [JSON]:

[state_1, state_2, ..., state_N]
state_t = {...} [READ THE REST OF THE CODE]
``` ### Построение датасета
```sh
cd extract_features

Вычисление статистики

python replay_stat.py
    --hq_replay_path $PREFILTERED_REPLAY_FOLDER$
    --parsed_replay_path $PARSED_REPLAYS$
    --race [RACE]

Файлы статистики с постфиксом human.json доступны для чтения человеком.

Извлечение признаков

  • Глобальный вектор признаков
    python global_feature_vector.py
        --hq_replay_set $PREFILTERED_REPLAY_LIST$
        --parsed_replay_path: $PARSED_REPLAYS$
  • Пространственный тензор признаков
    python spatial_feature_tensor.py
        --hq_replay_set $PREFILTERED_REPLAY_LIST$
        --parsed_replay_path: $PARSED_RPLAYS$
        --step_mul [STEP_SIZE]
        --n_workers [#PROCESSES]

Разделение на обучающий, проверочный и тестовый наборы

python split.py
  --hq_replay_set $PREFILTERED_REPLAY_LIST$
  --root $ROOT_PARSED_REPLAYS$
  --parsed_replay_path $PARSED_REPLAYS$
  --save_path $SAVE_PATH$
  --ratio [TRAIN:VAL:TEST]
  --seed [RANDOM_SEED]
  • Формат обработанных файлов [JSON]:

    [{RACE_1: [{"global__path": GLOBAL_FEATURE_PATH,
                "spatial_path_S": SPATIAL_FEATURE_PATH_S,
                "spatial_path_G": SPATIAL_FEATURE_PATH_G}, ...],
      RACE_2: [{...}, ...]}, {...}, ...]
  • ПРИМЕЧАНИЕ: Предварительно разделённые обучающий, проверочный и тестовый наборы доступны по ссылке Здесь.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-MSC.git
git@api.gitlife.ru:oschina-mirror/mirrors-MSC.git
oschina-mirror
mirrors-MSC
mirrors-MSC
master