feat: Initial Commit
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
from config import (
|
||||
DEVICE,
|
||||
CHECKPOINT_DIR,
|
||||
)
|
||||
|
||||
from data.tokenizer import Tokenizer
|
||||
from model.builder_model import BuilderModel
|
||||
from utils.checkpoint import latest_checkpoint, load_checkpoint
|
||||
|
||||
|
||||
def main():
|
||||
if DEVICE == "cuda":
|
||||
print("Cuda Mode: true")
|
||||
else:
|
||||
print("Cuda Mode: false")
|
||||
|
||||
print("Loading tokenizer...")
|
||||
|
||||
tokenizer = Tokenizer()
|
||||
tokenizer.load("data")
|
||||
|
||||
print("Loading model...")
|
||||
|
||||
model = BuilderModel(tokenizer).to(DEVICE)
|
||||
|
||||
checkpoint = latest_checkpoint(CHECKPOINT_DIR)
|
||||
|
||||
if checkpoint is None:
|
||||
print("No checkpoint found!")
|
||||
return
|
||||
|
||||
print(f"Loading checkpoint: {checkpoint}")
|
||||
|
||||
load_checkpoint(
|
||||
checkpoint,
|
||||
model,
|
||||
optimizer=None,
|
||||
map_location=DEVICE,
|
||||
)
|
||||
|
||||
model.eval()
|
||||
|
||||
print("\nMinecraft AI Builder")
|
||||
print("Type 'exit' to quit.\n")
|
||||
|
||||
while True:
|
||||
|
||||
prompt = input("> ")
|
||||
|
||||
if prompt.lower() in ("exit", "quit"):
|
||||
break
|
||||
|
||||
blocks, token_count = model.generate(prompt)
|
||||
|
||||
print("\nGenerated Structure:\n")
|
||||
|
||||
if len(blocks) == 0:
|
||||
print("(No blocks generated)")
|
||||
continue
|
||||
|
||||
for block in blocks:
|
||||
print(
|
||||
f"{block['block']:20}"
|
||||
f" x={block['x']:4}"
|
||||
f" y={block['y']:4}"
|
||||
f" z={block['z']:4}"
|
||||
)
|
||||
|
||||
print(f"\nTotal blocks: {len(blocks)}")
|
||||
print(f"Generated tokens: {token_count}\n")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Reference in New Issue
Block a user