Leela Chess Zero (lc0): как установить и настроить

Тема в разделе "Машинное отделение", создана пользователем WinPooh, 25 сен 2018.

  1. Master-d кмс

    • Заслуженный
    • Ветеран
    Рег.:
    05.06.2019
    Сообщения:
    12.971
    Симпатии:
    19.042
    Репутация:
    1.164
    Адрес:
    Москва
    Оффлайн
    Вновь приходится наблюдать, что человек, которому нечето сказать переходит к обсуждению оппонента. Не интересно.
    :popcorn:
  2. Goranflo Заслуженный

    • Заслуженный
    • Ветеран
    Рег.:
    30.09.2006
    Сообщения:
    27.389
    Симпатии:
    29.428
    Репутация:
    663
    Оффлайн
    Коллеги, вы выбрали для разборок не то место...
    Это техническая ветка, меряйтесь детородными органами в другом месте.
    Master-d нравится это.
  3. Mustitz Заслуженный

    • Заслуженный
    • Участник
    • Старожил
    Рег.:
    30.09.2006
    Сообщения:
    3.540
    Симпатии:
    1.257
    Репутация:
    36
    Адрес:
    Киев
    Оффлайн
    Сейчас я в этом далеко не уверен.
    Master-d нравится это.
  4. Alexander Заслуженный

    • Заслуженный
    • Участник
    • Старожил
    Рег.:
    12.02.2006
    Сообщения:
    3.483
    Симпатии:
    1.444
    Репутация:
    37
    Оффлайн
    :good:

    А вообще в эдванс побеждает тот, у кого больше времени. Человек тоже рано или поздно дойдет до того, что хотел донести ему движок :)
    Master-d нравится это.
  5. grizly Заблокирован

    • Заблокирован
    Рег.:
    10.05.2015
    Сообщения:
    395
    Симпатии:
    623
    Репутация:
    21
    Нарушения:
    32
    Оффлайн
    Детали могут зависеть от операционных систем на обоих концах. И ssh клиент и сервер должны быть сконфигурированы, чтобы пароль не нужно было вводить каждый раз. Преимущество ssh в том, что способ универльный — для любых операционных систем, но повозиться придется.
    Вот здесь в принципе рассказывается как запускается с ssh, правда, в качестве оболочки xboard.
    https://chess.stackexchange.com/questions/32599/xboard-and-a-remote-engine
    А здесь кто-то сделал скрипт для ssh, чтобы упростить.
    https://mattplayschess.com/ssh-engine/

    Последний раз я кажется это использовал, когда появились андроид, Chess for Android без поддержки удаленного соединения и Гудини. Год 2011, наверно. Телефоны и батареи на телефоне тогда слабенькими были. Вот на телефоне и был Гудини с компьютера, а чтобы проверить насколько лучше лучше играет по сравнению с телефонными движками, проводил турнир. Удаленный Гудини тогда выигрывал все партии под ноль. Может быть, с cutechess-cli на компьютере тоже пробовал в какой-то момент.
    svoitsl нравится это.
  6. svoitsl Учаcтник

    • Участник
    Рег.:
    06.01.2018
    Сообщения:
    374
    Симпатии:
    91
    Репутация:
    7
    Оффлайн
    На обоих концах Windows 7
    описание по ссылкам на редкость дерьмовое, оно ничего не описывает, скорее издевается
    что я сделал
    1 скачал openssh и установил
    2 запустил через него стокфиш - вроде работает, но запуск без пароля оказался не возможен
    (хоть с ключем, хоть без)
    поэтому ssh сразу в помойку
    завтра попробую ssh engin
    Но предварительно ясно что это тоже фуфло
  7. grizly Заблокирован

    • Заблокирован
    Рег.:
    10.05.2015
    Сообщения:
    395
    Симпатии:
    623
    Репутация:
    21
    Нарушения:
    32
    Оффлайн
    Если win7 и там и там, и на одной локальной сети под файерволом, где не нужно беспокоится об открытых портах, то попробуйте сначал InBetween там по ссылке. Это старая программа была, она обычно без проблем работала.
    Без пароля с комьютера, где оболочка, на комьютер, где движок зайти просто через ssh можете? Это необходимый шаг.
    Я не разбирался, но думаю, ему нужен будет работающий ssh
  8. svoitsl Учаcтник

    • Участник
    Рег.:
    06.01.2018
    Сообщения:
    374
    Симпатии:
    91
    Репутация:
    7
    Оффлайн
    давно скачал, но вот что с ней делать так и не полнял, она вместо ssh?
    Или куда ее запихнуть?

    Только если вводить пароль, ssh его зачем то запрапшивает даже в тех случаях когда не должна
    (запрос пароля отключен и создан и настроен файл ключа)

    хотелось бы уточнить кому он нужен, inbetween или ssh engine?
    Но скорее всего оба способа используют ssh поэтому оба - нерабочие
    Сделал пустой пароль - теперь войти вообще нельзя
    (все настройки ssh игнорирует, можно даже и не менять)
    Нашел единственный способ убрать запрос пароля - это вообще не запусать ssh
    но тогда не понятно как запустить Стокфиш
  9. grizly Заблокирован

    • Заблокирован
    Рег.:
    10.05.2015
    Сообщения:
    395
    Симпатии:
    623
    Репутация:
    21
    Нарушения:
    32
    Оффлайн
    А, нет, перепутал, не InBetween она называлась, а netChess. Сохранилась, смотрю, на wayback machine. Там же и Readme file есть.
    https://web.archive.org/web/20120323233233/http://home.arcor.de/bernhard.wallner/netChess.html
    Не нужно никакого для нее ssh, соединение не зашифрованное.

    Значит что-то неправильно настроено. На интернете есть руководства как настроить правильно. Вот одно. Я всего не помню поэтому не могу прокомментировать оно хорошее или искать другие.
    https://www.strongdm.com/blog/ssh-passwordless-login

    ssh engine
    svoitsl нравится это.
  10. svoitsl Учаcтник

    • Участник
    Рег.:
    06.01.2018
    Сообщения:
    374
    Симпатии:
    91
    Репутация:
    7
    Оффлайн
    Тоже так по началу думал, но причина оказала не в этом, она оказалась в том, что файл настроек sshd_config они зачем то поместили в %programdata%\ssh (не сказав при этом не слова)
    после чего Стокфиш стал запускаться из cmd
    но толку с этого было мало, так как движок не хочет запускаться из bat файла
    cutechess-cli.exe ^
    -event NNUE_Test ^
    -rounds 5 ^
    -games 2 ^
    -repeat ^
    -resign movecount=2 score=999 ^
    -draw score=19 movenumber=30 movecount=5 ^
    -maxmoves 129 ^
    -ratinginterval 50 ^
    -concurrency 1 ^
    -recover ^
    -engine name=stockfish cmd=stockfish.exe ^
    -engine name=stockfish2 cmd="ssh.exe mycomp@localhost c:\users\mycomp\cute\stockfish.exe" ^
    -each tc=10+0.1 proto=uci option.Threads=1 option.Hash=32 timemargin=100 ^
    -pgnout .\output.pgn fi

    pause

    пишет какую то муть

    Warning: Cannot start engine stockfish2:
    Cannot execute command: ssh.exe mycomp@localhost c:\users\mycomp\cute\stockfish.
    exe
    Finished match
  11. grizly Заблокирован

    • Заблокирован
    Рег.:
    10.05.2015
    Сообщения:
    395
    Симпатии:
    623
    Репутация:
    21
    Нарушения:
    32
    Оффлайн
    А как у вас удаленный комьютер называется? Почему здесь localhost?

    И как вы в командной строке движок на удаленном хосте запускаете, когда говорите, что работает?
  12. svoitsl Учаcтник

    • Участник
    Рег.:
    06.01.2018
    Сообщения:
    374
    Симпатии:
    91
    Репутация:
    7
    Оффлайн
    комп у меня пока один, и да, он и называется mycomp, просто я пока хочу проверить как он будет на одном компе работать, тут у меня нет второго (но если заработает на одном, то могу на виртуалке запустить)
    То есть я один двиг запускаю непосредственно (и к нему нет вопросов),
    -engine name=stockfish cmd=stockfish.exe ^
    а второй через ssh
    -engine name=stockfish2 cmd="ssh.exe mycomp@localhost c:\users\mycomp\cute\stockfish.exe" ^

    если в cmd запустить ssh.exe mycomp@localhost c:\users\mycomp\cute\stockfish.exe
    то Стокфиш заработает


    такой вариант тоже не работает
    -engine name=stockfish2 cmd="ssh.exe mycomp@localhost c:\users\mycomp\cute\stockfish.exe2" ^
    Но думаю, что это не верный путь, так как не понятно как оболочка будет передавать и получать данные от и на движок.
    Ну запустить она его и что дальше?

    кстати netchess по крайней мере теоретически выглядит лучше, каких либо противоречий не видно, и если правильно все сделано - мо может и заработает
  13. grizly Заблокирован

    • Заблокирован
    Рег.:
    10.05.2015
    Сообщения:
    395
    Симпатии:
    623
    Репутация:
    21
    Нарушения:
    32
    Оффлайн
    в команде для ssh, которую вы написали, mycomp не host, а login.
    здесь пароля не требует?
    может полный путь к ssh указать нужно
  14. svoitsl Учаcтник

    • Участник
    Рег.:
    06.01.2018
    Сообщения:
    374
    Симпатии:
    91
    Репутация:
    7
    Оффлайн
    название компа и есть логин

    может и требует, но об этом нигде на написано

    ssh находится в текеушей папке
  15. grizly Заблокирован

    • Заблокирован
    Рег.:
    10.05.2015
    Сообщения:
    395
    Симпатии:
    623
    Репутация:
    21
    Нарушения:
    32
    Оффлайн
    Ну то есть не требует? Должна просто запуститься стокфиш и ожидать uci команды, скажем,
    uci
    go depth 20
    И стокфиш должна откликаться и печатать вывод.
    Ну вот оболочка так и общается через uci, как можно вручную
    Про windows и что там в bat с путями или библиотеками я особо не знаю, но если предыдущее без пароля работает, то и бат можно заставить работать.
  16. svoitsl Учаcтник

    • Участник
    Рег.:
    06.01.2018
    Сообщения:
    374
    Симпатии:
    91
    Репутация:
    7
    Оффлайн
    нет, не должна, это я же я запускаю в оболочке и она может не все показывать, если через cmd запускать то конечно все работает

    это как раз не очевидно, так как cutechess- cli имеет свой формат командной строки
  17. svoitsl Учаcтник

    • Участник
    Рег.:
    06.01.2018
    Сообщения:
    374
    Симпатии:
    91
    Репутация:
    7
    Оффлайн
    Вариант netchess вероятно тоже не рабочий
    это
    -engine name=stockfish2 cmd="plink.exe mycomp@localhost -ssh c:\users\mycomp\cute\stockfish2.exe" ^
    тоже не работает
    и такой вариант тоже
    -engine name=stockfish2 cmd=st2.bat ^
    st2.bat
    "plink.exe mycomp@localhost -ssh c:\users\mycomp\cute\stockfish2.exe"

    если st2.bat запустить в cmd то стокфиш запустится, но работать не будет, с клавиатуры никаие команды ввести нельзя
  18. svoitsl Учаcтник

    • Участник
    Рег.:
    06.01.2018
    Сообщения:
    374
    Симпатии:
    91
    Репутация:
    7
    Оффлайн
    Все чудесатее и чедесатее
    вот это вроде бы рабоатает
    ssh.exe mycomp@localhost c:\users\mycomp\cute\stockfish2.exe
    а вот это уже нет
    ssh.exe mycomp@192.168.1.73 c:\users\mycomp\cute\stockfish2.exe
    как так?
    Откровенно говоря система просто убожеская
    она какого то х-ра лезет в файл ключей known_hosts (хотя даже служба авторизации по ключу не запущена)
    и не может никак догадаться что 192.168.1.73 это тоже самое, что и прописанное там localhost
  19. grizly Заблокирован

    • Заблокирован
    Рег.:
    10.05.2015
    Сообщения:
    395
    Симпатии:
    623
    Репутация:
    21
    Нарушения:
    32
    Оффлайн
    Вообще с таким описательным подходом непонятно, что у вас происходит.
    А с netChess не нужно ssh использовать, раз не работает. Там же стандартный способ без него.
  20. svoitsl Учаcтник

    • Участник
    Рег.:
    06.01.2018
    Сообщения:
    374
    Симпатии:
    91
    Репутация:
    7
    Оффлайн
    к сожалению кортинка с настройками клиента не загружается, ее удалили и не хотят восстанавливать
    а после нее есть загадочная строка
    For a connection via 'ssh' it is possible to enter a command instead of a port number, e.g.
    Linux: ssh UserName@RemoteHost /path/to/engine
    Windows: c:/winnt/system32/plink.exe UserName@RemoteHost -ssh -pw passwort /path/to/engine
    зачем они пределали ssh они уже и сами не помнят
    если запустить netstockfish.exe автономно то что то там работает, а если
    -engine name=stockfish2 cmd=netstockfish.exe ^
    то тоже конечно ничего не заботает
  21. grizly Заблокирован

    • Заблокирован
    Рег.:
    10.05.2015
    Сообщения:
    395
    Симпатии:
    623
    Репутация:
    21
    Нарушения:
    32
    Оффлайн
    Ехе файл, который сгенерировался нужно использовать.


    А перед этим запустить сервер
  22. svoitsl Учаcтник

    • Участник
    Рег.:
    06.01.2018
    Сообщения:
    374
    Симпатии:
    91
    Репутация:
    7
    Оффлайн
    все сделано, результата нет
  23. grizly Заблокирован

    • Заблокирован
    Рег.:
    10.05.2015
    Сообщения:
    395
    Симпатии:
    623
    Репутация:
    21
    Нарушения:
    32
    Оффлайн
    Ну еще бы я сказал, что нужно все таки два компьютера использовать, а не один. Может быть разница между внутренним и внешним интерфейсом
    —- добавлено: 1 июл 2024 —-
    ну значит не все сдеалано правильно
  24. svoitsl Учаcтник

    • Участник
    Рег.:
    06.01.2018
    Сообщения:
    374
    Симпатии:
    91
    Репутация:
    7
    Оффлайн
    для сети вообще это должно быть до лампочки
    все таки такой то вариант все же работает
    ssh.exe mycomp@192.168.1.73 c:\users\mycomp\cute\stockfish2.exe
    но для этого надо сделать черт знает что (длинную последователенить весьма не очевидных действий, которую уже фиг вопроизведешь)
    и то этот способ не факт что будет работать на реальной удаленной машине
    а вот netchess вроде бы работать должен, но не работает
    по непонятной причине

    Terminating process of engine stockfish2(1)

    Player: stockfish
    Player: stockfish2
    Warning: Could not initialize player stockfish2:


    в cmd сама по себе прога netstockfish.exe работает, правда почему то первоначальный лейбл движка не выводится, а выводится только после любой команды
    то есть настроено должно быть все правильно
    Попробовал на виртуалке - результат тот же самый
    в cmd сама по себе прога netstockfish.exe работает
    -engine name=stockfish2 cmd=netstockfish.exe ^
    уже не работает
    если cutechtss-cli олпределяет загрузилась ли прога по лейблу, то такой вариант работать не будет
    получается что netchess довольно кривая

    Решил убедиться в том, что авторы не правы, когда утверждают что она работает в Арене
    убедился, а арене она также не работает
    В Арене она иногда работает по неизвестным причинам, на по тем же причинам может и не работать
    то есть первую игру она пропустила, потом пару раз сыграла, ниу и на этом все
    P:S: Причина не стабильной работы в Арене были вызваны неверными настройками вирт машины, после их исправления работа стала нормальной
    Ещё пока мало статистики, но преварительно в арене она работать может

    Но через cutechess-cli по прежнему не работает
  25. svoitsl Учаcтник

    • Участник
    Рег.:
    06.01.2018
    Сообщения:
    374
    Симпатии:
    91
    Репутация:
    7
    Оффлайн
    Предварительно SSH оказался универсальным вариантом, рабоатет как в cutechess-cli, так и в арене
    Проверено, правда, только на виртуалке
    Краткая инструкция:
    На одном компе (сервере)
    1 Качаем Openssh
    https://github.com/PowerShell/Win32-OpenSSH/releases/download/v9.5.0.0p1-Beta/OpenSSH-Win64.zip
    2 Распаковываем в папку "c:\Program Files\OpenSSH"
    3 заходим в эту папку и запускаем cmd
    и запускаем так такую фигню
    powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
    4 заходим в папку c:\ProgramData\ssh
    в в файле sshd_config
    ставим такие параметры
    StrictModes no
    PasswordAuthentication yes
    PermitEmptyPasswords yes
    5 запускаем regedit и делаем там вот что
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa]
    "LimitBlankPasswordUse"=dword:00000000
    (если на компе сервера пароль не задан, то он и не будет спрашиваться)
    6 заходим в службы и запускаем OpenSSh , делаем автозапуск openssh сервера
    7 куда нибудь помещаем любимый движок
    8 перезапускаем комп
    на другом компе где оболочка будет ( клиенте)
    1 Выполняем п 1 и 2
    2 Проверяем такую команду в cmd
    ssh.exe login@ip_server <путь до движка на сервере с его именем>
    Если все хорошо (движок запускается)
    3 настраиваем оболочку
    например имя движка ssh; параметры командной строки login@ip_server <путь до движка на сервере с его именем>
  26. svoitsl Учаcтник

    • Участник
    Рег.:
    06.01.2018
    Сообщения:
    374
    Симпатии:
    91
    Репутация:
    7
    Оффлайн
    Выяснилось, что netChess
    https://web.archive.org/web/20120323233233/http://home.arcor.de/bernhard.wallner/netChess.html
    тоже вполне годный вариант
    причина неработы была в том, что надо было поставить дополнительный параметр текеущего каталога (dir=".") так как нужен файл настроек
    Ну и тайминг не такой уж жесткий, все таки по tcp и на виртуалке работает все не так уж быстро
    да и сами проги вероятно довольно тормазные (openssh получается быстрее)
    Если openssh вполне нормально работал с таймингом 10+0.1 , то netchess всегда пропускал время
    (хотя и был установлен лимит на превышение времени 100 мс )
    Просрочки времени прекратились только при инкременте 0.3 (и то не все)
  27. grizly Заблокирован

    • Заблокирован
    Рег.:
    10.05.2015
    Сообщения:
    395
    Симпатии:
    623
    Репутация:
    21
    Нарушения:
    32
    Оффлайн
    То есть вы проблему пароля обошли тем, что сконфигурировали ssh его не спрашивать совсем и не генерировали public/private key pair?
  28. svoitsl Учаcтник

    • Участник
    Рег.:
    06.01.2018
    Сообщения:
    374
    Симпатии:
    91
    Репутация:
    7
    Оффлайн
    Нет, к сожалению пришлось и у ОС пароль сделать пустым (на виртуалке он изначально был пустым, но все равно его ssh запрашивал и конечно вообще никак нельзя было запустить движек, просто Enter нужен был обязательно пароль), и в настройках (реестре) потребовалось разрешить пустой пароль
    только после этого ssh не стал его запрашивать (ну и самом собой в файле настроек ssh тоже 3 параметра пришлось поменять)
    Вроде удалось обойтись без ключа, тем более что в его работоспособности были большие сомнения
    Но в целом это дело темное
    Параноики - линуксоиды сперва проблем на свою задницу создают, а потом их пытаются решить.
  29. grizly Заблокирован

    • Заблокирован
    Рег.:
    10.05.2015
    Сообщения:
    395
    Симпатии:
    623
    Репутация:
    21
    Нарушения:
    32
    Оффлайн
    Весь функционал netChess (без gui) можно заменить неткэтом (netcat/nc). правда, там немного его source нужно подредактировать. Вот здесь например клиент для андроида был взят из netcat.

    И неткэт должен быстрее быть. Но если работает уже, то работает. На сети в любом случае задержки какие-то будут.
  30. svoitsl Учаcтник

    • Участник
    Рег.:
    06.01.2018
    Сообщения:
    374
    Симпатии:
    91
    Репутация:
    7
    Оффлайн
    то есть готовым exe файлом nc:exe нельзя все же?
    А telnet нельзя ли как нибудь приспособить?
  31. grizly Заблокирован

    • Заблокирован
    Рег.:
    10.05.2015
    Сообщения:
    395
    Симпатии:
    623
    Репутация:
    21
    Нарушения:
    32
    Оффлайн
    Насколько я помню, там одной из причин изменений была необходимость послать либо ввод либо "uci" после соединения, а на страндартном андроиде по умолчанию не было оболочки, которая позволяла это сделать. Кажется, на linux в bash уже можно было обойтись без изменений. Может быть еще что-то с перенаправлением ввода-вывода, но это не точно. Если хотите попробуйте им для начала, вместо engineClient подсоединиться к engineServer и дать движку какие-то uci команды.
    Про telnet не помню. В какой-то нетрадиционной функции я его точно использовал, но может не здесь.
    svoitsl нравится это.
  32. grizly Заблокирован

    • Заблокирован
    Рег.:
    10.05.2015
    Сообщения:
    395
    Симпатии:
    623
    Репутация:
    21
    Нарушения:
    32
    Оффлайн
    А, нет, на uci команду "quit" он не реагирует. А в турнире gui может ее слать и перезапускать движок заново.
    svoitsl нравится это.
  33. Комсюк народный модератор

    • Заблокирован
    Рег.:
    17.07.2011
    Сообщения:
    19.148
    Симпатии:
    23.329
    Репутация:
    1.254
    Нарушения:
    31
    Оффлайн
    Могу побыть судьёй, чисто техническим
    Paul2023 нравится это.
  34. Комсюк народный модератор

    • Заблокирован
    Рег.:
    17.07.2011
    Сообщения:
    19.148
    Симпатии:
    23.329
    Репутация:
    1.254
    Нарушения:
    31
    Оффлайн
    не имеет значения, сравниваем Сток и Лилу
  35. Комсюк народный модератор

    • Заблокирован
    Рег.:
    17.07.2011
    Сообщения:
    19.148
    Симпатии:
    23.329
    Репутация:
    1.254
    Нарушения:
    31
    Оффлайн
    судье присылается скрин, на форуме делается ход

Поделиться этой страницей