You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Correct grammar and/or orthography
Fixed a lot of text with either bad grammar or bad orthography – or both!
* Fix “an UCI” to “a UCI”
There, fixed my mistake. Now it is ready to commit my pull request.
Copy file name to clipboardExpand all lines: FLAGS.md
+33-32
Original file line number
Diff line number
Diff line change
@@ -3,60 +3,60 @@
3
3
`lc0` supports several operating modes, each of which has a different set of
4
4
command line flags (although there are common ones).
5
5
6
-
Currently `lc0` has the following modes:
6
+
Currently,`lc0` has the following modes:
7
7
8
8
| Mode | Description |
9
9
|------|---------------|
10
-
| uci *(default)*| Acts as UCI chess engine |
10
+
| uci (*default*)| Acts as a UCI chess engine |
11
11
| selfplay | Plays one or multiple games with itself and optionally generates training data |
12
12
| debug | Generates debug data for a position |
13
13
14
-
To run `lc0` in any of those modes, specify a mode name as a first argument (`uci` may be omitted).
14
+
To run `lc0` in any of those modes, specify a mode name as the first argument (`uci` may be omitted).
15
15
For example:
16
16
17
17
```bash
18
-
$ ./lc0 selfplay ... #for selfplay mode
19
-
$ ./lc0 ... #for uci mode
18
+
$ ./lc0 selfplay ... #For selfplay mode
19
+
$ ./lc0 ... #For UCI mode
20
20
```
21
21
22
-
In any of those modes it's possible to get help using the `--help` command line argument:
22
+
In any of those modes, it's possible to get help using the `--help` command line argument:
23
23
24
24
```bash
25
-
$ ./lc0 --help #help for uci mode
26
-
$ ./lc0 selfplay --help #help for selfplay mode
25
+
$ ./lc0 --help #Help for UCI mode
26
+
$ ./lc0 selfplay --help #Help for selfplay mode
27
27
```
28
28
29
-
## UCI mode
29
+
## UCI Mode
30
30
31
-
In UCI engine mode all of command line parameters can also be changed using UCI parameter.
31
+
In UCI engine mode, all of command line parameters can also be changed using a UCI parameter.
32
32
33
33
List of command line flags:
34
34
35
-
| Flag |Uci parameter| Description |
35
+
| Flag |UCI Parameter| Description |
36
36
|------|---------------|-------------|
37
-
| -w PATH,<br>--weights=PATH | Network weights file path | Path to load network weights from.<br>Default is `<autodiscover>`, which makes it search for the latest (by file date) file in ./ and ./weights/ subdirectories which looks like weights. |
38
-
| -t NUM,<br>--threads=NUM | Number of worker threads | Number of (CPU) threads to use.<br> Default is `2`. There's no use of making it more than 3 currently as it's limited by mutex contention which is yet to be optimized. |
37
+
| -w PATH,<br>--weights=PATH | Network weights file path | Path to load network weights from.<br>Default is `<autodiscover>`, which makes it search for the latest (by file date) file in ./ and ./weights/ subdirectories which look like weights. |
38
+
| -t NUM,<br>--threads=NUM | Number of worker threads | Number of (CPU) threads to use.<br> Default is `2`. There's currently no use of making it more than 3 as it's limited by mutex contention which is yet to be optimized. |
39
39
| --nncache=SIZE | NNCache size | Number of positions to store in cache.<br>Default: `200000`|
40
-
| <nobr>--backend=BACKEND</nobr><br><nobr>--backend-opts=OPTS</nobr> | NN backend to use<br>NN backend parameters | Configuration of backend parameters. Described in details [here](#backendconfiguration).<br>Default depends on particular build type (cuDNN, tensorflow, etc). |
41
-
| --slowmover=NUM | Scale thinking time | Parameter value X means that whole remaining time is split in such a way that current move gets X×Y seconds, and next moves will get 1×Y seconds. However, due to smart pruning, the engine usually doesn't use all allocated time.<br>Default: `2.2`|
42
-
| <nobr>--move-overhead=NUM</nobr> | Move time overhead in milliseconds | How much overhead should the engine allocate for every move (to counteract things like slow connection, interprocess communication, etc).<br>Default: `100`ms. |
43
-
| <nobr>--minibatch-size=NUM</nobr> | Minibatch size for NN inference |Now many positions the engine tries to batch together for computation. Theoretically larger batches may reduce strengths a bit, especially on small number of playouts.<br>Default is `256`. Every backend/hardware has different optimal value (e.g. `1` if batching is not supported). |
44
-
| <nobr>--max-prefetch=NUM</nobr> |Max prefetch nodes, per NN call | When engine cannot gather large enough batch for immediate use, try to prefetch up to X positions which are likely to be useful soon, and put them into cache.<br>Default: `32`. |
45
-
| <nobr>--cpuct=NUM</nobr> | Cpuct MCTS option | C_puct constant from "Upper confidence trees search" algorithm. Higher values promote more exploration/wider search, lower values promote more confidence/deeper search.<br>Default: `1.2`. |
40
+
| <nobr>--backend=BACKEND</nobr><br><nobr>--backend-opts=OPTS</nobr> | NN backend to use<br>NN backend parameters | Configuration of backend parameters. Described in details [here](#backendconfiguration).<br>Default depends on particular build type (cuDNN, tensorflow, etc.). |
41
+
| --slowmover=NUM | Scale thinking time | Parameter value `X` means that the whole remaining time is split in such a way that the current move gets `X × Y` seconds, and next moves will get `1 × Y` seconds. However, due to smart pruning, the engine usually doesn't use all allocated time.<br>Default: `2.2`|
42
+
| <nobr>--move-overhead=NUM</nobr> | Move time overhead in milliseconds | How much overhead should the engine allocate for every move (to counteract things like slow connection, interprocess communication, etc.).<br>Default: `100`ms. |
43
+
| <nobr>--minibatch-size=NUM</nobr> | Minibatch size for NN inference |How many positions the engine tries to batch together for computation. Theoretically larger batches may reduce strengths a bit, especially on a small number of playouts.<br>Default is `256`. Every backend/hardware has different optimal value (e.g.,`1` if batching is not supported). |
44
+
| <nobr>--max-prefetch=NUM</nobr> |Maximum prefetch nodes per NN call | When the engine can't gather a large enough batch for immediate use, try to prefetch up to `X` positions, which are likely to be useful soon, and put them in the cache.<br>Default: `32`. |
45
+
| <nobr>--cpuct=NUM</nobr> | Cpuct MCTS option | C_puct constant from Upper Confidence Tree search algorithm. Higher values promote more exploration/wider search, lower values promote more confidence/deeper search.<br>Default: `1.2`. |
46
46
| <nobr>--temperature=NUM</nobr> | Initial temperature | Tau value from softmax formula. If equal to 0, the engine also picks the best move to make. Larger values increase randomness while making the move.<br>Default: `0`|
47
-
| <nobr>--tempdecay-moves=NUM</nobr> | Moves with temperature decay | Reduce temperature for every move linearly from initial temperature to 0, during this number of moves since game start. `0` disables tempdecay.<br>Default: `0`|
48
-
| -n,<br>--[no-]noise | Add Dirichlet noise at root node | Add noise to root node prior probabilities. That allows engine to explore moves which are known to be very bad, which is useful to discover new ideas during training.<br>Default: `false`|
49
-
| <nobr>--[no-]verbose-move-stats | Display verbose move stats | Display Q, V, N, U and P values of every move candidate after each move.<br>Default: `false`|
47
+
| <nobr>--tempdecay-moves=NUM</nobr> | Moves with temperature decay | Reduce temperature for every move linearly from initial temperature to `0`, during this number of moves since the game started. `0` disables temperature decay.<br>Default: `0`|
48
+
| -n,<br>--[no-]noise | Add Dirichlet noise to root node | Add noise to root node prior probabilities. This allows the engine to explore moves which are known to be very bad, and this is useful to discover new ideas during training.<br>Default: `false`|
49
+
| <nobr>--[no-]verbose-move-stats | Display verbose move stats | Display `Q`, `V`, `N`, `U` and `P` values of every move candidate after each move.<br>Default: `false`|
| --virtual-loss-bug=NUM | Virtual loss bug | Default: `0`|
52
-
| --fpu-reduction=NUM | First Play Urgency Reduction| Default: `0.2`|
53
-
| --cache-history-length=NUM |Length of history to include in cache | Default: `7`|
52
+
| --fpu-reduction=NUM | First Play Urgency reduction| Default: `0.2`|
53
+
| --cache-history-length=NUM |The length of history to include in the cache | Default: `7`|
54
54
| --extra-virtual-loss=NUM | Extra virtual loss | Default: `0`|
55
-
| -l,<br>--debuglog=FILENAME | Do debug logging into file | Default if off. (empty string) |
55
+
| -l,<br>--debuglog=FILENAME | Do debug logging into a file | Default is off (empty string) |
56
56
57
57
58
58
## Configuration Files
59
-
`lc0` supports using a configuration file instead of passing flags on the command line. The default configuration file is `lc0.config` but it can be changed with the `--config` command line flag. `lc0` configuration files only support the long flags that begin with `--` and there must be only 1 flag per line. Example:
59
+
`lc0` supports using a configuration file instead of passing flags on the command line. The default configuration file is `lc0.config`, but it can be changed with the `--config` command line flag. `lc0` configuration files only support the long flags that begin with `--`, and there must only be 1 flag per line. For example:
60
60
```
61
61
# Lines beginning with a # is a comment
62
62
--threads=1
@@ -70,15 +70,16 @@ debuglog=lc0.log
70
70
You can tell `lc0` to ignore the default configuration file by passing `--config=` on the command line. Command line arguments will override any arguments that also exist in the configuration file.
71
71
72
72
73
-
## Backend configuration
73
+
## Backend Configuration
74
74
75
-
To be written. That's the most interesting and undocumented!
75
+
To be explained. That's the most interesting and undocumented!
0 commit comments