This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| // This is a C# port of @karpathy microgpt python script (https://gist.github.com/karpathy/8627fe009c40f57531cb18360106ce95) | |
| // It's the closest I could get using C#. | |
| // Use with caution as it could be wrong, but it does seem to get similar outputs | |
| namespace MicroGpt; | |
| public class Value(double data, Value[]? children = null) | |
| { | |
| private readonly Value[] _children = children ?? []; | |
| private Action _backward = () => { }; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| CC = gcc | |
| CFLAGS = -O3 -Wall -Wextra | |
| LDFLAGS = -lm | |
| all: microgpt | |
| microgpt: microgpt.c | |
| $(CC) $(CFLAGS) microgpt.c -o microgpt $(LDFLAGS) | |
| clean: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| """ | |
| The most atomic way to train and inference a GPT in pure, dependency-free Python. | |
| This file is the complete algorithm. | |
| Everything else is just efficiency. | |
| @karpathy | |
| """ | |
| import os # os.path.exists | |
| import math # math.log, math.exp |