New Tool for Tuning with Skopt

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

thomasahle
Posts: 94
Joined: Thu Feb 27, 2014 8:19 pm

Re: New Tool for Tuning with Skopt

Post by thomasahle »

pedrox wrote: Mon Aug 26, 2019 9:14 pm
thomasahle wrote: Mon Aug 26, 2019 8:58 pm At least on unix systems you need to add './' to execute a binary from its directory. That is write './danasah730.exe'.
You can also try specifying your binary with an absolute path.
I already used a engines.json file that works with cutechess, in Windows it is enough to indicate the working directory and you can directly put the executable.

But with your suggestion it seems to work!
Awesome!

I'm not using cutechess, so somethings may work slightly different. But probably it would be good for Windows users if I fixed this! Thanks for letting me know!
User avatar
pedrox
Posts: 1056
Joined: Fri Mar 10, 2006 6:07 am
Location: Basque Country (Spain)

Re: New Tool for Tuning with Skopt

Post by pedrox »

What I did was add an absolute path to the executable
jorose
Posts: 358
Joined: Thu Jan 22, 2015 3:21 pm
Location: Zurich, Switzerland
Full name: Jonathan Rosenthal

Re: New Tool for Tuning with Skopt

Post by jorose »

So I am trying out your skript, but unfortunately it seems to not be counting threefold repetitions as draws. Is there an easy way to fix this issue?

EDIT: Ok I just checked the games, the issue is different than I thought. Games are adjudicating as undecided after just 85 moves?
-Jonathan
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: New Tool for Tuning with Skopt

Post by Ferdy »

jorose wrote: Tue Aug 27, 2019 8:18 pm So I am trying out your skript, but unfortunately it seems to not be counting threefold repetitions as draws. Is there an easy way to fix this issue?

EDIT: Ok I just checked the games, the issue is different than I thought. Games are adjudicating as undecided after just 85 moves?
Looking at the code, the game will be stopped if there are 3 or more position repetitions.

Code: Select all

if not board.is_game_over(claim_draw=True):
But also the game with draw result is not counted or sent to the optimizer.

Code: Select all

        result = board.result(claim_draw=True)
        if result == '1-0' and i % 2 == 0 or result == '0-1' and i % 2 == 1:
            score += 1
        if result == '1-0' and i % 2 == 1 or result == '0-1' and i % 2 == 0:
            score -= 1
The game is limited to 160 plies.

Code: Select all

for ply in range(int(board.turn == chess.BLACK), 160):
thomasahle
Posts: 94
Joined: Thu Feb 27, 2014 8:19 pm

Re: New Tool for Tuning with Skopt

Post by thomasahle »

Ferdy wrote: Tue Aug 27, 2019 8:39 pm The game is limited to 160 plies.

Code: Select all

for ply in range(int(board.turn == chess.BLACK), 160):
Good catch! I completely forgot I added that.
I will change this to an optional user defined value, and otherwise just play till the fifty-moves rule decides it's time.
jorose
Posts: 358
Joined: Thu Jan 22, 2015 3:21 pm
Location: Zurich, Switzerland
Full name: Jonathan Rosenthal

Re: New Tool for Tuning with Skopt

Post by jorose »

thomasahle wrote: Tue Aug 27, 2019 10:32 pm
Ferdy wrote: Tue Aug 27, 2019 8:39 pm The game is limited to 160 plies.

Code: Select all

for ply in range(int(board.turn == chess.BLACK), 160):
Good catch! I completely forgot I added that.
I will change this to an optional user defined value, and otherwise just play till the fifty-moves rule decides it's time.
Aside from draws getting recorded correctly in the pgn and user defined maximum game length I must say its a really nice tool you created! It's very easy to use.

In terms of features it would be cool if we could have standard time controls instead of only time/nodes per move. I can see how that might be more work than one would expect, but iirc the SF team noted that nodes/move and time/move behaved differently than standard time controls.

Thanks again for this!
-Jonathan
User avatar
pedrox
Posts: 1056
Joined: Fri Mar 10, 2006 6:07 am
Location: Basque Country (Spain)

Re: New Tool for Tuning with Skopt

Post by pedrox »

I tried 200 games and everything was correct, the games ended and I receive the 4 best options.

But when I have played more games, for example 500, I receive errors:

Code: Select all

D:\Programas\ajedrez\fastchess\tools>python tune.py danasah800_uci -opp-engine danasah730_uci -concurrency=5 -movetime 100 -book book.pgn -games-file tune.pgn -opt Parameter1 -opt Parameter2 -n 500 -log-file data.log
C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\sklearn\externals\joblib\__init__.py:15: DeprecationWarning: sklearn.externals.joblib is deprecated in 0.21 and will be removed in 0.23. Please import this functionality directly from joblib, which can be installed with: pip install joblib. If this warning is raised when loading pickled models, you may need to re-serialize those models with scikit-learn 0.21+.
  warnings.warn(msg, category=DeprecationWarning)
Loaded book with 100133 positions
Loading engines
Parsing options
Reading data.log
Starting game 1/500 with {'Parameter1': 194, 'Parameter2': 93}
Starting game 2/500 with {'Parameter1': 137, 'Parameter2': 153}
Starting game 3/500 with {'Parameter1': 128, 'Parameter2': 130}
Starting game 4/500 with {'Parameter1': 107, 'Parameter2': 109}
Starting game 5/500 with {'Parameter1': 124, 'Parameter2': 176}
..
[80, 197] => -1
Starting game 467/500 with {'Parameter1': 80, 'Parameter2': 198}
[80, 200] => 0
Starting game 468/500 with {'Parameter1': 80, 'Parameter2': 199}
[80, 199] => 1
Exception in callback run.<locals>.on_done([80, 199], 1)(<Task finishe...?.??')>], -1)>) at tune.py:207
handle: <Handle run.<locals>.on_done([80, 199], 1)(<Task finishe...?.??')>], -1)>) at tune.py:207>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\events.py", line 88, in _run
    self._context.run(self._callback, *self._args)
  File "tune.py", line 220, in on_done
    opt.tell(x, -y)  # opt is minimizing
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\skopt\optimizer\optimizer.py", line 443, in tell
    return self._tell(x, y, fit=fit)
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\skopt\optimizer\optimizer.py", line 502, in _tell
    acq_func_kwargs=self.acq_func_kwargs)
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\skopt\acquisition.py", line 50, in _gaussian_acquisition
    func_and_grad = gaussian_ei(X, model, y_opt, xi, return_grad)
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\skopt\acquisition.py", line 276, in gaussian_ei
    mu, std = model.predict(X, return_std=True)
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\skopt\learning\gaussian_process\gpr.py", line 324, in predict
    y_var -= np.einsum("ki,kj,ij->k", K_trans, K_trans, K_inv)
  File "<__array_function__ internals>", line 6, in einsum
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\numpy\core\einsumfunc.py", line 1356, in einsum
    return c_einsum(*operands, **kwargs)
ValueError: iterator is too large
Exception in callback run.<locals>.on_done([80, 200], 2)(<Task finishe...??.??')>], 0)>) at tune.py:207
handle: <Handle run.<locals>.on_done([80, 200], 2)(<Task finishe...??.??')>], 0)>) at tune.py:207>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\events.py", line 88, in _run
    self._context.run(self._callback, *self._args)
  File "tune.py", line 220, in on_done
    opt.tell(x, -y)  # opt is minimizing
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\skopt\optimizer\optimizer.py", line 443, in tell
    return self._tell(x, y, fit=fit)
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\skopt\optimizer\optimizer.py", line 489, in _tell
    self.gains_ -= est.predict(np.vstack(self.next_xs_))
  File "<__array_function__ internals>", line 6, in vstack
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\numpy\core\shape_base.py", line 282, in vstack
    return _nx.concatenate(arrs, 0)
  File "<__array_function__ internals>", line 6, in concatenate
ValueError: need at least one array to concatenate
Exception in callback run.<locals>.on_done([80, 83], 4)(<Task finishe...??.??')>], 0)>) at tune.py:207
handle: <Handle run.<locals>.on_done([80, 83], 4)(<Task finishe...??.??')>], 0)>) at tune.py:207>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\events.py", line 88, in _run
    self._context.run(self._callback, *self._args)
  File "tune.py", line 220, in on_done
    opt.tell(x, -y)  # opt is minimizing
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\skopt\optimizer\optimizer.py", line 443, in tell
    return self._tell(x, y, fit=fit)
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\skopt\optimizer\optimizer.py", line 489, in _tell
    self.gains_ -= est.predict(np.vstack(self.next_xs_))
  File "<__array_function__ internals>", line 6, in vstack
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\numpy\core\shape_base.py", line 282, in vstack
    return _nx.concatenate(arrs, 0)
  File "<__array_function__ internals>", line 6, in concatenate
ValueError: need at least one array to concatenate
Exception in callback run.<locals>.on_done([80, 198], 0)(<Task finishe...?.??')>], -1)>) at tune.py:207
handle: <Handle run.<locals>.on_done([80, 198], 0)(<Task finishe...?.??')>], -1)>) at tune.py:207>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\events.py", line 88, in _run
    self._context.run(self._callback, *self._args)
  File "tune.py", line 220, in on_done
    opt.tell(x, -y)  # opt is minimizing
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\skopt\optimizer\optimizer.py", line 443, in tell
    return self._tell(x, y, fit=fit)
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\skopt\optimizer\optimizer.py", line 489, in _tell
    self.gains_ -= est.predict(np.vstack(self.next_xs_))
  File "<__array_function__ internals>", line 6, in vstack
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\numpy\core\shape_base.py", line 282, in vstack
    return _nx.concatenate(arrs, 0)
  File "<__array_function__ internals>", line 6, in concatenate
ValueError: need at least one array to concatenate
Exception in callback run.<locals>.on_done([80, 199], 3)(<Task finishe...??.??')>], 1)>) at tune.py:207
handle: <Handle run.<locals>.on_done([80, 199], 3)(<Task finishe...??.??')>], 1)>) at tune.py:207>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\events.py", line 88, in _run
    self._context.run(self._callback, *self._args)
  File "tune.py", line 220, in on_done
    opt.tell(x, -y)  # opt is minimizing
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\skopt\optimizer\optimizer.py", line 443, in tell
    return self._tell(x, y, fit=fit)
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\skopt\optimizer\optimizer.py", line 489, in _tell
    self.gains_ -= est.predict(np.vstack(self.next_xs_))
  File "<__array_function__ internals>", line 6, in vstack
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\numpy\core\shape_base.py", line 282, in vstack
    return _nx.concatenate(arrs, 0)
  File "<__array_function__ internals>", line 6, in concatenate
ValueError: need at least one array to concatenate
On several occasions the problems arise after the game 468. Although on other occasions I have played for example 300 games and also at the end of the 300 similar errors arose when trying to give the best options. I tried just in case with 2 different books.
User avatar
pedrox
Posts: 1056
Joined: Fri Mar 10, 2006 6:07 am
Location: Basque Country (Spain)

Re: New Tool for Tuning with Skopt

Post by pedrox »

Other:

Code: Select all

Starting game 299/300 with {'Parameter1': 95, 'Parameter2': 119}
[135, 181] => -1
Starting game 300/300 with {'Parameter1': 147, 'Parameter2': 191}
[135, 192] => 0
[135, 192] => 2
[95, 118] => 1
[147, 191] => -2
[95, 119] => 1
[95, 119] => 0
Summarizing best values
Traceback (most recent call last):
  File "tune.py", line 368, in <module>
    asyncio.run(main())
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\runners.py", line 43, in run
    return loop.run_until_complete(main)
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_events.py", line 584, in run_until_complete
    return future.result()
  File "tune.py", line 344, in main
    y_pred, sigma = opt.models[-1].predict(Xt, return_std=True)
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\skopt\learning\gaussian_process\gpr.py", line 310, in predict
    K_trans = self.kernel_(X, self.X_train_)
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\sklearn\gaussian_process\kernels.py", line 689, in __call__
    return self.k1(X, Y) + self.k2(X, Y)
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\sklearn\gaussian_process\kernels.py", line 764, in __call__
    return self.k1(X, Y) * self.k2(X, Y)
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\sklearn\gaussian_process\kernels.py", line 1343, in __call__
    K = (1. + K + K ** 2 / 3.0) * np.exp(-K)
numpy.core._exceptions.MemoryError: Unable to allocate array with shape (90300, 300) and data type float64
Exception ignored in: <function BaseSubprocessTransport.__del__ at 0x02FEE660>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_subprocess.py", line 127, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_subprocess.py", line 104, in close
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 86, in close
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_events.py", line 688, in call_soon
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_events.py", line 480, in _check_closed
RuntimeError: Event loop is closed
Exception ignored in: <function BaseSubprocessTransport.__del__ at 0x02FEE660>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_subprocess.py", line 127, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_subprocess.py", line 104, in close
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 86, in close
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_events.py", line 688, in call_soon
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_events.py", line 480, in _check_closed
RuntimeError: Event loop is closed
Exception ignored in: <function BaseSubprocessTransport.__del__ at 0x02FEE660>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_subprocess.py", line 127, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_subprocess.py", line 104, in close
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 86, in close
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_events.py", line 688, in call_soon
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_events.py", line 480, in _check_closed
RuntimeError: Event loop is closed
Exception ignored in: <function BaseSubprocessTransport.__del__ at 0x02FEE660>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_subprocess.py", line 127, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_subprocess.py", line 104, in close
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 86, in close
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_events.py", line 688, in call_soon
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_events.py", line 480, in _check_closed
RuntimeError: Event loop is closed
Exception ignored in: <function BaseSubprocessTransport.__del__ at 0x02FEE660>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_subprocess.py", line 127, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_subprocess.py", line 104, in close
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 86, in close
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_events.py", line 688, in call_soon
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_events.py", line 480, in _check_closed
RuntimeError: Event loop is closed
Exception ignored in: <function BaseSubprocessTransport.__del__ at 0x02FEE660>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_subprocess.py", line 127, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_subprocess.py", line 104, in close
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 86, in close
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_events.py", line 688, in call_soon
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_events.py", line 480, in _check_closed
RuntimeError: Event loop is closed
Exception ignored in: <function BaseSubprocessTransport.__del__ at 0x02FEE660>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_subprocess.py", line 127, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_subprocess.py", line 104, in close
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 86, in close
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_events.py", line 688, in call_soon
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_events.py", line 480, in _check_closed
RuntimeError: Event loop is closed
Exception ignored in: <function BaseSubprocessTransport.__del__ at 0x02FEE660>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_subprocess.py", line 127, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_subprocess.py", line 104, in close
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 86, in close
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_events.py", line 688, in call_soon
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_events.py", line 480, in _check_closed
RuntimeError: Event loop is closed
Exception ignored in: <function BaseSubprocessTransport.__del__ at 0x02FEE660>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_subprocess.py", line 127, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_subprocess.py", line 104, in close
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 86, in close
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_events.py", line 688, in call_soon
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_events.py", line 480, in _check_closed
RuntimeError: Event loop is closed
Exception ignored in: <function BaseSubprocessTransport.__del__ at 0x02FEE660>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_subprocess.py", line 127, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_subprocess.py", line 104, in close
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 86, in close
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_events.py", line 688, in call_soon
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\base_events.py", line 480, in _check_closed
RuntimeError: Event loop is closed
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe
Exception ignored in: <function _ProactorBasePipeTransport.__del__ at 0x02FF8978>
Traceback (most recent call last):
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 93, in __del__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\proactor_events.py", line 57, in __repr__
  File "C:\Users\pecas\AppData\Local\Programs\Python\Python37-32\lib\asyncio\windows_utils.py", line 102, in fileno
ValueError: I/O operation on closed pipe

D:\Programas\ajedrez\fastchess\tools>pause
Presione una tecla para continuar . . .
thomasahle
Posts: 94
Joined: Thu Feb 27, 2014 8:19 pm

Re: New Tool for Tuning with Skopt

Post by thomasahle »

pedrox wrote: Tue Aug 27, 2019 11:56 pm I tried 200 games and everything was correct, the games ended and I receive the 4 best options.

But when I have played more games, for example 500, I receive errors:
...
Looks like something runs out of memory.
It's good to get the tool stress tested like this :-)
If you can report it in github I'll be better able to look into it.
probably there's a way to do things with less memory allocation.
thomasahle
Posts: 94
Joined: Thu Feb 27, 2014 8:19 pm

Re: New Tool for Tuning with Skopt

Post by thomasahle »

jorose wrote: Tue Aug 27, 2019 10:54 pm Aside from draws getting recorded correctly in the pgn and user defined maximum game length I must say its a really nice tool you created! It's very easy to use.
This should be fixed in the latest commit.
Use the -max-len M flag to stop the games after M plies.
Defaults to 10000.

The new version will also add more comments to the pgn, like which moves are from the book, evaluations etc. like cutechess.