nodchip / Stockfish

UCI chess engine
http://www.stockfishchess.com/
GNU General Public License v3.0
101 stars 25 forks source link

Unable to convert pgn files to bin #278

Closed rohitrango closed 3 years ago

rohitrango commented 3 years ago

Hi,

I'm trying to learn a neural network using a custom data set. I was able to convert the pgn files into the text file using the `pgn_to_plain.py' file.

Now, I'm trying to convert it into bin. However, it doesn't work. Here is my output:

(chessvenv) rohit@mypc:~/chessbot/Stockfish/src$ ./stockfish 
Stockfish 221220 by the Stockfish developers (see AUTHORS file)
info string Loaded eval file nn-c3ca321c51c9.nnue
learn convert_bin converted_pgn.txt output_file_name pgn_bin.bin
INFO: Unknown option: convert_bin. Ignoring.
INFO: Unknown option: converted_pgn.txt. Ignoring.
INFO: Unknown option: output_file_name. Ignoring.
INFO: Unknown option: pgn_bin.bin. Ignoring.
INFO: Executing learn command
INFO: Input files:
INFO: Parameters:
  - validation count         : 2000
  - epochs                   : 18446744073709551615
  - epochs * minibatch size  : 18446744073708551616
  - eval_limit               : 32000
  - save_only_once           : false
  - shuffle on read          : true
  - Loss Function            : ELMO_METHOD(WCSC27)
  - minibatch size           : 1000000
  - nn_batch_size            : 1000
  - nn_options               : 
  - learning rate            : 1
  - max_grad                 : 1
  - use draws in training    : 1
  - use draws in validation  : 1
  - skip repeated positions  : 1
  - winning prob coeff       : 0.00276753
  - use_wdl                  : 0
  - src_score_min_value      : 0
  - src_score_max_value      : 1
  - dest_score_min_value     : 0
  - dest_score_max_value     : 1
  - reduction_gameply        : 1
  - elmo_lambda_low          : 1
  - elmo_lambda_high         : 1
  - elmo_lambda_limit        : 32000
  - eval_save_interval       : 100000000 sfens
  - loss_output_interval     : 1000000 sfens
  - sfen_read_size           : 10000000
  - thread_buffer_size       : 10000
  - seed                     : 
  - verbose                  : false
  - learning rate scheduling : newbob with decay
  - newbob_decay             : 0.5
  - newbob_num_trials        : 4

INFO: Started initialization.
INFO (initialize_training): Initializing NN training for Features=HalfKP(Friend)[41024->256x2],Network=AffineTransform[1<-32](ClippedReLU[32](AffineTransform[32<-32](ClippedReLU[32](AffineTransform[32<-512](InputSlice[512(0:512)])))))

Layers:
  - 0 - HalfKP(Friend)[41024->256x2]
  - 1 - InputSlice[512(0:512)]
  - 2 - AffineTransform[32<-512]
  - 3 - ClippedReLU[32]
  - 4 - AffineTransform[32<-32]
  - 5 - ClippedReLU[32]
  - 6 - AffineTransform[1<-32]

Factorizers:
  - Factorizer<HalfKP(Friend)> -> HalfK, P, HalfRelativeKP

Finished initialization.
INFO (save_eval): Saving current evaluation file in evalsave/original
INFO (save_eval): Finished saving evaluation file in evalsave/original
INFO (sfen_reader): End of files.
INFO (sfen_reader): End of files.
info string NNUE evaluation using nn-c3ca321c51c9.nnue enabled
ERROR (sfen_reader): Reading failed.
INFO (learn): Error reading validation data. Read 0 out of 2000
^C

Where do I go from here? Seems like there is no command convert_bin in the learn command.

Sopel97 commented 3 years ago

There is no such thing as convert_bin

See here for conversion docs: https://github.com/nodchip/Stockfish/blob/master/docs/convert.md. You'll need to change the extension from .txt to .plain