Welcome to MSPV, an open-source repository providing code of the implementation of the example from our scientific paper:
MSPV: A Modular Simulation-to-Real Pipeline for Cost-Effective AI Hypothesis Validation
by Artyom Tashyan, Saidjon Khaydar-Zade, Pavel Tin
Paper can be accessed by that link: https://doi.org/10.36227/techrxiv.174002528.84035428/v1
Important Files and Directories:
data/: Scripts for data processing, labeling, and CSV-based metadata.interface/: Code for UI elementsmodel/: Training notebooks for CNN-based feature extraction and the Random Forest decision-making model, along with pre-trained weights.static/: Static assets such as fonts or icons. (Also contains files of saved models.)main.py: Entry point to start the script
If you plan to run it locally, follow this guide:
-
Clone the Repository:
git clone https://github.com/sqdArtemy/mspv.git cd mspv -
Set Up a Virtual Environment (Recommended):
python -m venv .venv
Activate the environment:
- Unix/Linux/MacOS:
source .venv/bin/activate - Windows:
.venv\Scripts\activate
- Unix/Linux/MacOS:
-
Install Dependencies:
pip install --upgrade pip pip install -r requirements.txt
The
requirements.txtincludes packages like PyTorch, scikit-learn, NumPy, and more. -
(Optional) GPU Support:
- If you have a CUDA-enabled GPU, ensure you install the corresponding PyTorch version.
- Alternatively, run on a cloud platform like Google Colab.
-
Download or Prepare Your Data:
- You can use Kaggle dataset created by ourselves: Minecraft Screenshots Dataset with Features
- Place your raw/compressed images under
data/raw_imagesordata/compressed_images. - Ensure your CSV files (e.g.,
decisions.csv,sorted_decisions.csv) align with your image filenames, if you use your own files.
-
Inspect the Jupyter Notebooks:
model/feature_extraction_model.ipynb: Example of training specialized CNN sub-models for different features.model/decision_making_model.ipynb: Demonstrates how the extracted features feed into aRandomForestClassifierfor multi-output decisions.
-
Run the Pipeline:
- After previous steps are completed, you can finally run the application by:
python .\main.py - After interface starts, launch the minecraft on the Full Screen (This is important)
- You can observe detected features and suggestions in the UI, based on the gameplay.
- After previous steps are completed, you can finally run the application by:
Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.
For questions or feedback, please contact Artyom Tashyan.



