← 开源
glouw

tinn

A tiny neural network library

Model DevelopmentDeep Learning FrameworksC
在 GitHub 打开
增长势头
+124 小时新增 Star+0.0%
2.14k
Star
188
Fork
+3
本周
4
贡献者
创建于 2018-03-27 · 更新于 2026-10-16 · 今日第 5167 名
主要开发者
glouwnicolas-sauzedesaschagrunert

glouw/tinn 排名第 5,167,有 2,139 个星标。

同类别比较

glouw/tinn 排名第 5,167,此处有 8 个同类条目;marlbenchmark/on-policy 排名第 5,170。

同类别比较
名称排名指标
oxwhirl/pymarl5,129
语言:
Python
星标数:
2,223
分叉数:
414
简介:
Python Multi-Agent Reinforcement Learning framework
RubixML/ML5,139
语言:
PHP
星标数:
2,211
分叉数:
192
简介:
A high-level machine learning and deep learning library for the PHP language.
MoonshotAI/MoBA5,148
语言:
Python
星标数:
2,194
分叉数:
161
简介:
MoBA: Mixture of Block Attention for Long-Context LLMs
open-mmlab/mmrotate5,158
语言:
Python
星标数:
2,176
分叉数:
644
简介:
OpenMMLab Rotated Object Detection Toolbox and Benchmark
marlbenchmark/on-policy5,170
语言:
Python
星标数:
2,121
分叉数:
387
简介:
This is the official implementation of Multi-Agent PPO (MAPPO).
eloialonso/diamond5,172
语言:
Python
星标数:
2,120
分叉数:
168
简介:
DIAMOND (DIffusion As a Model Of eNvironment Dreams) is a reinforcement learning agent trained in a diffusion world model. NeurIPS 2024 Spotlight.
facebookresearch/ai4animationpy5,173
语言:
Python
星标数:
2,114
分叉数:
257
简介:
A Python framework for AI-driven character animation using neural networks.
opendatalab/OmniDocBench5,174
语言:
Python
星标数:
2,111
分叉数:
204
简介:
[CVPR 2025] A Comprehensive Benchmark for Document Parsing and Evaluation
关键参数与规格
关键参数与规格
参数值
语言C
类别Model Development
子类别Deep Learning Frameworks
关键词Education
星标数2,139
分叉数188
贡献者4
创建日期2018-03-27
更新日期2026-10-16
1 天星标数1
7 天星标数3
排名5,167
上次排名8,990
排名变化3,823
7 天星标排名6,778
上次 7 天星标排名7,867
7 天星标排名变化1,089
总星标排名6,007
上次总星标排名5,998
总星标排名变化-9
国家Canada
README 摘录

Tinn (Tiny Neural Network) is a 200 line dependency free neural network library written in C99. For a demo on how to learn hand written digits, get some training data: The training data consists of hand written digits written both slowly and quickly. Each line in the data set corresponds to one handwritten digit. Each digit is 16x16 pixels in size giving 256 inputs to the neural network. At the end of the line 10 digits signify the hand written

digit: This gives 10 outputs to the neural network. The test program will output the accuracy for each digit. Expect above 99% accuracy for the correct digit, and less that 0. Features Portable - Runs where a C99 or C++98 compiler is present. Tips Tinn will never use more than the C standard library. Train a model on your powerful desktop and load it onto a microcontroller and use the analog to digital converter to predict real time events. The

Tinn source code will always be less than 200 lines. Functions externed in the Tinn header are protected with the _xt_ namespace standing for _externed tinn_. Tinn can easily be multi-threaded with a bit of ingenuity but the master branch will remain single threaded to aid development for embedded systems. Tinn does not seed the random number generator. Shuffle again after every training iteration. Get greater training accuracy by annealing your learning rate. For instance, multiply your learning rate

by 0. This will zero in on a good learning minima. Disclaimer Tinn is a practice in minimalism. Tinn is not a fully featured neural network C library like Kann, or Genann: Ports Other A Tutorial using Tinn NN and CTypes Tiny Neural Network Library in 200 Lines of Code

常见问题

记录了多少星标和分叉?

glouw/tinn 有 2,139 个星标和 188 个分叉。

仓库排名是多少?

glouw/tinn 排名第 5,167。

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

glouw/tinn 有 2,139 个星标,语言为 C,类别为 Model Development。

哪个仓库排名最接近?

glouw/tinn 与 marlbenchmark/on-policy 比较,后者排名第 5,170,有 2,121 个星标。

README

Tinn (Tiny Neural Network) is a 200 line dependency free neural network library written in C99.

For a demo on how to learn hand written digits, get some training data:

wget http://archive.ics.uci.edu/ml/machine-learning-databases/semeion/semeion.data

make; ./test

The training data consists of hand written digits written both slowly and quickly. Each line in the data set corresponds to one handwritten digit. Each digit is 16x16 pixels in size giving 256 inputs to the neural network.

At the end of the line 10 digits signify the hand written digit:

0: 1 0 0 0 0 0 0 0 0 0
1: 0 1 0 0 0 0 0 0 0 0
2: 0 0 1 0 0 0 0 0 0 0
3: 0 0 0 1 0 0 0 0 0 0
4: 0 0 0 0 1 0 0 0 0 0
...
9: 0 0 0 0 0 0 0 0 0 1

This gives 10 outputs to the neural network. The test program will output the accuracy for each digit. Expect above 99% accuracy for the correct digit, and less that 0.1% accuracy for the other digits.

Features

  • Portable - Runs where a C99 or C++98 compiler is present.

  • Sigmoidal activation.

  • One hidden layer.

Tips

  • Tinn will never use more than the C standard library.

  • Tinn is great for embedded systems. Train a model on your powerful desktop and load it onto a microcontroller and use the analog to digital converter to predict real time events.

  • The Tinn source code will always be less than 200 lines. Functions externed in the Tinn header are protected with the xt namespace standing for externed tinn.

  • Tinn can easily be multi-threaded with a bit of ingenuity but the master branch will remain single threaded to aid development for embedded systems.

  • Tinn does not seed the random number generator. Do not forget to do so yourself.

  • Always shuffle your input data. Shuffle again after every training iteration.

  • Get greater training accuracy by annealing your learning rate. For instance, multiply your learning rate by 0.99 every training iteration. This will zero in on a good learning minima.

Disclaimer

Tinn is a practice in minimalism.

Tinn is not a fully featured neural network C library like Kann, or Genann:

https://github.com/attractivechaos/kann

https://github.com/codeplea/genann

Ports

Rust: https://github.com/dvdplm/rustinn

Other

A Tutorial using Tinn NN and CTypes

Tiny Neural Network Library in 200 Lines of Code

排名相邻
同类项目