Projects

A collection of my notable projects in AI, reinforcement learning, and open source development.

ViZDoom

Research

Contributed to ViZDoom, a platform for AI research on the classic video game of Doom. Proposed & implemented the Python typing support, enabling IDEs to recognize & provide hinting for ViZDoom classes, functions, enums, etc. The tool for building Python type stubs programmically is made available as both a utility script and part of build process.

RL CV Python C++ CMake Doom

SegDoom

Research

MSc thesis: Training Reinforcement Learning agents on Doom with Semantic Segmentation. This project uses novel heatmap analysis methods and iteratively trained two generation of RL agents by creating the Semantic Segmentation dataset with the best explorer agent statistically. Investigated the different charateristics of each input type (RGB, SS, SS+RGB).

RL Semantic Segmentation Python Doom

Stable Baselines3

Research

Contributed to Stable Baselines3, a set of reliable implementations of Reinforcement Learning algorithms in PyTorch. Currently proposing to uniform buffer dtype decision logic and the overall interface of buffer classes.

RL CV Python PyTorch Gym Atari

sb3-extra-buffers

Open Source

Created sb3-extra-buffers, a library that adds compressed rollout/replay buffers to Stable Baselines3. Featured in the official SB3 documentation, it provides 90%+ memory savings for image-based observations using compression algorithms like ZStandard, gzip, LZ4, and RLE.

Memory Optimization Python PyTorch NumPy

gutenberg-updated

Open Source

Maintained a Windows-friendly fork of the Standardized Project Gutenberg Corpus (SPGC) generation pipeline. Fixed numerous bugs including UTF-8 decoding errors, missing NLTK downloads, and bookshelves information fetching issues. Added parallelized text processing, Windows support with cwRsync, and additional customization options for corpus generation.

NLP Python Data Processing NLTK Corpus