feat: Initial Commit
This commit is contained in:
@@ -0,0 +1,123 @@
|
||||
"""
|
||||
config.py
|
||||
|
||||
Global configuration for the Minecraft AI Builder.
|
||||
"""
|
||||
|
||||
from pathlib import Path
|
||||
import torch
|
||||
|
||||
# ==========================================================
|
||||
# Project Paths
|
||||
# ==========================================================
|
||||
|
||||
ROOT_DIR = Path(__file__).parent
|
||||
|
||||
DATASET_PATH = ROOT_DIR / "data" / "dataset.json"
|
||||
CHECKPOINT_DIR = ROOT_DIR / "checkpoints"
|
||||
|
||||
CHECKPOINT_DIR.mkdir(exist_ok=True)
|
||||
|
||||
# ==========================================================
|
||||
# Model
|
||||
# ==========================================================
|
||||
|
||||
EMBED_DIM = 512
|
||||
NUM_HEADS = 8
|
||||
NUM_ENCODER_LAYERS = 6
|
||||
NUM_DECODER_LAYERS = 6
|
||||
FEED_FORWARD_DIM = 2048
|
||||
DROPOUT = 0.1
|
||||
|
||||
# Maximum lengths
|
||||
|
||||
MAX_PROMPT_LENGTH = 64
|
||||
MAX_OUTPUT_LENGTH = 4096
|
||||
|
||||
# ==========================================================
|
||||
# Vocabulary
|
||||
# ==========================================================
|
||||
|
||||
# Filled automatically after building vocab
|
||||
TEXT_VOCAB_SIZE = None
|
||||
OUTPUT_VOCAB_SIZE = None
|
||||
|
||||
# Special Tokens
|
||||
PAD_TOKEN = "<PAD>"
|
||||
START_TOKEN = "<START>"
|
||||
END_TOKEN = "<END>"
|
||||
UNK_TOKEN = "<UNK>"
|
||||
|
||||
SPECIAL_TOKENS = [
|
||||
PAD_TOKEN,
|
||||
START_TOKEN,
|
||||
END_TOKEN,
|
||||
UNK_TOKEN
|
||||
]
|
||||
|
||||
# ==========================================================
|
||||
# Training
|
||||
# ==========================================================
|
||||
|
||||
BATCH_SIZE = 8
|
||||
LEARNING_RATE = 1e-4
|
||||
|
||||
EPOCHS = 100
|
||||
|
||||
WEIGHT_DECAY = 1e-5
|
||||
|
||||
DEVICE = "cuda" if torch.cuda.is_available() else "cpu"
|
||||
|
||||
# ==========================================================
|
||||
# Generation
|
||||
# ==========================================================
|
||||
|
||||
TEMPERATURE = 1.0
|
||||
|
||||
TOP_K = 40
|
||||
|
||||
TOP_P = 0.95
|
||||
|
||||
# ==========================================================
|
||||
# Random Seed
|
||||
# ==========================================================
|
||||
|
||||
RANDOM_SEED = 42
|
||||
|
||||
# ==========================================================
|
||||
# Coordinate Limits
|
||||
# ==========================================================
|
||||
|
||||
MIN_COORD = 0
|
||||
MAX_COORD = 128
|
||||
|
||||
# ==========================================================
|
||||
# Supported Minecraft Blocks
|
||||
# ==========================================================
|
||||
|
||||
SUPPORTED_BLOCKS = [
|
||||
"minecraft:stone",
|
||||
|
||||
"minecraft:oak_planks",
|
||||
"minecraft:spruce_planks",
|
||||
"minecraft:birch_planks",
|
||||
"minecraft:jungle_planks",
|
||||
"minecraft:acacia_planks",
|
||||
"minecraft:dark_oak_planks",
|
||||
"minecraft:mangrove_planks",
|
||||
"minecraft:cherry_planks",
|
||||
"minecraft:bamboo_planks",
|
||||
"minecraft:crimson_planks",
|
||||
"minecraft:warped_planks",
|
||||
|
||||
"minecraft:oak_log",
|
||||
"minecraft:spruce_log",
|
||||
"minecraft:birch_log",
|
||||
"minecraft:jungle_log",
|
||||
"minecraft:acacia_log",
|
||||
"minecraft:dark_oak_log",
|
||||
"minecraft:mangrove_log",
|
||||
"minecraft:cherry_log",
|
||||
"minecraft:crimson_stem",
|
||||
"minecraft:warped_stem",
|
||||
]
|
||||
Reference in New Issue
Block a user