bullet_lib 1.0.0

Neural Network Trainer for 2-Player Games.
Documentation
<div align="center">

# bullet


</div>

A CUDA/CPU NN Trainer, used to train NNUE-style networks for [akimbo](https://github.com/jw1912/akimbo).

Also used by many other engines, including:
- [Alexandria]https://github.com/PGG106/Alexandria
- [Altair]https://github.com/Alex2262/AltairChessEngine
- [Carp]https://github.com/dede1751/carp
- [Midnight]https://github.com/archishou/MidnightChessEngine
- [Obsidian]https://github.com/gab8192/Obsidian
- [Stormphrax]https://github.com/Ciekce/Stormphrax
- [Willow]https://github.com/Adam-Kulju/Willow
- [Viridithas]https://github.com/cosmobobak/viridithas

### Currently Supported Games:

- Chess
- Ataxx

Raise an issue for support of a new game.

### Usage


Import the crate with
```toml
bullet = { package = "bullet_lib", features = ["cuda"] }
```

Check out the [wiki](https://github.com/jw1912/bullet/wiki/2.-Getting-Started-with-bullet) and [examples](/examples) to see how to use the crate.

### Utilities


You can build `bullet-utils` with `cargo b -r --package bullet-utils`, to do the following:
- Convert Data
- Interleave Multiple Data Files
- Shuffle Data Files
- Validate Data Files

Use `./target/release/bullet-utils[.exe] help` to see specific usage.

### Currently Supported Backends:

#### Default

CPU backend **not intended for serious training use**. It is suitable for training small networks or various utilities,
such as loading nets to requantise them or test their output on specific positions.

#### CUDA

The "first class" supported backend. To compile to target CUDA you need to enable the `cuda` feature,
as demonstrated in the [wiki](https://github.com/jw1912/bullet/wiki/2.-Getting-Started-with-bullet).