katago download
This commit is contained in:
1 parent
b26720844a
commit
219f327c20
23 files changed
+339
-30
No files matched your search
@@ -1,11 +1,17 @@
|
||||
# Example config for C++ (non-python) gtp bot
|
||||
|
||||
# SEE NOTES ABOUT PERFORMANCE AND MEMORY USAGE IN gtp_example.cfg
|
||||
# SEE NOTES ABOUT numSearchThreads AND OTHER IMPORTANT PARAMS BELOW!
|
||||
|
||||
# Logs------------------------------------------------------------------------------------
|
||||
|
||||
# Where to output log?
|
||||
logFile = "~/.katrain/katago_log.txt"
|
||||
# logFile = analysis.log # Use this instead of logDir to just specify a single file directly
|
||||
# logToStderr = true # Echo everything output to log file to stderr as well
|
||||
# logAllRequests = false # Log all input lines received to the analysis engine.
|
||||
# logAllResponses = false # Log all lines output to stdout from the analysis engine.
|
||||
# logSearchInfo = false # Log debug info for every search performed
|
||||
|
||||
# Controls the number of moves after the first move in a variation.
|
||||
# analysisPVLen = 15
|
||||
@@ -47,20 +53,56 @@ maxVisits = 500
|
||||
# If provided, cap search time at this many seconds
|
||||
# maxTime = 60
|
||||
|
||||
# Number of threads to use in each search in parallel for any SINGLE position.
|
||||
# NOTE: Analysis engine can specify number of POSITIONS to be able to search in parallel via command line argument
|
||||
# so this number does not necessarily need to be larger than 1, although you can still set it larger if you prefer
|
||||
# to analyze fewer positions in parallel but spend more threads on each position.
|
||||
# Generally, having more threads on a single position will worsen the quality of search slightly, holding fixed the
|
||||
# number of visits, and thread contention will reduce efficiency, so cross-position parallelization is preferable
|
||||
# to numSearchThreads, but numSearchThreads is preferable if you want to reduce latency, and have individual
|
||||
# searches complete faster by doing fewer of them at a time.
|
||||
numSearchThreads = 6
|
||||
|
||||
# GPU Settings-------------------------------------------------------------------------------
|
||||
# numSearchThreads is the number of threads to use in each MCTS tree search in parallel for any individual position.
|
||||
# But NOTE: Analysis engine also specifies max number of POSITIONS to be able to search in parallel via command line
|
||||
# argument, -num-analysis-threads.
|
||||
|
||||
# Parallelization across positions is more efficient since the threads on different positions operate
|
||||
# on different MCTS trees so they don't have to synchronize with each other. Also, multiple threads on the same MCTS
|
||||
# tree weakens the search (holding playouts fixed) due to out of date statistics on nodes and suboptimal exploration,
|
||||
# although the loss is still quite small for only 2,4,8 threads. So you often want to keep numSearchThreads small,
|
||||
# unlike in GTP.
|
||||
|
||||
# But obviously you only get the benefit of parallelization across positions when you actually have lots of positions
|
||||
# that you are querying at once.
|
||||
|
||||
# Therefore:
|
||||
# * If you plan to use the analysis engine only for batch processing large numbers of positions,
|
||||
# it's preferable to set this to only a small number (e.g. 1,2,4) and use a higher -num-analysis-threads.
|
||||
# * But if you sometimes plan to query the analysis engine for single positions, or otherwise in smaller quantities
|
||||
# than -num-analysis-threads, or if you plan to be user-interactive such that the response time on some individual
|
||||
# analysis requests is important to keep low, then set this to a larger number and use somewhat fewer analysis threads,
|
||||
# That way, individual searches complete faster due to having more threads on each one and doing fewer other ones at a time.
|
||||
|
||||
# For 19x19 boards, weaker GPUs probably want a TOTAL number of threads (numSearchThreads * num-analysis-threads)
|
||||
# between 4 and 32. Mid-tier GPUs probably between 16 and 64. Strong GPUs probably between 32 and 256.
|
||||
# But there's no substitute for experimenting and seeing what's best for your hardware and your usage case.
|
||||
# Keep in mind that the number of threads you want doesn't necessarily have much to do with how many cores you
|
||||
# have on your system, and could easily exceed the number of cores. GPU batching is (usually) the dominant consideration.
|
||||
numSearchThreads = 10
|
||||
|
||||
|
||||
# nnMaxBatchSize is the max number of positions to send to a single GPU at once. Generally, it should be the case that:
|
||||
# (number of GPUs you will use * nnMaxBatchSize) >= (numSearchThreads * num-analysis-threads)
|
||||
# That way, when each threads tries to request a GPU eval, your batch size summed across GPUs is large enough to handle them
|
||||
# all at once. However, it can be sensible to set this a little smaller if you are limited on GPU memory,
|
||||
# too large a number may fail if the GPU doesn't have enough memory.
|
||||
nnMaxBatchSize = 96
|
||||
|
||||
# Uncomment and set these smaller if you ONLY are going to use the analysis engine for smaller boards (or plan to
|
||||
# run multiple instances, with some instances only handling smaller boards). It should improve performance.
|
||||
# It may also mean you can use more threads profitably.
|
||||
# maxBoardXSizeForNNBuffer = 19
|
||||
# maxBoardYSizeForNNBuffer = 19
|
||||
|
||||
# TO USE MULTIPLE GPUS:
|
||||
# Uncomment and set this to the number of GPUs you have and/or would like to use...
|
||||
# AND if it is more than 1, uncomment the appropriate CUDA or OpenCL section below.
|
||||
# numNNServerThreadsPerModel = 1
|
||||
|
||||
# Other General GPU Settings-------------------------------------------------------------------------------
|
||||
|
||||
# Maximum number of positions to send to GPU at once.
|
||||
nnMaxBatchSize = 72
|
||||
# Cache up to 2 ** this many neural net evaluations in case of transpositions in the tree.
|
||||
nnCacheSizePowerOfTwo = 19
|
||||
# Size of mutex pool for nnCache is 2 ** this
|
||||
@@ -99,7 +141,6 @@ nnRandomize = true
|
||||
# cudaUseFP16 = auto
|
||||
# cudaUseNHWC = auto
|
||||
|
||||
|
||||
# OpenCL GPU settings--------------------------------------
|
||||
# These only apply when using the OpenCL version of KataGo.
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
+2
-1
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"engine": {
|
||||
"katago": "",
|
||||
"altcommand": "",
|
||||
"model": "katrain/models/g170e-b15c192-s1672170752-d466197061.bin.gz",
|
||||
"config": "katrain/KataGo/analysis_config.cfg",
|
||||
"threads": 12,
|
||||
@@ -16,7 +17,7 @@
|
||||
"anim_pv_time": 0.5,
|
||||
"debug_level": 0,
|
||||
"lang": "en",
|
||||
"version": "1.3.5"
|
||||
"version": "1.4.0"
|
||||
},
|
||||
"timer": {
|
||||
"byo_length": 30,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
VERSION = "1.3.5"
|
||||
VERSION = "1.4.0"
|
||||
HOMEPAGE = "https://github.com/sanderland/katrain"
|
||||
CONFIG_MIN_VERSION = "1.3.3" # keep config files from this version
|
||||
CONFIG_MIN_VERSION = "1.4.0" # keep config files from this version
|
||||
|
||||
OUTPUT_ERROR = -1
|
||||
OUTPUT_KATAGO_STDERR = -0.5
|
||||
|
||||
+114
-1
@@ -2,6 +2,7 @@ import glob
|
||||
import os
|
||||
import re
|
||||
from typing import Any, Dict, List, Tuple, Union
|
||||
from zipfile import ZipFile
|
||||
|
||||
from kivy.clock import Clock
|
||||
from kivy.metrics import dp
|
||||
@@ -10,6 +11,7 @@ from kivy.uix.anchorlayout import AnchorLayout
|
||||
from kivy.uix.boxlayout import BoxLayout
|
||||
from kivy.uix.label import Label
|
||||
from kivy.uix.popup import Popup
|
||||
from kivy.utils import platform
|
||||
from kivymd.app import MDApp
|
||||
from kivymd.uix.boxlayout import MDBoxLayout
|
||||
from kivymd.uix.selectioncontrol import MDCheckbox
|
||||
@@ -374,12 +376,14 @@ class ConfigPopup(QuickConfigGui):
|
||||
def __init__(self, katrain):
|
||||
super().__init__(katrain)
|
||||
self.paths = [self.katrain.config("engine/model"), "katrain/models", "~/.katrain"]
|
||||
self.katago_paths = [self.katrain.config("engine/katago"), "katrain/KataGo", "~/.katrain"]
|
||||
MDApp.get_running_app().bind(language=self.check_models)
|
||||
MDApp.get_running_app().bind(language=self.check_katas)
|
||||
|
||||
def build_and_set_properties(self, *_args):
|
||||
super().build_and_set_properties()
|
||||
|
||||
def check_models(self, *args): # WIP
|
||||
def check_models(self, *args):
|
||||
done = set()
|
||||
model_files = []
|
||||
for path in self.paths + [self.model_path.text]:
|
||||
@@ -405,12 +409,55 @@ class ConfigPopup(QuickConfigGui):
|
||||
self.model_files.values = [models_available_msg] + model_files
|
||||
self.model_files.text = models_available_msg
|
||||
|
||||
def check_katas(self, *args):
|
||||
done = set()
|
||||
model_files = []
|
||||
for path in self.katago_paths + [self.katago_path.text]:
|
||||
path = path.rstrip("/\\")
|
||||
if path.startswith("katrain"):
|
||||
path = path.replace("katrain", PATHS["PACKAGE"].rstrip("/\\"), 1)
|
||||
path = os.path.expanduser(path)
|
||||
if not os.path.isdir(path):
|
||||
path, _file = os.path.split(path)
|
||||
slashpath = path.replace("\\", "/")
|
||||
if slashpath in done or not os.path.isdir(path):
|
||||
continue
|
||||
done.add(slashpath)
|
||||
files = [
|
||||
f.replace("/", os.path.sep).replace(PATHS["PACKAGE"], "katrain")
|
||||
for ftype in ["katago*"]
|
||||
for f in glob.glob(slashpath + "/" + ftype)
|
||||
if os.path.isfile(f) and not f.endswith(".zip")
|
||||
]
|
||||
if files and path not in self.paths:
|
||||
self.paths.append(path) # persistent on paths with models found
|
||||
model_files += files
|
||||
katas_available_msg = i18n._("katago binaries available").format(num=len(model_files))
|
||||
self.katago_files.values = [katas_available_msg, i18n._("default katago option")] + model_files
|
||||
self.katago_files.text = katas_available_msg
|
||||
|
||||
MODELS = {
|
||||
"latest 20b": "https://github.com/lightvector/KataGo/releases/download/v1.4.5/g170e-b20c256x2-s5303129600-d1228401921.bin.gz",
|
||||
"latest 30b": "https://github.com/lightvector/KataGo/releases/download/v1.4.5/g170-b30c320x2-s4824661760-d1229536699.bin.gz",
|
||||
"latest 40b": "https://github.com/lightvector/KataGo/releases/download/v1.4.5/g170-b40c256x2-s5095420928-d1229425124.bin.gz",
|
||||
}
|
||||
|
||||
KATAGOS = {
|
||||
"windows": {
|
||||
"Official OpenCL v1.6.0": "https://github.com/lightvector/KataGo/releases/download/v1.6.0/katago-v1.6.0-gpu-opencl-windows-x64.zip",
|
||||
"Official OpenCL v1.6.0 (32 bit)": "https://github.com/lightvector/KataGo/releases/download/v1.6.0/katago-v1.6.0-gpu-opencl-windows-x32-dont-use-unless-actually-32bit-windows.zip",
|
||||
"Official CUDA v1.6.0 (New NVIDIA cards)": "https://github.com/lightvector/KataGo/releases/download/v1.6.0/katago-v1.6.0-gpu-cuda10.2-windows-x64.zip",
|
||||
"Eigen AVX2 (Modern CPUs) v1.6.0": "https://github.com/lightvector/KataGo/releases/download/v1.6.0/katago-v1.6.0-cpu-eigen-avx2-windows-x64.zip",
|
||||
"Eigen (CPU, Non-optimized) v1.6.0": "https://github.com/lightvector/KataGo/releases/download/v1.6.0/katago-v1.6.0-cpu-eigen-windows-x64.zip",
|
||||
},
|
||||
"linux": {
|
||||
"Official OpenCL v1.6.0": "https://github.com/lightvector/KataGo/releases/download/v1.6.0/katago-v1.6.0-gpu-opencl-linux-x64.zip",
|
||||
"Official CUDA v1.6.0 (New NVIDIA cards)": "https://github.com/lightvector/KataGo/releases/download/v1.6.0/katago-v1.6.0-gpu-cuda10.2-linux-x64.zip",
|
||||
"Eigen AVX2 (Modern CPUs) v1.6.0": "https://github.com/lightvector/KataGo/releases/download/v1.6.0/katago-v1.6.0-cpu-eigen-avx2-linux-x64.zip",
|
||||
"Eigen (CPU, Non-optimized) v1.6.0": "https://github.com/lightvector/KataGo/releases/download/v1.6.0/katago-v1.6.0-cpu-eigen-linux-x64.zip",
|
||||
},
|
||||
}
|
||||
|
||||
def download_models(self, *_largs):
|
||||
def download_complete(req, tmp_path, path, model):
|
||||
try:
|
||||
@@ -452,6 +499,72 @@ class ConfigPopup(QuickConfigGui):
|
||||
self.download_progress_box.add_widget(Label(text=i18n._("All models downloaded"), text_size=(None, dp(50))))
|
||||
print("x")
|
||||
|
||||
def download_katas(self, *_largs):
|
||||
def unzipped_name(zipfile):
|
||||
if platform == "windows":
|
||||
return zipfile.replace(".zip", ".exe")
|
||||
else:
|
||||
return zipfile.replace(".zip", "")
|
||||
|
||||
def download_complete(req, tmp_path, path, binary):
|
||||
try:
|
||||
if tmp_path.endswith(".zip"):
|
||||
with ZipFile(tmp_path, "r") as zipObj:
|
||||
exes = [f for f in zipObj.namelist() if f.startswith("katago")]
|
||||
if len(exes) != 1:
|
||||
raise FileNotFoundError(
|
||||
f"Zip file {tmp_path} does not contain exactly 1 file starting with 'katago' (contents: {zipObj.namelist()})"
|
||||
)
|
||||
with open(path, "wb") as fout:
|
||||
fout.write(zipObj.read(exes[0]))
|
||||
else:
|
||||
os.rename(tmp_path, path)
|
||||
self.katrain.log(f"Download of katago binary {binary} model complete -> {path}", OUTPUT_INFO)
|
||||
except Exception as e:
|
||||
self.katrain.log(
|
||||
f"Download of katago binary {binary} complete, but could not move file: {e}", OUTPUT_ERROR
|
||||
)
|
||||
self.check_katas()
|
||||
|
||||
for c in self.download_progress_box.children:
|
||||
if isinstance(c, ProgressLoader) and c.request:
|
||||
c.request.cancel()
|
||||
self.katago_download_progress_box.clear_widgets()
|
||||
downloading = False
|
||||
for name, url in self.KATAGOS.get(platform, {}).items():
|
||||
filename = os.path.split(url)[1]
|
||||
exe_name = unzipped_name(filename)
|
||||
if not any(os.path.split(f)[1] == exe_name for f in self.katago_files.values):
|
||||
savepath_tmp = os.path.expanduser(os.path.join("~/.katrain", filename))
|
||||
exe_path_name = os.path.expanduser(os.path.join("~/.katrain", exe_name))
|
||||
self.katrain.log(f"Downloading binary {name} from {url} to {savepath_tmp}", OUTPUT_INFO)
|
||||
progress = ProgressLoader(
|
||||
download_url=url,
|
||||
path_to_file=savepath_tmp,
|
||||
downloading_text=f"Downloading {name}: " + "{}",
|
||||
label_downloading_text=f"Starting download for {name}",
|
||||
download_complete=lambda req, tmp=savepath_tmp, path=exe_path_name, model=name: download_complete(
|
||||
req, tmp, path, model
|
||||
),
|
||||
download_redirected=lambda req, mname=name: self.katrain.log(
|
||||
f"Download {mname} redirected {req.resp_headers}", OUTPUT_DEBUG
|
||||
),
|
||||
download_error=lambda req, error, mname=name: self.katrain.log(
|
||||
f"Download of {mname} failed or cancelled ({error})", OUTPUT_ERROR
|
||||
),
|
||||
)
|
||||
progress.start(self.katago_download_progress_box)
|
||||
downloading = True
|
||||
if not downloading:
|
||||
if not self.KATAGOS.get(platform):
|
||||
self.katago_download_progress_box.add_widget(
|
||||
Label(text=f"No binaries available for platform {platform}", text_size=(None, dp(50)))
|
||||
)
|
||||
else:
|
||||
self.katago_download_progress_box.add_widget(
|
||||
Label(text=i18n._("All binaries downloaded"), text_size=(None, dp(50)))
|
||||
)
|
||||
|
||||
def update_config(self, save_to_file=True):
|
||||
updated = super().update_config(save_to_file=save_to_file)
|
||||
self.katrain.debug_level = self.katrain.config("general/debug_level", OUTPUT_INFO)
|
||||
|
||||
Binary file not shown.
@@ -617,3 +617,19 @@ msgstr ""
|
||||
#. TODO
|
||||
msgid "engine:altcommand"
|
||||
msgstr "Override Engine Command"
|
||||
|
||||
#. TODO - button in general settings for downloading models
|
||||
msgid "download katago button"
|
||||
msgstr "Download KataGo versions"
|
||||
|
||||
#. TODO - shown on on the model select dropdown
|
||||
msgid "katago binaries available"
|
||||
msgstr "{num} available binaries found"
|
||||
|
||||
#. TODO - shown on on the katago binary select dropdown
|
||||
msgid "default katago option"
|
||||
msgstr "Detect platform and use provided binary"
|
||||
|
||||
#. TODO - error message on trying to download models when already done
|
||||
msgid "All binaries downloaded"
|
||||
msgstr "All available binaries already downloaded"
|
||||
Binary file not shown.
@@ -655,9 +655,25 @@ msgstr "Colour Theme"
|
||||
#. TODO
|
||||
msgid "engine:altcommand:hint"
|
||||
msgstr ""
|
||||
"Full command used to start the engine, for e.g. using plink to connect to a "
|
||||
"remote engine. All other model options will be ignored."
|
||||
"Full command used to start the engine. All other model options will be "
|
||||
"ignored."
|
||||
|
||||
#. TODO
|
||||
msgid "engine:altcommand"
|
||||
msgstr "Override Engine Command"
|
||||
|
||||
#. TODO - button in general settings for downloading models
|
||||
msgid "download katago button"
|
||||
msgstr "Download KataGo versions"
|
||||
|
||||
#. TODO - shown on on the model select dropdown
|
||||
msgid "katago binaries available"
|
||||
msgstr "{num} available binaries found"
|
||||
|
||||
#. TODO - shown on on the katago binary select dropdown
|
||||
msgid "default katago option"
|
||||
msgstr "Detect platform and use provided binary"
|
||||
|
||||
#. TODO - error message on trying to download models when already done
|
||||
msgid "All binaries downloaded"
|
||||
msgstr "All available binaries already downloaded"
|
||||
Binary file not shown.
@@ -416,8 +416,8 @@ msgstr "Override Engine Command"
|
||||
|
||||
msgid "engine:altcommand:hint"
|
||||
msgstr ""
|
||||
"Full command used to start the engine, for e.g. using plink to connect to a "
|
||||
"remote engine. All other model options will be ignored."
|
||||
"Full command used to start the engine. All other model options will be "
|
||||
"ignored."
|
||||
|
||||
msgid "engine:max_visits"
|
||||
msgstr "Maximum number of visits in analysis"
|
||||
@@ -636,14 +636,30 @@ msgstr "Estimated Strength"
|
||||
msgid "download models button"
|
||||
msgstr "Download Models"
|
||||
|
||||
#. button in general settings for downloading models
|
||||
msgid "download katago button"
|
||||
msgstr "Download KataGo versions"
|
||||
|
||||
#. shown on on the model select dropdown
|
||||
msgid "models available"
|
||||
msgstr "{num} available model(s) found"
|
||||
|
||||
#. shown on on the katago binary select dropdown
|
||||
msgid "default katago option"
|
||||
msgstr "Detect platform and use provided binary"
|
||||
|
||||
#. shown on on the model select dropdown
|
||||
msgid "katago binaries available"
|
||||
msgstr "{num} available binaries found"
|
||||
|
||||
#. error message on trying to download models when already done
|
||||
msgid "All models downloaded"
|
||||
msgstr "All available models already downloaded"
|
||||
|
||||
#. error message on trying to download models when already done
|
||||
msgid "All binaries downloaded"
|
||||
msgstr "All available binaries already downloaded"
|
||||
|
||||
#. label in little popup for analyzing entire game
|
||||
msgid "reanalyze max visits"
|
||||
msgstr "Number of visits per move"
|
||||
|
||||
Binary file not shown.
@@ -657,3 +657,19 @@ msgstr ""
|
||||
#. TODO
|
||||
msgid "engine:altcommand"
|
||||
msgstr "Override Engine Command"
|
||||
|
||||
#. TODO - button in general settings for downloading models
|
||||
msgid "download katago button"
|
||||
msgstr "Download KataGo versions"
|
||||
|
||||
#. TODO - shown on on the model select dropdown
|
||||
msgid "katago binaries available"
|
||||
msgstr "{num} available binaries found"
|
||||
|
||||
#. TODO - shown on on the katago binary select dropdown
|
||||
msgid "default katago option"
|
||||
msgstr "Detect platform and use provided binary"
|
||||
|
||||
#. TODO - error message on trying to download models when already done
|
||||
msgid "All binaries downloaded"
|
||||
msgstr "All available binaries already downloaded"
|
||||
Binary file not shown.
@@ -692,9 +692,25 @@ msgstr "Colour Theme"
|
||||
#. TODO
|
||||
msgid "engine:altcommand:hint"
|
||||
msgstr ""
|
||||
"Full command used to start the engine, for e.g. using plink to connect to a "
|
||||
"remote engine. All other model options will be ignored."
|
||||
"Full command used to start the engine. All other model options will be "
|
||||
"ignored."
|
||||
|
||||
#. TODO
|
||||
msgid "engine:altcommand"
|
||||
msgstr "Override Engine Command"
|
||||
|
||||
#. TODO - button in general settings for downloading models
|
||||
msgid "download katago button"
|
||||
msgstr "Download KataGo versions"
|
||||
|
||||
#. TODO - shown on on the model select dropdown
|
||||
msgid "katago binaries available"
|
||||
msgstr "{num} available binaries found"
|
||||
|
||||
#. TODO - shown on on the katago binary select dropdown
|
||||
msgid "default katago option"
|
||||
msgstr "Detect platform and use provided binary"
|
||||
|
||||
#. TODO - error message on trying to download models when already done
|
||||
msgid "All binaries downloaded"
|
||||
msgstr "All available binaries already downloaded"
|
||||
Binary file not shown.
@@ -640,3 +640,19 @@ msgstr "エンジン起動コマンド全体 (plinkでリモートエンジン
|
||||
|
||||
msgid "engine:altcommand"
|
||||
msgstr "エンジンコマンドの上書き"
|
||||
|
||||
#. TODO - button in general settings for downloading models
|
||||
msgid "download katago button"
|
||||
msgstr "Download KataGo versions"
|
||||
|
||||
#. TODO - shown on on the model select dropdown
|
||||
msgid "katago binaries available"
|
||||
msgstr "{num} available binaries found"
|
||||
|
||||
#. TODO - shown on on the katago binary select dropdown
|
||||
msgid "default katago option"
|
||||
msgstr "Detect platform and use provided binary"
|
||||
|
||||
#. TODO - error message on trying to download models when already done
|
||||
msgid "All binaries downloaded"
|
||||
msgstr "All available binaries already downloaded"
|
||||
Binary file not shown.
@@ -627,9 +627,25 @@ msgstr "Colour Theme"
|
||||
#. TODO
|
||||
msgid "engine:altcommand:hint"
|
||||
msgstr ""
|
||||
"Full command used to start the engine, for e.g. using plink to connect to a "
|
||||
"remote engine. All other model options will be ignored."
|
||||
"Full command used to start the engine. All other model options will be "
|
||||
"ignored."
|
||||
|
||||
#. TODO
|
||||
msgid "engine:altcommand"
|
||||
msgstr "Override Engine Command"
|
||||
|
||||
#. TODO - button in general settings for downloading models
|
||||
msgid "download katago button"
|
||||
msgstr "Download KataGo versions"
|
||||
|
||||
#. TODO - shown on on the model select dropdown
|
||||
msgid "katago binaries available"
|
||||
msgstr "{num} available binaries found"
|
||||
|
||||
#. TODO - shown on on the katago binary select dropdown
|
||||
msgid "default katago option"
|
||||
msgstr "Detect platform and use provided binary"
|
||||
|
||||
#. TODO - error message on trying to download models when already done
|
||||
msgid "All binaries downloaded"
|
||||
msgstr "All available binaries already downloaded"
|
||||
Binary file not shown.
@@ -652,9 +652,25 @@ msgstr "Colour Theme"
|
||||
#. TODO
|
||||
msgid "engine:altcommand:hint"
|
||||
msgstr ""
|
||||
"Full command used to start the engine, for e.g. using plink to connect to a "
|
||||
"remote engine. All other model options will be ignored."
|
||||
"Full command used to start the engine. All other model options will be "
|
||||
"ignored."
|
||||
|
||||
#. TODO
|
||||
msgid "engine:altcommand"
|
||||
msgstr "Override Engine Command"
|
||||
|
||||
#. TODO - button in general settings for downloading models
|
||||
msgid "download katago button"
|
||||
msgstr "Download KataGo versions"
|
||||
|
||||
#. TODO - shown on on the model select dropdown
|
||||
msgid "katago binaries available"
|
||||
msgstr "{num} available binaries found"
|
||||
|
||||
#. TODO - shown on on the katago binary select dropdown
|
||||
msgid "default katago option"
|
||||
msgstr "Detect platform and use provided binary"
|
||||
|
||||
#. TODO - error message on trying to download models when already done
|
||||
msgid "All binaries downloaded"
|
||||
msgstr "All available binaries already downloaded"
|
||||
+29
-3
@@ -80,23 +80,45 @@
|
||||
<ConfigPopup>:
|
||||
configfile: configfile
|
||||
model_path: model_path
|
||||
katago_path: katago_path
|
||||
model_files: model_files
|
||||
katago_files: katago_files
|
||||
download_progress_box: download_progress_box
|
||||
katago_download_progress_box: katago_download_progress_box
|
||||
DescriptionLabel:
|
||||
text: i18n._('katago settings')
|
||||
font_size: DESC_FONT_SIZE * 1.5
|
||||
GridLayout:
|
||||
cols: 2
|
||||
rows: 5
|
||||
size_hint: 1,5
|
||||
rows: 6
|
||||
size_hint: 1,6
|
||||
spacing: CP_SPACING
|
||||
DescriptionLabel:
|
||||
text: i18n._("engine:katago")
|
||||
size_hint: 0.33, 1
|
||||
AnchorLayout:
|
||||
LabelledPathInput:
|
||||
id: katago_path
|
||||
input_property: "engine/katago"
|
||||
hint_text: i18n._("engine:katago:hint")
|
||||
on_text: root.check_katas()
|
||||
AnchorLayout:
|
||||
size_hint: 0.33, 1
|
||||
AutoSizedRoundedRectangleButton:
|
||||
text: i18n._("download katago button")
|
||||
on_press: root.download_katas()
|
||||
size_hint_y: 0.7
|
||||
AnchorLayout:
|
||||
Spinner:
|
||||
id: katago_files
|
||||
text: ''
|
||||
on_text:
|
||||
if self.text and self.text == self.values[1]: katago_path.text = ''
|
||||
elif self.text and self.text != self.values[0]: katago_path.text = args[1]
|
||||
size_hint_y: 0.7
|
||||
sync_height_frac: 1.0
|
||||
-font_size: self.height * 0.5
|
||||
-background_color: [*[c*255/88 for c in BOX_BACKGROUND_COLOR[:3]], 1] # compensate for texture
|
||||
DescriptionLabel:
|
||||
text: i18n._("engine:config")
|
||||
size_hint: 0.33, 1
|
||||
@@ -207,9 +229,13 @@
|
||||
orientation: 'horizontal'
|
||||
size_hint: 1,1.5
|
||||
MDBoxLayout:
|
||||
size_hint_x: 4 if self.children else 0.0001
|
||||
size_hint_x: 3.5 if self.children else 0.0001
|
||||
orientation: 'vertical'
|
||||
id: download_progress_box
|
||||
MDBoxLayout:
|
||||
size_hint_x: 3.5 if self.children else 0.0001
|
||||
orientation: 'vertical'
|
||||
id: katago_download_progress_box
|
||||
AnchorLayout:
|
||||
AutoSizedRoundedRectangleButton:
|
||||
padding_x: 15
|
||||
|
||||
Reference in new issue
Block a user