← 开源
rameshvarun

NeuralKart

A Real-time Mario Kart 64 AI using ConvNets.

TutorialsML/AI fundamentalsLua
在 GitHub 打开
增长势头
+024 小时新增 Star0.0%
673
Star
56
Fork
+1
本周
3
贡献者
创建于 2017-05-10 · 更新于 2026-10-13 · 今日第 15192 名
主要开发者
rameshvarunharrison8989InfernalDanteRed

rameshvarun/NeuralKart 排名第 15,192,有 673 个星标。

同类别比较

rameshvarun/NeuralKart 排名第 15,192,此处有 8 个同类条目;amitshekhariitbhu/ai-system-design 排名第 15,197。

同类别比较
名称排名指标
yhangf/ML-NOTE15,162
星标数:
675
分叉数:
134
简介:
:orange_book:慢慢整理所学的机器学习算法,并根据自己所理解的样子叙述出来。(注重数学推导)
JunshengFu/vehicle-detection15,164
语言:
Python
星标数:
674
分叉数:
241
简介:
Created vehicle detection pipeline with two approaches: (1) deep neural networks (YOLO framework) and (2) support vector machines ( OpenCV + HOG).
MagicCube/tensorflow-rex-run15,183
语言:
JavaScript
星标数:
673
分叉数:
117
简介:
A TensorFlow.js based AI player platform for T-Rex Runner. T-Rex Runner is originally an easter egg game inside chrome.
emoen/Machine-Learning-for-Asset-Managers15,185
语言:
Python
星标数:
673
分叉数:
202
简介:
Implementation of code snippets, exercises and application to live data from Machine Learning for Asset Managers (Elements in Quantitative Finance) written by Prof. Marcos López de Prado.
amitshekhariitbhu/ai-system-design15,197
语言:
Markdown
星标数:
672
分叉数:
100
简介:
AI System Design - Learn how to design AI systems built on LLMs, RAG, and AI Agents step by step.
heartcored98/Standalone-DeepLearning15,222
语言:
Jupyter Notebook
星标数:
670
分叉数:
200
简介:
2019 KAIST 딥러닝 홀로서기 세미나용 저장소입니다.
waitingfordark/four_flower15,226
语言:
Python
星标数:
670
分叉数:
183
简介:
使用tensorflow和cnn做的图像识别,对四种花进行了分类。
GoogleCloudPlatform/tf-estimator-tutorials15,227
语言:
Jupyter Notebook
星标数:
669
分叉数:
227
简介:
This repository includes tutorials on how to use the TensorFlow estimator APIs to perform various ML tasks, in a systematic and standardised way
关键参数与规格
关键参数与规格
参数值
语言Lua
类别Tutorials
子类别ML/AI fundamentals
关键词Gaming, RL
星标数673
分叉数56
贡献者3
创建日期2017-05-10
更新日期2026-10-13
1 天星标数0
7 天星标数1
排名15,192
上次排名15,012
排名变化-180
7 天星标排名10,977
上次 7 天星标排名11,035
7 天星标排名变化58
总星标排名15,353
上次总星标排名15,322
总星标排名变化-31
README 摘录

NeuralKart - A Real-time Mario Kart AI using CNNs, Offline Search, and DAGGER Explanation Video Videos of Runs Class Poster Class Writeup Set-up The project currently only works on Windows. Install 64-bit Python 3 This project was written for Python 3. Furthermore, Tensorflow requires 64-bit Python. Install Python Dependencies The following Python dependencies need to be installed. Tensorflow Keras Pillow matplotlib mkdir_p h5py Get BizHawk (1. 2) Our scripts are all written for the BizHawk emulator

(tested in version 1. To get BizHawk you first need to install the prerequisites - Then you can download BizHawk (version 1. 2) and unzip it to any directory - Download Our Pre-trained Weights and Recordings These should be unzipped into the folder of the repo. Save States - The states should be accessible as . Weights - The weights should be accessible as Recordings (Optional) - The recordings should be accessible as . Usage Instructions Running a Live Demo These instructions can be used to

run a demo of three tracks that the AI performs well on. Download the save states and pre-trained weights. Run using Python 3 - this starts a server on port which actually runs the model. Open BizHawk and Load the MarioKart 64 ROM. Turn off messages (View > Display Messages). Open the BizHawk Lua console (Tools > Lua Console). Load This should automatically play three tracks in a loop. You can hit to switch to the next track. You can also hit

the arrow keys to manually steer the player. This can be used to demonstrate the AI's stability. Note that the clipboard is used to pass frames from the emulator to the Python script. It's a hack, but it seems to work - just don't try to copy or paste anything while the scripts are running. Run the AI on another Track Once you have the demo working, you can use these instructions to play on other tracks. Note that you can

only play on a track if there are weights trained for it. First, navigate to another track from the menu, or use one of our save states (File > Load State > Load Named State). These states are set to be the frame after the race starts. Training the Model on Recordings Once you have the AI running, you probably want to try retraining the weights based off our recordings. First download our weights from the link above, then run . You can

also use to force it to use the CPU. Creating new Recordings from the Search AI Load a state and then load in order to generate a recording using the search AI. Recordings consist of a series of frames and a file that contains the recorded steering values. Running the Iterative Improvement Loop As mentioned in the paper, we ran an iterative improvement loop that swaps between playing and generating new recordings. To bootstrap the process, you must first generate

a recording using the search AI and create an initial weights file using . Now start using the flag (so that

常见问题

记录了多少星标和分叉?

rameshvarun/NeuralKart 有 673 个星标和 56 个分叉。

仓库排名是多少?

rameshvarun/NeuralKart 排名第 15,192。

记录的语言和类别是什么?

rameshvarun/NeuralKart 有 673 个星标,语言为 Lua,类别为 Tutorials。

哪个仓库排名最接近?

rameshvarun/NeuralKart 与 amitshekhariitbhu/ai-system-design 比较,后者排名第 15,197,有 672 个星标。

README

NeuralKart - A Real-time Mario Kart AI using CNNs, Offline Search, and DAGGER

Set-up

The project currently only works on Windows.

Install 64-bit Python 3

This project was written for Python 3. Furthermore, Tensorflow requires 64-bit Python.

Install Python Dependencies

The following Python dependencies need to be installed.

  • Tensorflow
  • Keras
  • Pillow
  • matplotlib
  • mkdir_p
  • h5py

Get BizHawk (1.12.2)

Our scripts are all written for the BizHawk emulator (tested in version 1.12.2), which has embedded Lua scripting. To get BizHawk you first need to install the prerequisites - https://github.com/TASVideos/BizHawk-Prereqs/releases/tag/1.4. Then you can download BizHawk (version 1.12.2) and unzip it to any directory - https://github.com/TASVideos/BizHawk/releases/tag/1.12.2

Download Our Pre-trained Weights and Recordings

These should be unzipped into the folder of the repo.

  • Save States - The states should be accessible as states/[mode]/[track].state.
  • Weights - The weights should be accessible as weights/[track].hdf5
  • Recordings (Optional) - The recordings should be accessible as recordings/[track]/[mode]/[recording]/[frame].png.

Usage Instructions

Running a Live Demo

These instructions can be used to run a demo of three tracks that the AI performs well on.

  1. Download the save states and pre-trained weights.
  2. Run predict-server.py using Python 3 - this starts a server on port 36296 which actually runs the model.
    • You can pass a --cpu to force Tensorflow to run on the CPU.
  3. Open BizHawk and Load the MarioKart 64 ROM.
  4. Turn off messages (View > Display Messages).
    • You don't have to do this, but they get in the way.
  5. Open the BizHawk Lua console (Tools > Lua Console).
  6. Load Demo.lua

This should automatically play three tracks in a loop. You can hit Esc to switch to the next track. You can also hit the arrow keys to manually steer the player. This can be used to demonstrate the AI's stability.

Note that the clipboard is used to pass frames from the emulator to the Python script. It's a hack, but it seems to work - just don't try to copy or paste anything while the scripts are running.

Run the AI on another Track

Once you have the demo working, you can use these instructions to play on other tracks. Note that you can only play on a track if there are weights trained for it.

First, navigate to another track from the menu, or use one of our save states (File > Load State > Load Named State). These states are set to be the frame after the race starts. Then load Play.lua from the Lua console.

Training the Model on Recordings

Once you have the AI running, you probably want to try retraining the weights based off our recordings. First download our weights from the link above, then run train.py [track]. You can also use --cpu to force it to use the CPU.

Creating new Recordings from the Search AI

Load a state and then load SearchAI.lua in order to generate a recording using the search AI. Recordings consist of a series of frames and a steering.txt file that contains the recorded steering values.

Running the Iterative Improvement Loop

As mentioned in the paper, we ran an iterative improvement loop that swaps between playing and generating new recordings. To bootstrap the process, you must first generate a recording using the search AI and create an initial weights file using train.py. Now start predict-server.py using the --cpu flag (so that you can train on the GPU).

Now you can load a state and run PlayAndSearch.lua which alternates between playing and searching. It retrains every other run. You probably need to edit the code that calls train.py on line 90 so that it works in your environment.

Other Projects + Links

排名相邻
同类项目