Comments (13)
@Jochengehtab if you check common/src/lib.rs
in your local copy of bullet
, you can see the architecture settings.
If you've left this file unchanged then you can use this branch to load the net.
As for my settings, currently my common/src/lib.rs
in bullet
looks as follows:
/// Input format
/// - Ataxx147
/// - Chess768
/// - ChessBuckets
pub type Input = inputs::Chess768;
/// Size of hidden layer.
pub const HIDDEN: usize = 768;
/// Activation function:
/// - ReLU
/// - CReLU
/// - SCReLU
/// - FastSCReLU
pub type Activation = activation::SCReLU;
/// Output Buckets:
/// - Single
/// - MaterialCount<Buckets>
pub type OutputBucket = outputs::MaterialCount<8>;
with the other parts of the file left unchanged.
from akimbo.
Hi @jw1912 thanks for your Response. I just realized i messed up the Outputbucket. But why did you changed the hidden size down to 512 in the Test branch? But thanks for your help.
from akimbo.
@Jochengehtab could you give details about how you trained the net? I.e. what command you used to run bullet, and what data you used (how much and source of).
Also if you don't need the bullet_default
branch I'll delete it later.
from akimbo.
@Jochengehtab could you give details about how you trained the net? I.e. what command you used to run bullet, and what data you used (how much and source of).
Also if you don't need the
bullet_default
branch I'll delete it later.
I used 50 epochs and a lr-gamma of 0.1 and lr-drop of 12. Also the dataset was very small (26000 Positions i think 7000 winning Positions 15000 Draw Positions and 5000 lossing Positions). I choose such a small dataset because i would make sure that i dont messed anything up. If everything works i will create a larger dataset about 400000 Positions and train it with that.
from akimbo.
@Jochengehtab what are you planning on using the net for?
A good heuristic is that for every neuron in the hidden layer, you need at least 1 million positions.
So for my current network architecture, I'd need at least 768 million. In actuality, more is generally even better, and at the moment the current net in main
is trained on 1 billion positions, which I'll hopefully increase to around 1.5 billion in the next few weeks.
from akimbo.
@Jochengehtab what are you planning on using the net for?
A good heuristic is that for every neuron in the hidden layer, you need at least 1 million positions.
So for my current network architecture, I'd need at least 768 million. In actuality, more is generally even better, and at the moment the current net in
main
is trained on 1 billion positions, which I'll hopefully increase to around 1.5 billion in the next few weeks.
I am making this net for fun because i am interested in nnue chess engines. But thanks for the tip i will increase the Positions to around 400.000.000. And when it is finished and it works quit well i can share it with you.
from akimbo.
@Jochengehtab nice, also where are you getting the positions from?
from akimbo.
@jw1912 different methods. I generate mostc of the positions with stockfish or Lc0. But around 5 - 8 % are old engine games that where not perfect and games from famous chess personalities Like Petrov, alekhine and so on.
from akimbo.
Cool, I'll close this now and delete the branch I made earlier.
from akimbo.
@jw1912 OK, where should i contact you when i am finished?
from akimbo.
@Jochengehtab apologies, I didn't see this earlier, you can comment on this issue. If you @ me I'll get a notification for it.
from akimbo.
@Jochengehtab apologies, I didn't see this earlier, you can comment on this issue. If you @ me I'll get a notification for it.
@jw1912 but it was my fault because i didn't saw that the issue was closed. But where should i contact you when i have success?
from akimbo.
@Jochengehtab you can reply here, I'll get an email notification.
from akimbo.
Related Issues (12)
- V1 compilation seems to assume popcount since version 0.4.0? HOT 3
- Refactor
- Make akimbo tiny again!
- akimbo or Akimbo HOT 1
- Please add ARMv9.2, SVE2, Dot Product and Neon support HOT 1
- arm64 compilation warning (Win11) HOT 1
- Score type
- Redundant methods
- Proper error handling.
- alternative PST values ? HOT 5
- Chess960
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from akimbo.