diff --git a/docs/machine_translate.py b/docs/machine_translate.py index f9d7f6f7..05cb2bf8 100644 --- a/docs/machine_translate.py +++ b/docs/machine_translate.py @@ -63,7 +63,7 @@ def _one_restful_request(self, query): } for retry in range(self.num_retry): try: - response = httpx.post(self.url, headers=headers, json=data) + response = httpx.post(self.url, headers=headers, json=data, timeout=30.0) json_response = response.json() except Exception: import traceback @@ -102,7 +102,7 @@ def query(self, query): po = polib.pofile("docs/source/locale/zh/LC_MESSAGES/docs.po") try: for entry in po: - if entry.msgstr: + if entry.msgstr and not entry.fuzzy: continue if pattern.match(entry.msgid) or entry.msgid.startswith("\n" -"Language-Team: Chinese (Simplified Han script) \n" +"Language-Team: Chinese (Simplified Han script) \n" "Language: zh\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.10-dev\n" "Generated-By: Babel 2.16.0\n" +"X-Generator: Weblate 5.10-dev\n" #: ../../source/apidocs/evox/evox.md:1 msgid "{py:mod}`evox`" @@ -335,16 +334,16 @@ msgid "{py:obj}`rand_2_bin `" msgstr "{py:obj}`rand_2_bin `" #: ../../source/apidocs/evox/evox.algorithms.de_variants.code.md:38 -msgid "{py:obj}`current2rand_1 `" -msgstr "{py:obj}`current2rand_1 `" +msgid "" +"{py:obj}`current2rand_1 `" +msgstr "" +"{py:obj}`current2rand_1 `" #: ../../source/apidocs/evox/evox.algorithms.de_variants.code.md:42 msgid "" -"{py:obj}`rand2best_2_bin " -"`" +"{py:obj}`rand2best_2_bin `" msgstr "" -"{py:obj}`rand2best_2_bin " -"`" +"{py:obj}`rand2best_2_bin `" #: ../../source/apidocs/evox/evox.algorithms.de_variants.code.md:46 msgid "" @@ -415,8 +414,8 @@ msgid "" "trial vector generation strategies and control parameters[J]. IEEE " "transactions on evolutionary computation, 2011, 15(1): 55-66." msgstr "" -"参考文献: Wang Y, Cai Z, Zhang Q. 使用复合试验向量生成策略和控制参数的差分进化[J]. IEEE 进化计算交易, " -"2011, 15(1): 55-66." +"参考文献: Wang Y, Cai Z, Zhang Q. 使用复合试验向量生成策略和控制参数的差分进化[J]. IEEE 进化计算交易, 2011, " +"15(1): 55-66." #: ../../source/apidocs/evox/evox.algorithms.de_variants.code.md:113 #: ../../source/apidocs/evox/evox.algorithms.de_variants.de.md:35 @@ -584,9 +583,8 @@ msgid "The upper bounds of the search space. Must be a 1D tensor." msgstr "搜索空间的上界。必须是一个一维张量。" #: ../../../src/evox/algorithms/de_variants/code.py:122 -#, fuzzy msgid "The number of differential padding vectors to use. Defaults to 5." -msgstr "运行的最大的时间步的数量。" +msgstr "使用的差分填充向量数量。默认值为 5。" #: ../../../src/evox/algorithms/de_variants/code.py:123 msgid "" @@ -654,23 +652,22 @@ msgstr "`__init__`: 使用给定的参数初始化 DE 算法,包括种群大 #: ../../../src/evox/algorithms/de_variants/jade.py:38 #: ../../../src/evox/algorithms/de_variants/ode.py:38 msgid "" -"`init_step`: Performs the initial evaluation of the population's fitness " -"and proceeds to the first optimization step." +"`init_step`: Performs the initial evaluation of the population's fitness and" +" proceeds to the first optimization step." msgstr "`init_step`: 执行种群适应度的初始评估,并进入第一次优化步骤。" #: ../../../src/evox/algorithms/de_variants/de.py:39 msgid "" -"`step`: Executes a single optimization step of the DE algorithm, " -"involving mutation, crossover, and selection processes." +"`step`: Executes a single optimization step of the DE algorithm, involving " +"mutation, crossover, and selection processes." msgstr "`step`:执行DE算法的单个优化步骤,包括变异、交叉和选择过程。" #: ../../../src/evox/algorithms/de_variants/de.py:41 #: ../../../src/evox/algorithms/de_variants/jade.py:41 #: ../../../src/evox/algorithms/de_variants/ode.py:41 msgid "" -"Note that the `evaluate` method is not defined in this class. It is " -"expected to be provided by the `Problem` class or another external " -"component." +"Note that the `evaluate` method is not defined in this class. It is expected" +" to be provided by the `Problem` class or another external component." msgstr "请注意,`evaluate` 方法在这个类中未定义。它预计由 `Problem` 类或其他外部组件提供。" #: ../../../src/evox/algorithms/de_variants/de.py:39 @@ -679,24 +676,23 @@ msgstr "使用给定的参数初始化 DE 算法。" #: ../../../src/evox/algorithms/de_variants/de.py:44 #: ../../../src/evox/algorithms/de_variants/ode.py:44 -#, fuzzy msgid "" -"The base vector type used in mutation. Either \"best\" or \"rand\". " -"Defaults to \"rand\"." -msgstr "状态之中对应种群变量的变量名。默认是“population”。" +"The base vector type used in mutation. Either \"best\" or \"rand\". Defaults" +" to \"rand\"." +msgstr "用于变异的基础向量类型。可以是 \"best\" 或 \"rand\"。默认值为 \"rand\"。" #: ../../../src/evox/algorithms/de_variants/de.py:45 #: ../../../src/evox/algorithms/de_variants/jade.py:44 #: ../../../src/evox/algorithms/de_variants/ode.py:45 msgid "" -"The number of difference vectors used in mutation. Must be at least 1 and" -" less than half of the population size. Defaults to 1." +"The number of difference vectors used in mutation. Must be at least 1 and " +"less than half of the population size. Defaults to 1." msgstr "在变异中使用的差异向量的数量。必须至少为 1 且小于种群大小的一半。默认为 1。" #: ../../../src/evox/algorithms/de_variants/de.py:46 msgid "" -"The differential weight(s) (F) applied to difference vectors. Can be a " -"float or a tensor. Defaults to 0.5." +"The differential weight(s) (F) applied to difference vectors. Can be a float" +" or a tensor. Defaults to 0.5." msgstr "施加于差异向量的差异权重 (F)。可以是浮点数或张量。默认为 0.5。" #: ../../../src/evox/algorithms/de_variants/de.py:47 @@ -705,11 +701,10 @@ msgstr "交叉概率(CR)。默认为 0.9。" #: ../../../src/evox/algorithms/de_variants/de.py:48 #: ../../../src/evox/algorithms/de_variants/jade.py:45 -#, fuzzy msgid "" "The mean for initializing the population with a normal distribution. " "Defaults to None." -msgstr "状态之中对应种群变量的变量名。默认是“population”。" +msgstr "用于使用正态分布初始化种群的均值。默认值为 None。" #: ../../../src/evox/algorithms/de_variants/de.py:49 #: ../../../src/evox/algorithms/de_variants/jade.py:46 @@ -722,22 +717,21 @@ msgstr "用于用正态分布初始化种群的标准差。默认为 None。" #: ../../../src/evox/algorithms/de_variants/jade.py:46 #: ../../../src/evox/algorithms/de_variants/ode.py:46 msgid "" -"Perform the initial evaluation of the population's fitness and proceed to" -" the first optimization step." +"Perform the initial evaluation of the population's fitness and proceed to " +"the first optimization step." msgstr "执行种群适应度的初步评估,并进入第一个优化步骤。" #: ../../../src/evox/algorithms/de_variants/de.py:48 #: ../../../src/evox/algorithms/de_variants/jade.py:48 #: ../../../src/evox/algorithms/de_variants/ode.py:48 msgid "" -"This method evaluates the fitness of the initial population and then " -"calls the `step` method to perform the first optimization iteration." +"This method evaluates the fitness of the initial population and then calls " +"the `step` method to perform the first optimization iteration." msgstr "此方法评估初始种群的适应度,然后调用 `step` 方法进行第一次优化迭代。" #: ../../../src/evox/algorithms/de_variants/de.py:54 -#, fuzzy msgid "Execute a single optimization step of the DE algorithm." -msgstr "算法的新状态" +msgstr "执行 DE 算法的单步优化。" #: ../../../src/evox/algorithms/de_variants/de.py:56 #: ../../../src/evox/algorithms/de_variants/jade.py:56 @@ -757,23 +751,23 @@ msgstr "Mutation: 生成基准向量策略 (`best` 或 `rand`) 和差异向量 #: ../../../src/evox/algorithms/de_variants/de.py:58 #: ../../../src/evox/algorithms/de_variants/ode.py:58 msgid "" -"Crossover: Perform crossover between the current population and the " -"mutant vectors based on the crossover probability." +"Crossover: Perform crossover between the current population and the mutant " +"vectors based on the crossover probability." msgstr "交叉:根据交叉概率,在当前种群和变异向量之间执行交叉。" #: ../../../src/evox/algorithms/de_variants/de.py:59 #: ../../../src/evox/algorithms/de_variants/jade.py:59 #: ../../../src/evox/algorithms/de_variants/ode.py:59 msgid "" -"Selection: Evaluate the fitness of the new population and select the " -"better individuals between the current and new populations." +"Selection: Evaluate the fitness of the new population and select the better " +"individuals between the current and new populations." msgstr "选择:评估新种群的适应度,并在当前种群和新种群之间选择更优的个体。" #: ../../../src/evox/algorithms/de_variants/de.py:61 #: ../../../src/evox/algorithms/de_variants/ode.py:62 msgid "" -"The method ensures that all new population vectors are clamped within the" -" specified bounds." +"The method ensures that all new population vectors are clamped within the " +"specified bounds." msgstr "这个方法确保新种群向量都会被截断在指定范围内。" #: ../../source/apidocs/evox/evox.algorithms.de_variants.jade.md:1 @@ -798,9 +792,8 @@ msgstr "`__init__`:用给定的参数初始化 JaDE 算法,包括种群大 #: ../../../src/evox/algorithms/de_variants/jade.py:39 msgid "" -"`step`: Executes a single optimization step of the JaDE algorithm, " -"involving mutation, crossover, selection, and adaptation of strategy " -"parameters." +"`step`: Executes a single optimization step of the JaDE algorithm, involving" +" mutation, crossover, selection, and adaptation of strategy parameters." msgstr "`step`: 执行 JaDE 算法的单个优化步骤,涉及突变、交叉、选择和策略参数的适应性。" #: ../../../src/evox/algorithms/de_variants/jade.py:39 @@ -822,9 +815,8 @@ msgid "" msgstr "自适应参数 F_u 和 CR_u 更新的学习率。默认值为 0.1。" #: ../../../src/evox/algorithms/de_variants/jade.py:54 -#, fuzzy msgid "Execute a single optimization step of the JaDE algorithm." -msgstr "创建一个基础算法的列表。" +msgstr "执行JaDE算法的单次优化步骤。" #: ../../../src/evox/algorithms/de_variants/jade.py:57 msgid "" @@ -834,8 +826,8 @@ msgstr "变异:通过结合差异向量并调整变异因子 F 来生成突变 #: ../../../src/evox/algorithms/de_variants/jade.py:58 msgid "" -"Crossover: Perform crossover between the current population and the " -"mutant vectors based on the crossover probability CR." +"Crossover: Perform crossover between the current population and the mutant " +"vectors based on the crossover probability CR." msgstr "交叉:根据交叉概率 CR 在当前种群和变异向量之间执行交叉。" #: ../../../src/evox/algorithms/de_variants/jade.py:60 @@ -845,14 +837,13 @@ msgid "" msgstr "自适应参数的更新:根据成功的突变来更新参数F_u和CR_u。" #: ../../../src/evox/algorithms/de_variants/jade.py:62 -#, fuzzy msgid "Select p-best vectors from the population for mutation." -msgstr "给出用于评估的候选种群。" +msgstr "从种群中选择 p-best 向量进行变异。" #: ../../../src/evox/algorithms/de_variants/jade.py:64 msgid "" -"Fraction of the population to consider as top-p best. Must be between 0 " -"and 1." +"Fraction of the population to consider as top-p best. Must be between 0 and " +"1." msgstr "考虑为 top-p 最佳的群体比例。必须在 0 和 1 之间。" #: ../../source/apidocs/evox/evox.algorithms.de_variants.jade.md @@ -900,7 +891,8 @@ msgstr "{py:obj}`ODE `" #: ../../../src/evox/algorithms/de_variants/ode.py:20 #: ../../../src/evox/algorithms/de_variants/ode.py:33 -msgid "Opposition-based Differential Evolution (ODE) algorithm for optimization." +msgid "" +"Opposition-based Differential Evolution (ODE) algorithm for optimization." msgstr "反对基差差分进化 (ODE) 算法用于优化。" #: ../../../src/evox/algorithms/de_variants/ode.py:37 @@ -912,15 +904,14 @@ msgstr "`__init__`:使用给定的参数初始化 ODE 算法,包括种群大 #: ../../../src/evox/algorithms/de_variants/ode.py:39 msgid "" -"`step`: Executes a single optimization step of the ODE algorithm, " -"involving mutation, crossover, selection, and opposition-based " -"mechanisms." +"`step`: Executes a single optimization step of the ODE algorithm, involving " +"mutation, crossover, selection, and opposition-based mechanisms." msgstr "`step`: 执行ODE算法的单个优化步骤,包括变异、交叉、选择和基于对抗的机制。" #: ../../../src/evox/algorithms/de_variants/ode.py:39 msgid "" -"Initialize the Opposition-based Differential Evolution (ODE) algorithm " -"with the given parameters." +"Initialize the Opposition-based Differential Evolution (ODE) algorithm with " +"the given parameters." msgstr "使用给定的参数初始化基于对抗的差分进化(ODE)算法。" #: ../../../src/evox/algorithms/de_variants/ode.py:42 @@ -947,8 +938,8 @@ msgstr "粒子位置的上界。必须是一个一维张量。" #: ../../../src/evox/algorithms/de_variants/ode.py:46 msgid "" -"The differential weight(s) (F) applied to difference vectors. Can be a " -"float or a tensor of shape [num_difference_vectors]. Defaults to 0.5." +"The differential weight(s) (F) applied to difference vectors. Can be a float" +" or a tensor of shape [num_difference_vectors]. Defaults to 0.5." msgstr "应用于差异向量的差异权重 (F)。可以是一个浮点数或形状为 [num_difference_vectors] 的张量。默认值为 0.5。" #: ../../../src/evox/algorithms/de_variants/ode.py:47 @@ -957,8 +948,8 @@ msgstr "交叉概率(CR)。必须在(0,1]之间。默认值为0.9。" #: ../../../src/evox/algorithms/de_variants/ode.py:48 msgid "" -"The mean for initializing the population with a normal distribution. Must" -" be provided with stdev if used. Defaults to None." +"The mean for initializing the population with a normal distribution. Must be" +" provided with stdev if used. Defaults to None." msgstr "用于通过正态分布初始化种群的均值。如果使用,则必须提供标准差(stdev)。默认为 None。" #: ../../../src/evox/algorithms/de_variants/ode.py:49 @@ -968,15 +959,14 @@ msgid "" msgstr "用于通过正态分布初始化种群的标准差。若使用,则必须提供均值。默认为 None。" #: ../../../src/evox/algorithms/de_variants/ode.py:54 -#, fuzzy msgid "Execute a single optimization step of the ODE algorithm." -msgstr "算法的新状态" +msgstr "执行 ODE 算法的单次优化步骤。" #: ../../../src/evox/algorithms/de_variants/ode.py:60 msgid "" -"Opposition-Based Mechanism: Generate opposition-based population, " -"evaluate their fitness, and perform selection to potentially replace " -"current individuals with their opposites if they are better." +"Opposition-Based Mechanism: Generate opposition-based population, evaluate " +"their fitness, and perform selection to potentially replace current " +"individuals with their opposites if they are better." msgstr "对立机制:生成对立种群,评估它们的适应度,并进行选择,以便在它们更好的情况下,潜在地用它们的对立个体替换当前个体。" #: ../../source/apidocs/evox/evox.algorithms.de_variants.sade.md:1 @@ -989,9 +979,8 @@ msgstr "{py:obj}`SaDE `" #: ../../../src/evox/algorithms/de_variants/sade.py:20 #: ../../../src/evox/algorithms/de_variants/sade.py:97 -#, fuzzy msgid "The implementation of SaDE algorithm." -msgstr "算法的新状态" +msgstr "SaDE算法的实现。" #: ../../source/apidocs/evox/evox.algorithms.de_variants.sade.md:30 msgid "{py:obj}`rand_1_bin `" @@ -1003,14 +992,13 @@ msgstr "{py:obj}`rand_2_bin `" #: ../../source/apidocs/evox/evox.algorithms.de_variants.sade.md:38 msgid "" -"{py:obj}`rand2best_2_bin " -"`" +"{py:obj}`rand2best_2_bin `" msgstr "" -"{py:obj}`rand2best_2_bin " -"`" +"{py:obj}`rand2best_2_bin `" #: ../../source/apidocs/evox/evox.algorithms.de_variants.sade.md:42 -msgid "{py:obj}`current2rand_1 `" +msgid "" +"{py:obj}`current2rand_1 `" msgstr "**当前随机1 **" #: ../../../src/evox/algorithms/de_variants/sade.py:99 @@ -1019,39 +1007,34 @@ msgid "" "algorithm with strategy adaptation for global numerical optimization[J]. " "IEEE transactions on Evolutionary Computation, 2008, 13(2): 398-417." msgstr "" -"参考:Qin A K, Huang V L, Suganthan P N. Differential evolution algorithm " -"with strategy adaptation for global numerical optimization[J]. IEEE " -"transactions on Evolutionary Computation, 2008, 13(2): 398-417." +"参考:Qin A K, Huang V L, Suganthan P N. Differential evolution algorithm with " +"strategy adaptation for global numerical optimization[J]. IEEE transactions " +"on Evolutionary Computation, 2008, 13(2): 398-417." #: ../../../src/evox/algorithms/de_variants/sade.py:103 -#, fuzzy msgid "Initialize the SaDE algorithm with the given parameters." -msgstr "使用给定的策略和权重可视化 Brax 环境。" +msgstr "用给定的参数初始化SaDE算法。" #: ../../../src/evox/algorithms/de_variants/sade.py:108 #: ../../../src/evox/algorithms/de_variants/shade.py:44 -#, fuzzy msgid "The number of differential padding vectors to use. Defaults to 9." -msgstr "运行的最大的时间步的数量。" +msgstr "差分填充向量的数量。默认值为 9。" #: ../../../src/evox/algorithms/de_variants/sade.py:109 -#, fuzzy msgid "The size of memory. Defaults to 50." -msgstr "状态之中对应种群变量的变量名。默认是“population”。" +msgstr "内存大小。默认为 50。" #: ../../../src/evox/algorithms/de_variants/sade.py:126 -#, fuzzy msgid "Execute a single optimization step of the SaDE algorithm." -msgstr "创建一个基础算法的列表。" +msgstr "执行 SaDE 算法的单次优化步骤。" #: ../../../src/evox/algorithms/de_variants/sade.py:129 msgid "Generate new population using differential evolution." msgstr "使用差分进化生成新种群。" #: ../../../src/evox/algorithms/de_variants/sade.py:130 -#, fuzzy msgid "Evaluate the fitness of the new population." -msgstr "评估给定候选解的适应度。" +msgstr "评估新种群的适应度。" #: ../../../src/evox/algorithms/de_variants/sade.py:131 msgid "Update the best individual and best fitness." @@ -1075,43 +1058,38 @@ msgstr "{py:obj}`SHADE `" #: ../../../src/evox/algorithms/de_variants/shade.py:20 #: ../../../src/evox/algorithms/de_variants/shade.py:33 -#, fuzzy msgid "The implementation of SHADE algorithm." -msgstr "算法的新状态" +msgstr "SHADE 算法的实现。" #: ../../../src/evox/algorithms/de_variants/shade.py:35 msgid "" -"Reference: Tanabe R, Fukunaga A. Success-history based parameter " -"adaptation for differential evolution[C]//2013 IEEE congress on " -"evolutionary computation. IEEE, 2013: 71-78." -msgstr "" -"参考文献: Tanabe R, Fukunaga A. Success-history based parameter adaptation " +"Reference: Tanabe R, Fukunaga A. Success-history based parameter adaptation " "for differential evolution[C]//2013 IEEE congress on evolutionary " "computation. IEEE, 2013: 71-78." +msgstr "" +"参考文献: Tanabe R, Fukunaga A. Success-history based parameter adaptation for " +"differential evolution[C]//2013 IEEE congress on evolutionary computation. " +"IEEE, 2013: 71-78." #: ../../../src/evox/algorithms/de_variants/shade.py:39 -#, fuzzy msgid "Initialize the SHADE algorithm with the given parameters." -msgstr "使用给定的策略和权重可视化 Brax 环境。" +msgstr "用给定的参数初始化SHADE算法。" #: ../../../src/evox/algorithms/de_variants/shade.py:46 -#, fuzzy msgid "Perform a single step of the SHADE algorithm." -msgstr "算法的新状态" +msgstr "执行 SHADE 算法的单步操作。" #: ../../../src/evox/algorithms/de_variants/shade.py:49 msgid "Generate trial vectors using the SHADE algorithm." msgstr "使用SHADE算法生成试验向量。" #: ../../../src/evox/algorithms/de_variants/shade.py:50 -#, fuzzy msgid "Evaluate the fitness of the trial vectors." -msgstr "评估给定候选解的适应度。" +msgstr "评估试验向量的适应度。" #: ../../../src/evox/algorithms/de_variants/shade.py:51 -#, fuzzy msgid "Update the population." -msgstr "种群。" +msgstr "更新种群。" #: ../../../src/evox/algorithms/de_variants/shade.py:52 msgid "Update the memory." @@ -1164,9 +1142,8 @@ msgstr "{py:mod}`evox.algorithms.es_variants.adam_step`" #: ../../source/apidocs/evox/evox.utils.jit_fix_operator.md:12 #: ../../source/apidocs/evox/evox.vis_tools.exv.md:24 #: ../../source/apidocs/evox/evox.vis_tools.plot.md:12 -#, fuzzy msgid "Functions" -msgstr "测试函数" +msgstr "函数" #: ../../source/apidocs/evox/evox.algorithms.es_variants.adam_step.md:18 msgid "" @@ -1186,17 +1163,16 @@ msgstr "{py:obj}`ARS `" #: ../../../src/evox/algorithms/es_variants/ars.py:20 #: ../../../src/evox/algorithms/es_variants/ars.py:33 -#, fuzzy msgid "The implementation of the ARS algorithm." -msgstr "算法的新状态" +msgstr "ARS算法的实现。" #: ../../../src/evox/algorithms/es_variants/ars.py:35 msgid "" "Reference: Simple random search provides a competitive approach to " "reinforcement learning (https://arxiv.org/pdf/1803.07055.pdf)" msgstr "" -"参考文献:Simple random search provides a competitive approach to " -"reinforcement learning (https://arxiv.org/pdf/1803.07055.pdf)" +"参考文献:Simple random search provides a competitive approach to reinforcement " +"learning (https://arxiv.org/pdf/1803.07055.pdf)" #: ../../../src/evox/algorithms/es_variants/ars.py:38 #: ../../../src/evox/algorithms/es_variants/asebo.py:39 @@ -1207,18 +1183,17 @@ msgstr "" #: ../../../src/evox/algorithms/es_variants/persistent_es.py:39 #: ../../../src/evox/algorithms/es_variants/snes.py:39 msgid "" -"This code has been inspired by or utilizes the algorithmic implementation" -" from evosax. More information about evosax can be found at the following" -" URL: GitHub Link: https://github.com/RobertTLange/evosax" +"This code has been inspired by or utilizes the algorithmic implementation " +"from evosax. More information about evosax can be found at the following " +"URL: GitHub Link: https://github.com/RobertTLange/evosax" msgstr "" "这段代码受到了 evosax 中算法实现的启发或使用了其实现。有关 evosax 的更多信息,请访问以下网址:GitHub " "链接:https://github.com/RobertTLange/evosax" #: ../../../src/evox/algorithms/es_variants/ars.py:39 #: ../../../src/evox/algorithms/es_variants/asebo.py:39 -#, fuzzy msgid "Initialize the ARS algorithm with the given parameters." -msgstr "使用给定的策略和权重可视化 Brax 环境。" +msgstr "使用给定参数初始化ARS算法。" #: ../../../src/evox/algorithms/es_variants/ars.py:42 #: ../../../src/evox/algorithms/es_variants/asebo.py:42 @@ -1234,9 +1209,8 @@ msgstr "种群的初始中心。必须是一个一维张量。" #: ../../../src/evox/algorithms/es_variants/ars.py:43 #: ../../../src/evox/algorithms/es_variants/esmc.py:43 -#, fuzzy msgid "The ratio of elite population. Defaults to 0.1." -msgstr "状态之中对应种群变量的变量名。默认是“population”。" +msgstr "精英种群的比例。默认为 0.1。" #: ../../../src/evox/algorithms/es_variants/ars.py:44 #: ../../../src/evox/algorithms/es_variants/asebo.py:44 @@ -1244,18 +1218,16 @@ msgstr "状态之中对应种群变量的变量名。默认是“population” #: ../../../src/evox/algorithms/es_variants/guided_es.py:44 #: ../../../src/evox/algorithms/es_variants/noise_reuse_es.py:44 #: ../../../src/evox/algorithms/es_variants/persistent_es.py:44 -#, fuzzy msgid "The learning rate for the optimizer. Defaults to 0.05." -msgstr "要使用的数据集分割。默认为 \"train\"。" +msgstr "优化器的学习率。默认值为 0.05。" #: ../../../src/evox/algorithms/es_variants/ars.py:45 #: ../../../src/evox/algorithms/es_variants/asebo.py:47 #: ../../../src/evox/algorithms/es_variants/guided_es.py:45 #: ../../../src/evox/algorithms/es_variants/noise_reuse_es.py:45 #: ../../../src/evox/algorithms/es_variants/persistent_es.py:45 -#, fuzzy msgid "The standard deviation of the noise. Defaults to 0.03." -msgstr "状态之中对应种群变量的变量名。默认是“population”。" +msgstr "噪声的标准差。默认为 0.03。" #: ../../../src/evox/algorithms/es_variants/ars.py:46 #: ../../../src/evox/algorithms/es_variants/asebo.py:43 @@ -1266,8 +1238,8 @@ msgstr "状态之中对应种群变量的变量名。默认是“population” #: ../../../src/evox/algorithms/es_variants/persistent_es.py:43 #: ../../../src/evox/algorithms/es_variants/snes.py:43 msgid "" -"The optimizer to use. Defaults to None. Currently, only \"adam\" or None " -"is supported." +"The optimizer to use. Defaults to None. Currently, only \"adam\" or None is " +"supported." msgstr "使用的优化器(optimizer)。 默认情况下为 None。 仅 support \"adam\" 或 None。\n" #: ../../../src/evox/algorithms/es_variants/ars.py:47 @@ -1293,9 +1265,8 @@ msgid "The device to use for the tensors. Defaults to None." msgstr "设备的使用者(设备用于存放张量的硬件)。默认为 None。" #: ../../../src/evox/algorithms/es_variants/ars.py:46 -#, fuzzy msgid "Perform a single step of the ARS algorithm." -msgstr "算法的新状态" +msgstr "执行 ARS 算法的单步操作。" #: ../../source/apidocs/evox/evox.algorithms.es_variants.asebo.md:1 msgid "{py:mod}`evox.algorithms.es_variants.asebo`" @@ -1307,64 +1278,58 @@ msgstr "{py:obj}`ASEBO `" #: ../../../src/evox/algorithms/es_variants/asebo.py:20 #: ../../../src/evox/algorithms/es_variants/asebo.py:33 -#, fuzzy msgid "The implementation of the ASEBO algorithm." -msgstr "算法的新状态" +msgstr "ASEBO 算法的实现。" #: ../../../src/evox/algorithms/es_variants/asebo.py:35 msgid "" -"Reference: From Complexity to Simplicity: Adaptive ES-Active Subspaces " -"for Blackbox Optimization (https://arxiv.org/abs/1903.04268)" +"Reference: From Complexity to Simplicity: Adaptive ES-Active Subspaces for " +"Blackbox Optimization (https://arxiv.org/abs/1903.04268)" msgstr "" "参考文献: From Complexity to Simplicity: Adaptive ES-Active Subspaces for " "Blackbox Optimization (https://arxiv.org/abs/1903.04268)" #: ../../../src/evox/algorithms/es_variants/asebo.py:45 -#, fuzzy msgid "The decay factor for the learning rate. Defaults to 1.0." -msgstr "要使用的数据集分割。默认为 \"train\"。" +msgstr "学习率的衰减因子。默认为 1.0。" #: ../../../src/evox/algorithms/es_variants/asebo.py:46 -#, fuzzy msgid "The minimum value for the learning rate. Defaults to 0.001." -msgstr "运行的最大的时间步的数量。" +msgstr "学习率的最小值。默认为 0.001。" #: ../../../src/evox/algorithms/es_variants/asebo.py:48 #: ../../../src/evox/algorithms/es_variants/esmc.py:45 #: ../../../src/evox/algorithms/es_variants/guided_es.py:46 #: ../../../src/evox/algorithms/es_variants/noise_reuse_es.py:46 #: ../../../src/evox/algorithms/es_variants/persistent_es.py:46 -#, fuzzy msgid "The decay factor for the standard deviation. Defaults to 1.0." -msgstr "状态之中对应种群变量的变量名。默认是“population”。" +msgstr "标准差的衰减因子。默认为 1.0。" #: ../../../src/evox/algorithms/es_variants/asebo.py:49 #: ../../../src/evox/algorithms/es_variants/esmc.py:46 #: ../../../src/evox/algorithms/es_variants/guided_es.py:47 #: ../../../src/evox/algorithms/es_variants/noise_reuse_es.py:47 #: ../../../src/evox/algorithms/es_variants/persistent_es.py:47 -#, fuzzy msgid "The minimum value for the standard deviation. Defaults to 0.01." -msgstr "运行的最大的时间步的数量。" +msgstr "标准差的最小值。默认值为 0.01。" #: ../../../src/evox/algorithms/es_variants/asebo.py:50 #: ../../../src/evox/algorithms/es_variants/guided_es.py:48 -#, fuzzy msgid "The dimension of the subspace. Defaults to None." -msgstr "要使用的数据集分割。默认为 \"train\"。" +msgstr "子空间的维度。默认为 None。" #: ../../../src/evox/algorithms/es_variants/asebo.py:46 -#, fuzzy msgid "The main step of the ASEBO algorithm." -msgstr "算法的新状态" +msgstr "ASEBO 算法的主要步骤。" #: ../../../src/evox/algorithms/es_variants/asebo.py:48 msgid "" "This function first computes the subspace spanned by the gradient of the " -"fitness function and then projects the gradient onto the subspace. It " -"then computes the step direction using the projected gradient and updates" -" the center and standard deviation of the search distribution." -msgstr "此函数首先计算由适应度函数的梯度所张成的子空间,然后将梯度投影到该子空间。接着,它使用投影后的梯度计算步长方向,并更新搜索分布的中心和标准差。" +"fitness function and then projects the gradient onto the subspace. It then " +"computes the step direction using the projected gradient and updates the " +"center and standard deviation of the search distribution." +msgstr "" +"此函数首先计算由适应度函数的梯度所张成的子空间,然后将梯度投影到该子空间。接着,它使用投影后的梯度计算步长方向,并更新搜索分布的中心和标准差。" #: ../../source/apidocs/evox/evox.algorithms.es_variants.cma_es.md:1 msgid "{py:mod}`evox.algorithms.es_variants.cma_es`" @@ -1376,22 +1341,20 @@ msgstr "{py:obj}`CMAES `" #: ../../../src/evox/algorithms/es_variants/cma_es.py:20 #: ../../../src/evox/algorithms/es_variants/cma_es.py:33 -#, fuzzy msgid "" "The CMA-ES algorithm as described in \"The CMA Evolution Strategy: A " "Tutorial\" from https://arxiv.org/abs/1604.00772." msgstr "" -"这个实现遵循了《CMA 演化策略:教程》(The CMA Evolution Strategy: A " -"Tutorial),详情可见:https://arxiv.org/pdf/1604.00772.pdf。" +"CMA-ES 算法,详见 \"The CMA Evolution Strategy: A Tutorial\" " +"(https://arxiv.org/abs/1604.00772)。" #: ../../../src/evox/algorithms/es_variants/cma_es.py:39 msgid "Initialize the CMA-ES algorithm with the given parameters." msgstr "使用给定的参数初始化 CMA-ES 算法。" #: ../../../src/evox/algorithms/es_variants/cma_es.py:41 -#, fuzzy msgid "The size of the population with the notation \\lambda." -msgstr "状态之中对应种群变量的变量名。默认是“population”。" +msgstr "种群的规模使用符号 \\lambda 表示。" #: ../../../src/evox/algorithms/es_variants/cma_es.py:42 msgid "The initial mean of the population. Must be a 1D tensor." @@ -1408,14 +1371,13 @@ msgid "" msgstr "种群的重组权重。默认为 None,并根据推荐值自动计算。" #: ../../../src/evox/algorithms/es_variants/cma_es.py:46 -#, fuzzy msgid "The main step of the CMA-ES algorithm." -msgstr "算法的新状态" +msgstr "CMA-ES算法的主要步骤。" #: ../../../src/evox/algorithms/es_variants/cma_es.py:48 msgid "" -"In this step, the algorithm generates a new population, evaluates it, and" -" updates the mean, covariance matrix, and step size correspondingly." +"In this step, the algorithm generates a new population, evaluates it, and " +"updates the mean, covariance matrix, and step size correspondingly." msgstr "在这一步,算法生成一个新种群,评估它,并相应地更新均值、协方差矩阵和步长。" #: ../../source/apidocs/evox/evox.algorithms.es_variants.des.md:1 @@ -1430,37 +1392,33 @@ msgstr "{py:obj}`DES `" #: ../../../src/evox/algorithms/es_variants/des.py:33 #: ../../../src/evox/algorithms/es_variants/esmc.py:20 #: ../../../src/evox/algorithms/es_variants/esmc.py:33 -#, fuzzy msgid "The implementation of the DES algorithm." -msgstr "算法的新状态" +msgstr "DES算法的实现。" #: ../../../src/evox/algorithms/es_variants/des.py:35 msgid "" -"Reference: Discovering Evolution Strategies via Meta-Black-Box " -"Optimization (https://arxiv.org/abs/2211.11260)" +"Reference: Discovering Evolution Strategies via Meta-Black-Box Optimization " +"(https://arxiv.org/abs/2211.11260)" msgstr "" "参考文献: Discovering Evolution Strategies via Meta-Black-Box Optimization " "(https://arxiv.org/abs/2211.11260)" #: ../../../src/evox/algorithms/es_variants/des.py:39 -#, fuzzy msgid "Initialize the DES algorithm with the given parameters." -msgstr "使用给定的策略和权重可视化 Brax 环境。" +msgstr "用给定的参数初始化DES算法。" #: ../../../src/evox/algorithms/es_variants/des.py:43 -#, fuzzy msgid "The temperature parameter for the softmax. Defaults to 12.5." -msgstr "要使用的数据集分割。默认为 \"train\"。" +msgstr "软max的温度参数。默认为12.5。" #: ../../../src/evox/algorithms/es_variants/des.py:44 -#, fuzzy msgid "The initial standard deviation of the noise. Defaults to 0.1." -msgstr "状态之中对应种群变量的变量名。默认是“population”。" +msgstr "噪声的初始标准差。默认为 0.1。" #: ../../../src/evox/algorithms/es_variants/des.py:46 msgid "" -"Step the DES algorithm by sampling the population, evaluating the " -"fitness, and updating the center." +"Step the DES algorithm by sampling the population, evaluating the fitness, " +"and updating the center." msgstr "通过对种群进行采样、评估适应度和更新中心,逐步执行DES算法。" #: ../../source/apidocs/evox/evox.algorithms.es_variants.esmc.md:1 @@ -1480,20 +1438,18 @@ msgstr "" "(https://proceedings.mlr.press/v139/merchant21a.html)" #: ../../../src/evox/algorithms/es_variants/esmc.py:39 -#, fuzzy msgid "Initialize the ESMC algorithm with the given parameters." -msgstr "使用给定的策略和权重可视化 Brax 环境。" +msgstr "用给定的参数初始化ESMC算法。" #: ../../../src/evox/algorithms/es_variants/esmc.py:46 -#, fuzzy msgid "One iteration of the ESMC algorithm." -msgstr "算法的新状态" +msgstr "ESMC算法的一次迭代。" #: ../../../src/evox/algorithms/es_variants/esmc.py:48 msgid "" "This function will sample a population, evaluate their fitness, and then " -"update the center and standard deviation of the algorithm using the " -"sampled population." +"update the center and standard deviation of the algorithm using the sampled " +"population." msgstr "此函数将对一个种群进行抽样,评估它们的适应度,然后使用抽样的种群更新算法的中心和标准差。" #: ../../source/apidocs/evox/evox.algorithms.es_variants.guided_es.md:1 @@ -1506,9 +1462,8 @@ msgstr "{py:obj}`GuidedES `" #: ../../../src/evox/algorithms/es_variants/guided_es.py:20 #: ../../../src/evox/algorithms/es_variants/guided_es.py:33 -#, fuzzy msgid "The implementation of the Guided-ES algorithm." -msgstr "算法的新状态" +msgstr "Guided-ES 算法的实现。" #: ../../../src/evox/algorithms/es_variants/guided_es.py:35 msgid "" @@ -1520,21 +1475,19 @@ msgstr "" #: ../../../src/evox/algorithms/es_variants/guided_es.py:39 #: ../../../src/evox/algorithms/es_variants/noise_reuse_es.py:39 -#, fuzzy msgid "Initialize the Guided-ES algorithm with the given parameters." -msgstr "使用给定的策略和权重可视化 Brax 环境。" +msgstr "用给定的参数初始化 Guided-ES 算法。" #: ../../../src/evox/algorithms/es_variants/guided_es.py:46 -#, fuzzy msgid "Run one step of the Guided-ES algorithm." -msgstr "算法的新状态" +msgstr "运行 Guided-ES 算法的一步。" #: ../../../src/evox/algorithms/es_variants/guided_es.py:48 #: ../../../src/evox/algorithms/es_variants/snes.py:48 msgid "" "The function will sample a population, evaluate their fitness, and then " -"update the center and standard deviation of the algorithm using the " -"sampled population." +"update the center and standard deviation of the algorithm using the sampled " +"population." msgstr "该函数将对一个种群进行抽样,评估他们的适应度,然后使用抽样的种群更新算法的中心和标准差。" #: ../../source/apidocs/evox/evox.algorithms.es_variants.nes.md:1 @@ -1547,9 +1500,8 @@ msgstr "{py:obj}`XNES `" #: ../../../src/evox/algorithms/es_variants/nes.py:20 #: ../../../src/evox/algorithms/es_variants/nes.py:37 -#, fuzzy msgid "The implementation of the xNES algorithm." -msgstr "算法的新状态" +msgstr "xNES 算法的实现。" #: ../../source/apidocs/evox/evox.algorithms.es_variants.nes.md:22 msgid "{py:obj}`SeparableNES `" @@ -1557,9 +1509,8 @@ msgstr "{py:obj}`SeparableNES `" #: ../../../src/evox/algorithms/es_variants/nes.py:24 #: ../../../src/evox/algorithms/es_variants/nes.py:61 -#, fuzzy msgid "The implementation of the Separable NES algorithm." -msgstr "算法的新状态" +msgstr "可分 NES 算法的实现。" #: ../../../src/evox/algorithms/es_variants/nes.py:39 msgid "" @@ -1570,9 +1521,8 @@ msgstr "" "(https://dl.acm.org/doi/abs/10.1145/1830483.1830557)" #: ../../../src/evox/algorithms/es_variants/nes.py:43 -#, fuzzy msgid "Initialize the xNES algorithm with the given parameters." -msgstr "使用给定的策略和权重可视化 Brax 环境。" +msgstr "使用给定的参数初始化 xNES 算法。" #: ../../../src/evox/algorithms/es_variants/nes.py:45 #: ../../../src/evox/algorithms/es_variants/nes.py:69 @@ -1585,44 +1535,37 @@ msgstr "种群的初始协方差矩阵。必须是一个二维张量。" #: ../../../src/evox/algorithms/es_variants/nes.py:47 #: ../../../src/evox/algorithms/es_variants/nes.py:71 -#, fuzzy msgid "The size of the population. Defaults to None." -msgstr "状态之中对应适应度的变量的变量名。默认是“fitness”。" +msgstr "种群的大小。默认值为 None。" #: ../../../src/evox/algorithms/es_variants/nes.py:48 #: ../../../src/evox/algorithms/es_variants/nes.py:72 -#, fuzzy msgid "The recombination weights of the population. Defaults to None." -msgstr "状态之中对应适应度的变量的变量名。默认是“fitness”。" +msgstr "种群的重组权重。默认为 None。" #: ../../../src/evox/algorithms/es_variants/nes.py:49 #: ../../../src/evox/algorithms/es_variants/nes.py:73 -#, fuzzy msgid "The learning rate for the mean vector. Defaults to None." -msgstr "状态之中对应种群变量的变量名。默认是“population”。" +msgstr "均值向量的学习率。默认值为 None。" #: ../../../src/evox/algorithms/es_variants/nes.py:50 #: ../../../src/evox/algorithms/es_variants/nes.py:74 -#, fuzzy msgid "The learning rate for the variance vector. Defaults to None." -msgstr "要使用的数据集分割。默认为 \"train\"。" +msgstr "方差向量的学习率。默认为 None。" #: ../../../src/evox/algorithms/es_variants/nes.py:51 -#, fuzzy msgid "The learning rate for the B matrix. Defaults to None." -msgstr "状态之中对应适应度的变量的变量名。默认是“fitness”。" +msgstr "B 矩阵的学习率。默认值为 None。" #: ../../../src/evox/algorithms/es_variants/nes.py:52 -#, fuzzy msgid "" "Whether to use the covariance matrix as a Cholesky factorization result. " "Defaults to False." -msgstr "是否是多目标优化。默认为False。" +msgstr "是否将协方差矩阵用作 Cholesky 分解的结果。默认为 False。" #: ../../../src/evox/algorithms/es_variants/nes.py:50 -#, fuzzy msgid "Run one step of the xNES algorithm." -msgstr "算法的新状态" +msgstr "运行 xNES 算法的一步。" #: ../../../src/evox/algorithms/es_variants/nes.py:52 #: ../../../src/evox/algorithms/es_variants/nes.py:76 @@ -1642,18 +1585,17 @@ msgstr "" "(https://www.jmlr.org/papers/volume15/wierstra14a/wierstra14a.pdf)" #: ../../../src/evox/algorithms/es_variants/nes.py:67 -#, fuzzy msgid "Initialize the Separable NES algorithm with the given parameters." -msgstr "使用给定的策略和权重可视化 Brax 环境。" +msgstr "使用给定参数初始化 Separable NES 算法。" #: ../../../src/evox/algorithms/es_variants/nes.py:70 -msgid "The initial standard deviation for each dimension. Must be a 1D tensor." +msgid "" +"The initial standard deviation for each dimension. Must be a 1D tensor." msgstr "每个维度的初始标准差。必须是一个 1D 张量。" #: ../../../src/evox/algorithms/es_variants/nes.py:74 -#, fuzzy msgid "Run one step of the Separable NES algorithm." -msgstr "算法的新状态" +msgstr "运行 Separable NES 算法的一步。" #: ../../source/apidocs/evox/evox.algorithms.es_variants.noise_reuse_es.md:1 msgid "{py:mod}`evox.algorithms.es_variants.noise_reuse_es`" @@ -1669,9 +1611,8 @@ msgstr "" #: ../../../src/evox/algorithms/es_variants/noise_reuse_es.py:20 #: ../../../src/evox/algorithms/es_variants/noise_reuse_es.py:33 -#, fuzzy msgid "The implementation of the Noise-Reuse-ES algorithm." -msgstr "算法的新状态" +msgstr "噪声重用ES算法的实现。" #: ../../../src/evox/algorithms/es_variants/noise_reuse_es.py:35 msgid "" @@ -1683,30 +1624,28 @@ msgstr "" #: ../../../src/evox/algorithms/es_variants/noise_reuse_es.py:48 #: ../../../src/evox/algorithms/es_variants/persistent_es.py:48 -#, fuzzy msgid "The inner problem length. Defaults to 100." -msgstr "运行的最大的时间步的数量。" +msgstr "内部问题长度。默认为 100。" #: ../../../src/evox/algorithms/es_variants/noise_reuse_es.py:49 #: ../../../src/evox/algorithms/es_variants/persistent_es.py:49 -#, fuzzy msgid "The number of inner problems. Defaults to 10." -msgstr "运行的最大的时间步的数量。" +msgstr "内部问题的数量。默认值为 10。" #: ../../../src/evox/algorithms/es_variants/noise_reuse_es.py:46 -#, fuzzy msgid "Take a single step of the NoiseReuseES algorithm." -msgstr "算法的新状态" +msgstr "执行 NoiseReuseES 算法的一步操作。" #: ../../../src/evox/algorithms/es_variants/noise_reuse_es.py:48 msgid "" "This function follows the algorithm described in the reference paper. It " -"first generates a set of perturbations for the current population. Then, " -"it evaluates the fitness of the population with the perturbations. " -"Afterwards, it calculates the gradient of the policy parameters using the" -" perturbations and the fitness. Finally, it updates the policy parameters" -" using the gradient and the learning rate." -msgstr "此函数遵循参考论文中描述的算法。它首先为当前族群生成一组扰动。然后,它评估带有扰动的族群的适应度。之后,它使用扰动和适应度计算策略参数的梯度。最后,它使用梯度和学习率更新策略参数。" +"first generates a set of perturbations for the current population. Then, it " +"evaluates the fitness of the population with the perturbations. Afterwards, " +"it calculates the gradient of the policy parameters using the perturbations " +"and the fitness. Finally, it updates the policy parameters using the " +"gradient and the learning rate." +msgstr "" +"此函数遵循参考论文中描述的算法。它首先为当前族群生成一组扰动。然后,它评估带有扰动的族群的适应度。之后,它使用扰动和适应度计算策略参数的梯度。最后,它使用梯度和学习率更新策略参数。" #: ../../source/apidocs/evox/evox.algorithms.es_variants.open_es.md:1 msgid "{py:mod}`evox.algorithms.es_variants.open_es`" @@ -1718,19 +1657,17 @@ msgstr "{py:obj}`OpenES `" #: ../../../src/evox/algorithms/es_variants/open_es.py:20 #: ../../../src/evox/algorithms/es_variants/open_es.py:33 -#, fuzzy msgid "" -"The OpenES algorithm as described in \"Evolution Strategies as a Scalable" -" Alternative to Reinforcement Learning\" from " +"The OpenES algorithm as described in \"Evolution Strategies as a Scalable " +"Alternative to Reinforcement Learning\" from " "https://arxiv.org/abs/1703.03864." msgstr "" -"实现论文 \"Evolution Strategies as a Scalable Alternative to Reinforcement " -"Learning\" 中描述的算法,链接为https://arxiv.org/abs/1703.03864" +"OpenES算法,如文章“Evolution Strategies as a Scalable Alternative to Reinforcement" +" Learning”中所描述:https://arxiv.org/abs/1703.03864。" #: ../../../src/evox/algorithms/es_variants/open_es.py:39 -#, fuzzy msgid "Initialize the OpenES algorithm with the given parameters." -msgstr "使用给定的策略和权重可视化 Brax 环境。" +msgstr "用给定的参数初始化 OpenES 算法。" #: ../../../src/evox/algorithms/es_variants/open_es.py:43 msgid "The learning rate for the optimizer." @@ -1741,9 +1678,8 @@ msgid "The standard deviation of the noise." msgstr "噪声的标准差。" #: ../../../src/evox/algorithms/es_variants/open_es.py:46 -#, fuzzy msgid "Whether to use mirrored sampling. Defaults to True." -msgstr "是否对整个步骤函数进行 `jit` 编译。默认值为 `True`" +msgstr "是否使用镜像采样。默认值为 True。" #: ../../../src/evox/algorithms/es_variants/open_es.py:46 msgid "" @@ -1765,24 +1701,22 @@ msgstr "" #: ../../../src/evox/algorithms/es_variants/persistent_es.py:20 #: ../../../src/evox/algorithms/es_variants/persistent_es.py:33 -#, fuzzy msgid "The implementation of the Persistent ES algorithm." -msgstr "算法的新状态" +msgstr "持续ES算法的实现。" #: ../../../src/evox/algorithms/es_variants/persistent_es.py:35 msgid "" -"Reference: Unbiased Gradient Estimation in Unrolled Computation Graphs " -"with Persistent Evolution Strategies " +"Reference: Unbiased Gradient Estimation in Unrolled Computation Graphs with " +"Persistent Evolution Strategies " "(http://proceedings.mlr.press/v139/vicol21a.html)" msgstr "" -"Reference: Unbiased Gradient Estimation in Unrolled Computation Graphs " -"with Persistent Evolution Strategies " +"Reference: Unbiased Gradient Estimation in Unrolled Computation Graphs with " +"Persistent Evolution Strategies " "(http://proceedings.mlr.press/v139/vicol21a.html)" #: ../../../src/evox/algorithms/es_variants/persistent_es.py:39 -#, fuzzy msgid "Initialize the Persistent-ES algorithm with the given parameters." -msgstr "使用给定的策略和权重可视化 Brax 环境。" +msgstr "用给定的参数初始化 Persistent-ES 算法。" #: ../../source/apidocs/evox/evox.algorithms.es_variants.snes.md:1 msgid "{py:mod}`evox.algorithms.es_variants.snes`" @@ -1794,47 +1728,42 @@ msgstr "{py:obj}`SNES `" #: ../../../src/evox/algorithms/es_variants/snes.py:20 #: ../../../src/evox/algorithms/es_variants/snes.py:33 -#, fuzzy msgid "The implementation of the SNES algorithm." -msgstr "算法的新状态" +msgstr "SNES算法的实现。" #: ../../../src/evox/algorithms/es_variants/snes.py:39 -#, fuzzy msgid "Initialize the SNES algorithm with the given parameters." -msgstr "使用给定的策略和权重可视化 Brax 环境。" +msgstr "用给定的参数初始化SNES算法。" #: ../../../src/evox/algorithms/es_variants/snes.py:44 -#, fuzzy msgid "The learning rate for the mean. Defaults to 1.0." -msgstr "状态之中对应适应度的变量的变量名。默认是“fitness”。" +msgstr "均值的学习率。默认值为 1.0。" #: ../../../src/evox/algorithms/es_variants/snes.py:45 -#, fuzzy msgid "The standard deviation of the noise. Defaults to 1.0." -msgstr "状态之中对应种群变量的变量名。默认是“population”。" +msgstr "噪声的标准差。默认为 1.0。" #: ../../../src/evox/algorithms/es_variants/snes.py:46 -#, fuzzy msgid "The temperature of the softmax in computing weights. Defaults to 12.5." -msgstr "状态之中对应种群变量的变量名。默认是“population”。" +msgstr "计算权重时 softmax 的温度。默认值为 12.5。" #: ../../../src/evox/algorithms/es_variants/snes.py:47 -#, fuzzy msgid "The type of weights to use. Defaults to \"temp\"." -msgstr "状态之中对应适应度的变量的变量名。默认是“fitness”。" +msgstr "权重的类型。默认为 \"temp\"。" #: ../../../src/evox/algorithms/es_variants/snes.py:46 -#, fuzzy msgid "Run one step of the SNES algorithm." -msgstr "算法的新状态" +msgstr "运行 SNES 算法的一步。" #: ../../source/apidocs/evox/evox.algorithms.es_variants.sort_utils.md:1 msgid "{py:mod}`evox.algorithms.es_variants.sort_utils`" msgstr "{py:mod}`evox.algorithms.es_variants.sort_utils`" #: ../../source/apidocs/evox/evox.algorithms.es_variants.sort_utils.md:18 -msgid "{py:obj}`sort_by_key `" -msgstr "{py:obj}`sort_by_key `" +msgid "" +"{py:obj}`sort_by_key `" +msgstr "" +"{py:obj}`sort_by_key `" #: ../../source/apidocs/evox/evox.algorithms.mo.md:1 msgid "{py:mod}`evox.algorithms.mo`" @@ -1868,18 +1797,17 @@ msgstr "{py:obj}`pbi `" #: ../../../src/evox/algorithms/mo/moead.py:54 #: ../../../src/evox/algorithms/mo/nsga2.py:38 #: ../../../src/evox/algorithms/mo/rvea.py:37 -#, fuzzy msgid "References" -msgstr "API文档" +msgstr "参考文献" #: ../../../src/evox/algorithms/mo/moead.py:55 msgid "" -"\"MOEA/D: A Multiobjective Evolutionary Algorithm Based on " -"Decomposition,\" IEEE Transactions on Evolutionary Computation. `Link " +"\"MOEA/D: A Multiobjective Evolutionary Algorithm Based on Decomposition,\" " +"IEEE Transactions on Evolutionary Computation. `Link " "`_" msgstr "" -"\"MOEA/D: A Multiobjective Evolutionary Algorithm Based on " -"Decomposition,\" IEEE Transactions on Evolutionary Computation. `Link " +"\"MOEA/D: A Multiobjective Evolutionary Algorithm Based on Decomposition,\" " +"IEEE Transactions on Evolutionary Computation. `Link " "`_" #: ../../../src/evox/algorithms/mo/moead.py:59 @@ -1887,20 +1815,18 @@ msgstr "" #: ../../../src/evox/operators/selection/non_dominate.py:113 #: ../../../src/evox/operators/selection/rvea_selection.py:56 #: ../../../src/evox/utils/jit_fix_operator.py:182 -#, fuzzy msgid "Note" -msgstr "Note" +msgstr "注意" #: ../../../src/evox/algorithms/mo/moead.py:59 msgid "" -"This implementation is based on the original paper and may not be the " -"most efficient implementation. It can not be traced by JIT." +"This implementation is based on the original paper and may not be the most " +"efficient implementation. It can not be traced by JIT." msgstr "本实现基于原始论文,可能不是最有效的实现。它无法通过 JIT 进行跟踪。" #: ../../../src/evox/algorithms/mo/moead.py:58 -#, fuzzy msgid "Initializes the MOEA/D algorithm." -msgstr "并行MOEA/D算法" +msgstr "初始化 MOEA/D 算法。" #: ../../../src/evox/algorithms/mo/moead.py:61 #: ../../../src/evox/algorithms/mo/nsga2.py:42 @@ -1933,8 +1859,8 @@ msgstr "基因突变操作,该选项的缺省值是 `polynomial_mutation`, #: ../../../src/evox/algorithms/mo/moead.py:66 msgid "" -"The crossover operation, defaults to simulated_binary_half if not " -"provided (optional)." +"The crossover operation, defaults to simulated_binary_half if not provided " +"(optional)." msgstr "交叉操作,如果未提供,则默认为 simulated_binary_half(可选)。" #: ../../../src/evox/algorithms/mo/moead.py:67 @@ -1955,8 +1881,8 @@ msgstr "执行工作流的初始化步骤。" #: ../../../src/evox/algorithms/mo/rvea.py:48 #: ../../../src/evox/workflows/std_workflow.py:107 msgid "" -"Calls the `init_step` of the algorithm if overwritten; otherwise, its " -"`step` method will be invoked." +"Calls the `init_step` of the algorithm if overwritten; otherwise, its `step`" +" method will be invoked." msgstr "调用算法的 `init_step` 如果被重写;否则,将调用其 `step` 方法。" #: ../../../src/evox/algorithms/mo/moead.py:73 @@ -1974,15 +1900,15 @@ msgstr "{py:obj}`NSGA2 `" #: ../../../src/evox/algorithms/mo/nsga2.py:20 #: ../../../src/evox/algorithms/mo/nsga2.py:33 msgid "" -"An implementation of the Non-dominated Sorting Genetic Algorithm II " -"(NSGA-II) for multi-objective optimization problems." +"An implementation of the Non-dominated Sorting Genetic Algorithm II (NSGA-" +"II) for multi-objective optimization problems." msgstr "非支配排序遗传算法 II (NSGA-II) 的实现,用于多目标优化问题。" #: ../../../src/evox/algorithms/mo/nsga2.py:35 msgid "" "This class provides a framework for solving multi-objective optimization " -"problems using a non-dominated sorting genetic algorithm, which is widely" -" used for Pareto-based optimization." +"problems using a non-dominated sorting genetic algorithm, which is widely " +"used for Pareto-based optimization." msgstr "此类提供了一个框架,用于通过非支配排序遗传算法解决多目标优化问题,该算法广泛用于基于帕累托的优化。" #: ../../../src/evox/algorithms/mo/nsga2.py:39 @@ -1996,9 +1922,8 @@ msgstr "" "`_" #: ../../../src/evox/algorithms/mo/nsga2.py:39 -#, fuzzy msgid "Initializes the NSGA-II algorithm." -msgstr "NSGA-II算法" +msgstr "初始化 NSGA-II 算法。" #: ../../../src/evox/algorithms/mo/nsga2.py:47 msgid "" @@ -2029,35 +1954,29 @@ msgstr "" #: ../../../src/evox/algorithms/mo/rvea.py:35 msgid "" -"This class is designed to solve multi-objective optimization problems " -"using a reference vector guided evolutionary algorithm." +"This class is designed to solve multi-objective optimization problems using " +"a reference vector guided evolutionary algorithm." msgstr "这类是设计用来使用参考向量引导的进化算法来解决多目标优化问题的。" #: ../../../src/evox/algorithms/mo/rvea.py:38 -#, fuzzy msgid "" "\"A Reference Vector Guided Evolutionary Algorithm for Many-Objective " -"Optimization,\" IEEE. `Link " -"`" +"Optimization,\" IEEE. `Link `" msgstr "" -"\"a reference vector guided evolutionary algorithm for many-objective " -"optimization,\" ieee. `link " +"面向多目标优化的参考向量引导的演化算法, IEEE. `Link " "`" #: ../../../src/evox/algorithms/mo/rvea.py:40 msgid "" -"\"GPU-accelerated Evolutionary Multiobjective Optimization Using " -"Tensorized RVEA\" ACM. `Link " -"`" +"\"GPU-accelerated Evolutionary Multiobjective Optimization Using Tensorized " +"RVEA\" ACM. `Link `" msgstr "" -"\"GPU-accelerated Evolutionary Multiobjective Optimization Using " -"Tensorized RVEA\" ACM. `Link " -"`" +"\"GPU-accelerated Evolutionary Multiobjective Optimization Using Tensorized " +"RVEA\" ACM. `Link `" #: ../../../src/evox/algorithms/mo/rvea.py:39 -#, fuzzy msgid "Initialize the RVEA algorithm with the given parameters." -msgstr "使用给定的策略和权重可视化 Brax 环境。" +msgstr "使用给定参数初始化RVEA算法。" #: ../../../src/evox/algorithms/mo/rvea.py:43 #: ../../../src/evox/operators/mutation/pm_mutation.py:34 @@ -2070,7 +1989,8 @@ msgid "The upper bounds for the decision variables." msgstr "决策变量的上限界值。" #: ../../../src/evox/algorithms/mo/rvea.py:45 -msgid "A parameter for controlling the rate of change of penalty. Defaults to 2." +msgid "" +"A parameter for controlling the rate of change of penalty. Defaults to 2." msgstr "一个参数,用于控制惩罚的变化速率。默认值为 2。" #: ../../../src/evox/algorithms/mo/rvea.py:46 @@ -2078,9 +1998,8 @@ msgid "The frequency of reference vector adaptation. Defaults to 0.1." msgstr "引用向量适应的频率。默认为 0.1。" #: ../../../src/evox/algorithms/mo/rvea.py:47 -#, fuzzy msgid "The maximum number of generations. Defaults to 100." -msgstr "运行的最大的时间步的数量。" +msgstr "最大世代数。默认为 100。" #: ../../../src/evox/algorithms/mo/rvea.py:49 msgid "The mutation operation (optional)." @@ -2095,9 +2014,8 @@ msgid "The device on which computations should run (optional)." msgstr "运行计算的设备(可选)。" #: ../../../src/evox/algorithms/mo/rvea.py:102 -#, fuzzy msgid "Perform a single optimization step." -msgstr "🌐 **多功能优化套件**:" +msgstr "执行单次优化步骤。" #: ../../source/apidocs/evox/evox.algorithms.pso_variants.md:1 msgid "{py:mod}`evox.algorithms.pso_variants`" @@ -2123,9 +2041,8 @@ msgstr "{py:obj}`CLPSO `" #: ../../../src/evox/algorithms/pso_variants/clpso.py:33 #: ../../../src/evox/algorithms/pso_variants/cso.py:20 #: ../../../src/evox/algorithms/pso_variants/cso.py:33 -#, fuzzy msgid "The basic CSO algorithm." -msgstr "算法。" +msgstr "基本的CSO算法。" #: ../../../src/evox/algorithms/pso_variants/clpso.py:37 msgid "" @@ -2142,9 +2059,9 @@ msgstr "`setup`: 初始化 CLPSO 算法,并设置初始种群、速度以及 #: ../../../src/evox/algorithms/pso_variants/clpso.py:39 msgid "" -"`step`: Performs a single optimization step using CLPSO, updating local " -"best positions and fitness values, and adjusting velocity and positions " -"based on inertia, cognitive, and social components." +"`step`: Performs a single optimization step using CLPSO, updating local best" +" positions and fitness values, and adjusting velocity and positions based on" +" inertia, cognitive, and social components." msgstr "" "**单步优化** (`step`): \n" "使用CLPSO执行单步优化,更新个人最佳位置和适应值,根据惯性、认知和社会组件调整速度和位置。" @@ -2156,10 +2073,11 @@ msgstr "" #: ../../../src/evox/algorithms/pso_variants/sl_pso_gs.py:41 #: ../../../src/evox/algorithms/pso_variants/sl_pso_us.py:41 msgid "" -"Note that the `evaluate` method is not defined in this class, it is a " -"proxy function of `Problem.evaluate` set by workflow; therefore, it " -"cannot be used in class methods other than `step`." -msgstr "请注意,`evaluate`方法在此类中未定义,它是由工作流设置的`Problem.evaluate`的代理函数;因此,它无法在除`step`之外的类方法中使用。" +"Note that the `evaluate` method is not defined in this class, it is a proxy " +"function of `Problem.evaluate` set by workflow; therefore, it cannot be used" +" in class methods other than `step`." +msgstr "" +"请注意,`evaluate`方法在此类中未定义,它是由工作流设置的`Problem.evaluate`的代理函数;因此,它无法在除`step`之外的类方法中使用。" #: ../../../src/evox/algorithms/pso_variants/clpso.py:39 msgid "Initialize the CLPSO algorithm with the given static parameters." @@ -2184,28 +2102,28 @@ msgstr "使用 CLPSO 执行单次优化步骤。" #: ../../../src/evox/algorithms/pso_variants/clpso.py:48 #: ../../../src/evox/algorithms/pso_variants/pso.py:48 msgid "" -"This function evaluates the fitness of the current population, updates " -"the local best positions and fitness values, and adjusts the velocity and" -" positions of particles based on inertia, cognitive, and social " -"components. It ensures that the updated positions and velocities are " -"clamped within the specified bounds." -msgstr "该函数用于评估当前种群的适应度,更新局部最优位置和适应度值并根据惯性、认知和社会组件调整粒子的速度和位置该函数确保在更新位置和速度后,粒子的位置和速度都在指定的范围内。" +"This function evaluates the fitness of the current population, updates the " +"local best positions and fitness values, and adjusts the velocity and " +"positions of particles based on inertia, cognitive, and social components. " +"It ensures that the updated positions and velocities are clamped within the " +"specified bounds." +msgstr "" +"该函数用于评估当前种群的适应度,更新局部最优位置和适应度值并根据惯性、认知和社会组件调整粒子的速度和位置该函数确保在更新位置和速度后,粒子的位置和速度都在指定的范围内。" #: ../../../src/evox/algorithms/pso_variants/clpso.py:54 #: ../../../src/evox/algorithms/pso_variants/pso.py:54 msgid "" "The local best positions and fitness values are updated if the current " -"fitness is better than the recorded local best. The global best position " -"and fitness are determined using helper functions." +"fitness is better than the recorded local best. The global best position and" +" fitness are determined using helper functions." msgstr "如果当前的适应度比记录的局部最佳更好,则更新局部最佳位置和适应度值。全局最佳位置和适应度通过辅助函数确定。" #: ../../../src/evox/algorithms/pso_variants/clpso.py:58 #: ../../../src/evox/algorithms/pso_variants/pso.py:58 msgid "" -"The velocity is updated based on the weighted sum of the previous " -"velocity, the cognitive component (personal best), and the social " -"component (global best). The population positions are then updated using " -"the new velocities." +"The velocity is updated based on the weighted sum of the previous velocity, " +"the cognitive component (personal best), and the social component (global " +"best). The population positions are then updated using the new velocities." msgstr "速度是基于以前速度的加权总和、认知成分(个人最好)和社会成分(全局最好)进行更新的。然后,使用新的速度更新种群位置。" #: ../../source/apidocs/evox/evox.algorithms.pso_variants.cso.md:1 @@ -2222,22 +2140,21 @@ msgstr "`__init__`: 使用给定参数初始化 CSO 算法。" #: ../../../src/evox/algorithms/pso_variants/cso.py:38 msgid "" -"`setup`: Initializes the CSO algorithm with given lower and upper bounds " -"for particle positions, and sets up initial population, velocity, and " -"buffers for tracking best local and global positions and fitness values." +"`setup`: Initializes the CSO algorithm with given lower and upper bounds for" +" particle positions, and sets up initial population, velocity, and buffers " +"for tracking best local and global positions and fitness values." msgstr "`setup`: 使用给定的粒子位置下限和上限初始化 CSO 算法,并设置初始种群、速度以及用于跟踪最佳局部和全局位置及适应度值的缓冲区。" #: ../../../src/evox/algorithms/pso_variants/cso.py:39 msgid "" -"`step`: Performs a single optimization step using CSO, updating local " -"best positions and fitness values, and adjusting velocity and positions " -"based on inertia, cognitive, and social components." +"`step`: Performs a single optimization step using CSO, updating local best " +"positions and fitness values, and adjusting velocity and positions based on " +"inertia, cognitive, and social components." msgstr "`step`:使用 CSO 执行单个优化步骤,更新局部最佳位置和适应度值,并根据惯性、认知和社交组件调整速度和位置。" #: ../../../src/evox/algorithms/pso_variants/cso.py:39 -#, fuzzy msgid "Initialize the CSO algorithm with the given parameters." -msgstr "使用给定的策略和权重可视化 Brax 环境。" +msgstr "使用给定的参数初始化CSO算法。" #: ../../../src/evox/algorithms/pso_variants/cso.py:44 msgid "The inertia weight. Defaults to 0.0." @@ -2245,9 +2162,8 @@ msgstr "惯性权重。默认值为 0.0。" #: ../../../src/evox/algorithms/pso_variants/cso.py:45 #: ../../../src/evox/algorithms/pso_variants/fs_pso.py:47 -#, fuzzy msgid "The mean of the normal distribution. Defaults to None." -msgstr "状态之中对应种群变量的变量名。默认是“population”。" +msgstr "正态分布的均值。默认为 None。" #: ../../../src/evox/algorithms/pso_variants/cso.py:46 #: ../../../src/evox/algorithms/pso_variants/fs_pso.py:48 @@ -2262,8 +2178,8 @@ msgstr "使用 CSO 进行单次优化步骤。" msgid "" "This function updates the position and velocity of each particle in the " "population using the CSO algorithm. The CSO algorithm is an optimization " -"algorithm that uses a combination of both the PSO and the DE algorithms " -"to search for the optimal solution." +"algorithm that uses a combination of both the PSO and the DE algorithms to " +"search for the optimal solution." msgstr "该函数使用CSO算法更新种群中每个粒子的位置和速度。CSO算法是一种优化算法,它结合了PSO和DE算法来搜索最佳解决方案。" #: ../../source/apidocs/evox/evox.algorithms.pso_variants.dms_pso_el.md:1 @@ -2276,9 +2192,8 @@ msgstr "{py:obj}`DMSPSOEL `" #: ../../../src/evox/algorithms/pso_variants/dms_pso_el.py:20 #: ../../../src/evox/algorithms/pso_variants/dms_pso_el.py:33 -#, fuzzy msgid "The DMSPSOEL algorithm." -msgstr "算法。" +msgstr "DMSPSOEL 算法。" #: ../../../src/evox/algorithms/pso_variants/dms_pso_el.py:37 msgid "`__init__`: Initializes the DMSPSOEL algorithm with given parameters." @@ -2287,16 +2202,16 @@ msgstr "`__init__`: 通过给定的参数来初始化 DMSPSOEL 算法。" #: ../../../src/evox/algorithms/pso_variants/dms_pso_el.py:38 msgid "" "`setup`: Initializes the DMSPSOEL algorithm with given lower and upper " -"bounds for particle positions, and sets up initial population, velocity, " -"and buffers for tracking best local and global positions and fitness " -"values." -msgstr "`setup`: 初始化 DMSPSOEL 算法,设置粒子位置的下限和上限,并配置初始种群、速度,以及用于跟踪最佳局部和全局位置与适应度值的缓冲区。" +"bounds for particle positions, and sets up initial population, velocity, and" +" buffers for tracking best local and global positions and fitness values." +msgstr "" +"`setup`: 初始化 DMSPSOEL 算法,设置粒子位置的下限和上限,并配置初始种群、速度,以及用于跟踪最佳局部和全局位置与适应度值的缓冲区。" #: ../../../src/evox/algorithms/pso_variants/dms_pso_el.py:39 msgid "" -"`step`: Performs a single optimization step using DMSPSOEL, updating " -"local best positions and fitness values, and adjusting velocity and " -"positions based on inertia, cognitive, and social components." +"`step`: Performs a single optimization step using DMSPSOEL, updating local " +"best positions and fitness values, and adjusting velocity and positions " +"based on inertia, cognitive, and social components." msgstr "`step`: 使用 DMSPSOEL 执行单次优化步骤,更新本地最佳位置和适应度值,并根据惯性、认知和社会组件调整速度和位置。" #: ../../../src/evox/algorithms/pso_variants/dms_pso_el.py:39 @@ -2320,9 +2235,8 @@ msgid "The number of iterations for regrouping. Defaults to 50." msgstr "重组的迭代次数。默认为50。" #: ../../../src/evox/algorithms/pso_variants/dms_pso_el.py:47 -#, fuzzy msgid "The maximum number of iterations. Defaults to 100." -msgstr "运行的最大的时间步的数量。" +msgstr "最大迭代次数。默认为 100。" #: ../../../src/evox/algorithms/pso_variants/dms_pso_el.py:48 msgid "The inertia weight. Defaults to 0.7." @@ -2342,18 +2256,17 @@ msgid "The social weight. Defaults to 1.0." msgstr "社交权重。默认为 1.0。" #: ../../../src/evox/algorithms/pso_variants/dms_pso_el.py:46 -#, fuzzy msgid "Perform a single step of the DMSPSOEL algorithm." -msgstr "算法的新状态" +msgstr "执行 DMSPSOEL 算法的单步操作。" #: ../../../src/evox/algorithms/pso_variants/dms_pso_el.py:48 msgid "" -"This function updates the population, velocity, personal best location, " -"and personal best fitness based on the current fitness values. It also " -"updates the local and global best positions and fitness values based on " -"the dynamic sub-swarm and following sub-swarm. Finally, it updates the " -"iteration count." -msgstr "此函数根据当前的适应度值更新种群、速度、个人最佳位置和个人最佳适应度。它还根据动态子群和跟随子群更新局部和全局最佳位置及适应度值。最后,它更新迭代计数。" +"This function updates the population, velocity, personal best location, and " +"personal best fitness based on the current fitness values. It also updates " +"the local and global best positions and fitness values based on the dynamic " +"sub-swarm and following sub-swarm. Finally, it updates the iteration count." +msgstr "" +"此函数根据当前的适应度值更新种群、速度、个人最佳位置和个人最佳适应度。它还根据动态子群和跟随子群更新局部和全局最佳位置及适应度值。最后,它更新迭代计数。" #: ../../source/apidocs/evox/evox.algorithms.pso_variants.fs_pso.md:1 msgid "{py:mod}`evox.algorithms.pso_variants.fs_pso`" @@ -2365,9 +2278,8 @@ msgstr "{py:obj}`FSPSO `" #: ../../../src/evox/algorithms/pso_variants/fs_pso.py:20 #: ../../../src/evox/algorithms/pso_variants/fs_pso.py:33 -#, fuzzy msgid "The Feature Selection PSO algorithm." -msgstr "这个算法的状态。" +msgstr "特征选择 PSO 算法" #: ../../../src/evox/algorithms/pso_variants/fs_pso.py:39 msgid "Initialize the FSPSO algorithm with the given parameters." @@ -2417,9 +2329,9 @@ msgstr "基本粒子群优化算法 (PSO)" #: ../../../src/evox/algorithms/pso_variants/pso.py:37 msgid "" -"`__init__`: Initializes the PSO algorithm with given parameters " -"(population size, lower and upper bounds, inertia weight, cognitive " -"weight, and social weight)." +"`__init__`: Initializes the PSO algorithm with given parameters (population " +"size, lower and upper bounds, inertia weight, cognitive weight, and social " +"weight)." msgstr "" "**__init__**\n" "初始化 PSO 算法(Particle Swarm Optimization)与给定的参数(人口大小、下限和上限、惯性权重、认知权重和社会权重)。" @@ -2427,15 +2339,14 @@ msgstr "" #: ../../../src/evox/algorithms/pso_variants/pso.py:38 msgid "" "`step`: Performs a single optimization step using Particle Swarm " -"Optimization (PSO), updating local best positions and fitness values, and" -" adjusting velocity and positions based on inertia, cognitive, and social" -" components." +"Optimization (PSO), updating local best positions and fitness values, and " +"adjusting velocity and positions based on inertia, cognitive, and social " +"components." msgstr "`step`: 执行单次粒子群优化(PSO)步骤,更新局部最佳位置和适应度值,并基于惯性、认知和社会组件调整速度和位置。\n" #: ../../../src/evox/algorithms/pso_variants/pso.py:39 -#, fuzzy msgid "Initialize the PSO algorithm with the given parameters." -msgstr "使用给定的策略和权重可视化 Brax 环境。" +msgstr "使用给定参数初始化PSO算法。" #: ../../../src/evox/algorithms/pso_variants/pso.py:46 msgid "Perform a normal optimization step using PSO." @@ -2474,20 +2385,21 @@ msgstr "`__init__`: 使用给定的参数(种群大小、惯性权重、认知 #: ../../../src/evox/algorithms/pso_variants/sl_pso_gs.py:38 #: ../../../src/evox/algorithms/pso_variants/sl_pso_us.py:38 msgid "" -"`setup`: Initializes the SLPSOGS algorithm with given lower and upper " -"bounds for particle positions, and sets up initial population, velocity, " -"and buffers for tracking best local and global positions and fitness " -"values." -msgstr "`setup`:初始化 SLPSOGS 算法,设置粒子位置的下界和上界,并建立初始种群、速度以及用于跟踪最佳局部和全局位置及适应度值的缓冲区。" +"`setup`: Initializes the SLPSOGS algorithm with given lower and upper bounds" +" for particle positions, and sets up initial population, velocity, and " +"buffers for tracking best local and global positions and fitness values." +msgstr "" +"`setup`:初始化 SLPSOGS 算法,设置粒子位置的下界和上界,并建立初始种群、速度以及用于跟踪最佳局部和全局位置及适应度值的缓冲区。" #: ../../../src/evox/algorithms/pso_variants/sl_pso_gs.py:39 #: ../../../src/evox/algorithms/pso_variants/sl_pso_us.py:39 msgid "" "`step`: Performs a single optimization step using Particle Swarm " -"Optimization (SLPSOGS), updating local best positions and fitness values," -" and adjusting velocity and positions based on inertia, cognitive, and " -"social components." -msgstr "`step`: 使用粒子群优化 (SLPSOGS) 执行单个优化步骤,更新局部最佳位置和适应度值,并根据惯性、认知和社交成分调整速度和位置。" +"Optimization (SLPSOGS), updating local best positions and fitness values, " +"and adjusting velocity and positions based on inertia, cognitive, and social" +" components." +msgstr "" +"`step`: 使用粒子群优化 (SLPSOGS) 执行单个优化步骤,更新局部最佳位置和适应度值,并根据惯性、认知和社交成分调整速度和位置。" #: ../../../src/evox/algorithms/pso_variants/sl_pso_gs.py:39 msgid "Initialize the SLPSOGS algorithm with the given parameters." @@ -2567,9 +2479,8 @@ msgid "A tensor of shape (N,) containing {0, 1}." msgstr "一个形状为 (N,) 的张量,包含 {0, 1}。" #: ../../../src/evox/algorithms/pso_variants/utils.py:45 -#, fuzzy msgid "The number of elements to select." -msgstr "目标数量" +msgstr "要选择的元素数量。" #: ../../../src/evox/algorithms/pso_variants/utils.py:47 msgid "A new mask tensor with exactly s elements set to 1." @@ -2600,8 +2511,10 @@ msgid "{py:obj}`_set_func_id `" msgstr "{py:obj}`_set_func_id `" #: ../../source/apidocs/evox/evox.core._vmap_fix.md:22 -msgid "{py:obj}`unwrap_batch_tensor `" -msgstr "{py:obj}`unwrap_batch_tensor `" +msgid "" +"{py:obj}`unwrap_batch_tensor `" +msgstr "" +"{py:obj}`unwrap_batch_tensor `" #: ../../../src/evox/core/_vmap_fix.py:24 #: ../../../src/evox/core/_vmap_fix.py:181 @@ -2616,7 +2529,8 @@ msgstr "{py:obj}`wrap_batch_tensor `" #: ../../../src/evox/core/_vmap_fix.py:28 #: ../../../src/evox/core/_vmap_fix.py:188 -msgid "Wraps a original tensor into its batched form with given batch dimensions." +msgid "" +"Wraps a original tensor into its batched form with given batch dimensions." msgstr "将原始张量封装到其批量形式中,给定批量维度。" #: ../../source/apidocs/evox/evox.core._vmap_fix.md:30 @@ -2624,8 +2538,10 @@ msgid "{py:obj}`_get_batched_size `" msgstr "{py:obj}`_get_batched_size `" #: ../../source/apidocs/evox/evox.core._vmap_fix.md:34 -msgid "{py:obj}`get_vmap_batch_sizes `" -msgstr "{py:obj}`get_vmap_batch_sizes `" +msgid "" +"{py:obj}`get_vmap_batch_sizes `" +msgstr "" +"{py:obj}`get_vmap_batch_sizes `" #: ../../source/apidocs/evox/evox.core._vmap_fix.md:38 msgid "" @@ -2649,14 +2565,16 @@ msgid "Generate a batched tensor of random values." msgstr "生成一个包含随机值的批量张量。" #: ../../source/apidocs/evox/evox.core._vmap_fix.md:50 -msgid "{py:obj}`batched_random_like `" -msgstr "{py:obj}`batched_random_like `" +msgid "" +"{py:obj}`batched_random_like `" +msgstr "" +"{py:obj}`batched_random_like `" #: ../../../src/evox/core/_vmap_fix.py:52 #: ../../../src/evox/core/_vmap_fix.py:241 msgid "" -"Generate a batched tensor of random values with the same shape as the " -"given tensor." +"Generate a batched tensor of random values with the same shape as the given " +"tensor." msgstr "生成一个与给定张量形状相同的随机值批处理张量。" #: ../../source/apidocs/evox/evox.core._vmap_fix.md:54 @@ -2688,8 +2606,10 @@ msgid "{py:obj}`_batch_randn_like `" msgstr "{py:obj}`_batch_randn_like `" #: ../../source/apidocs/evox/evox.core._vmap_fix.md:82 -msgid "{py:obj}`_batch_randint_like `" -msgstr "{py:obj}`_batch_randint_like `" +msgid "" +"{py:obj}`_batch_randint_like `" +msgstr "" +"{py:obj}`_batch_randint_like `" #: ../../source/apidocs/evox/evox.core._vmap_fix.md:86 msgid "{py:obj}`_batch_getitem `" @@ -2709,7 +2629,8 @@ msgstr "{py:obj}`align_vmap_tensor `" #: ../../../src/evox/core/_vmap_fix.py:100 #: ../../../src/evox/core/_vmap_fix.py:436 -msgid "Aligns a tensor with the batching dimensions of a current batched tensor." +msgid "" +"Aligns a tensor with the batching dimensions of a current batched tensor." msgstr "将张量与当前批处理张量的批处理维度对齐。" #: ../../source/apidocs/evox/evox.core._vmap_fix.md:102 @@ -2752,12 +2673,16 @@ msgid "{py:obj}`_original_randperm `" msgstr "{py:obj}`_original_randperm `" #: ../../source/apidocs/evox/evox.core._vmap_fix.md:142 -msgid "{py:obj}`_original_rand_like `" -msgstr "{py:obj}`_original_rand_like `" +msgid "" +"{py:obj}`_original_rand_like `" +msgstr "" +"{py:obj}`_original_rand_like `" #: ../../source/apidocs/evox/evox.core._vmap_fix.md:146 -msgid "{py:obj}`_original_randn_like `" -msgstr "{py:obj}`_original_randn_like `" +msgid "" +"{py:obj}`_original_randn_like `" +msgstr "" +"{py:obj}`_original_randn_like `" #: ../../source/apidocs/evox/evox.core._vmap_fix.md:150 msgid "" @@ -2784,7 +2709,8 @@ msgid "The batched tensor to be unwrapped." msgstr "要解包的批处理张量。" #: ../../../src/evox/core/_vmap_fix.py:185 -msgid "A tuple of the original tensor, the batch dimensions, and the batch sizes." +msgid "" +"A tuple of the original tensor, the batch dimensions, and the batch sizes." msgstr "原始张量、批次维度和批次大小的元组。" #: ../../../src/evox/core/_vmap_fix.py:190 @@ -2792,14 +2718,12 @@ msgid "The original tensor to be wrapped." msgstr "要包装的原始张量。" #: ../../../src/evox/core/_vmap_fix.py:191 -#, fuzzy msgid "The batch dimension(s)." -msgstr "批处理大小。" +msgstr "批量维度(s)。" #: ../../../src/evox/core/_vmap_fix.py:193 -#, fuzzy msgid "The batched tensor." -msgstr "批处理大小。" +msgstr "批量张量。" #: ../../source/apidocs/evox/evox.core._vmap_fix.md:203 #: ../../source/apidocs/evox/evox.core._vmap_fix.md:419 @@ -2812,11 +2736,10 @@ msgstr "'ContextVar(...)'" msgid "" "Given a random function (e.g. " "[`torch.randn`](https://pytorch.org/docs/stable/generated/torch.randn.html)," -" " -"[`torch.rand`](https://pytorch.org/docs/stable/generated/torch.rand.html)," -" etc.) and its size arguments, this function generates a batched tensor " -"of random values by applying the given function to the size extended with" -" the current vmap batch size." +" [`torch.rand`](https://pytorch.org/docs/stable/generated/torch.rand.html), " +"etc.) and its size arguments, this function generates a batched tensor of " +"random values by applying the given function to the size extended with the " +"current vmap batch size." msgstr "" "给定一个随机函数(例如 " "[`torch.randn`](https://pytorch.org/docs/stable/generated/torch.randn.html)、[`torch.rand`](https://pytorch.org/docs/stable/generated/torch.rand.html)" @@ -2878,22 +2801,22 @@ msgstr "生成随机值的张量。" #: ../../source/apidocs/evox/evox.problems.neuroevolution.utils.md:74 #: ../../source/apidocs/evox/evox.problems.neuroevolution.utils.md:85 #: ../../source/apidocs/evox/evox.problems.neuroevolution.utils.md:96 -#, fuzzy msgid "None" -msgstr "Notes" +msgstr "没有可翻译的文本。" #: ../../../src/evox/core/_vmap_fix.py:438 msgid "" -"This function adjusts the input tensor `value` to match the batch " -"dimensions of `current_value`, which is assumed to be a batched tensor. " -"If `value` is already a batched tensor or `current_value` is not a " -"batched tensor, it returns `value` unchanged." +"This function adjusts the input tensor `value` to match the batch dimensions" +" of `current_value`, which is assumed to be a batched tensor. If `value` is " +"already a batched tensor or `current_value` is not a batched tensor, it " +"returns `value` unchanged." msgstr "" -"该函数将输入张量 `value` 调整为匹配 `current_value` 的批次维度,后者被假设为批次张量。如果 `value` " -"已经是批次张量或者 `current_value` 不是批次张量,它会返回 `value` 不变。" +"该函数将输入张量 `value` 调整为匹配 `current_value` 的批次维度,后者被假设为批次张量。如果 `value` 已经是批次张量或者" +" `current_value` 不是批次张量,它会返回 `value` 不变。" #: ../../../src/evox/core/_vmap_fix.py:443 -msgid "The tensor to be aligned. If not a torch.Tensor, it is returned unchanged." +msgid "" +"The tensor to be aligned. If not a torch.Tensor, it is returned unchanged." msgstr "要对齐的张量。如果不是一个 torch.Tensor,则保持不变返回。" #: ../../../src/evox/core/_vmap_fix.py:445 @@ -2920,14 +2843,12 @@ msgid "A string format." msgstr "字符串格式。" #: ../../../src/evox/core/_vmap_fix.py:455 -#, fuzzy msgid "The positional tensor." -msgstr "状态。" +msgstr "位置张量。" #: ../../../src/evox/core/_vmap_fix.py:456 -#, fuzzy msgid "The unchanged tensor." -msgstr "缩放因子" +msgstr "未改变的张量。" #: ../../source/apidocs/evox/evox.core.components.md:1 msgid "{py:mod}`evox.core.components`" @@ -2948,9 +2869,8 @@ msgstr "{py:obj}`Problem `" #: ../../../src/evox/core/components.py:24 #: ../../../src/evox/core/components.py:86 -#, fuzzy msgid "Base class for all problems" -msgstr "所有算法的基类" +msgstr "所有问题的基类" #: ../../source/apidocs/evox/evox.core.components.md:26 msgid "{py:obj}`Workflow `" @@ -2958,9 +2878,8 @@ msgstr "{py:obj}`Workflow `" #: ../../../src/evox/core/components.py:28 #: ../../../src/evox/core/components.py:110 -#, fuzzy msgid "The base class for workflow." -msgstr "所有EvoX模块的基础类。" +msgstr "工作流的基类。" #: ../../source/apidocs/evox/evox.core.components.md:30 msgid "{py:obj}`Monitor `" @@ -2968,9 +2887,8 @@ msgstr "{py:obj}`Monitor `" #: ../../../src/evox/core/components.py:32 #: ../../../src/evox/core/components.py:142 -#, fuzzy msgid "The monitor base class." -msgstr "问题类" +msgstr "监视器基类。" #: ../../source/apidocs/evox/evox.core.components.md:42 #: ../../source/apidocs/evox/evox.core.components.md:83 @@ -2989,31 +2907,30 @@ msgstr "" "`init_step` 方法必须被覆盖重写。" #: ../../../src/evox/core/components.py:116 -#: ../../../src/evox/core/components.py:148 ../../../src/evox/core/module.py:47 -#: ../../../src/evox/core/module.py:51 ../../../src/evox/core/module.py:92 -#: ../../../src/evox/core/module.py:232 -#, fuzzy +#: ../../../src/evox/core/components.py:148 +#: ../../../src/evox/core/module.py:47 ../../../src/evox/core/module.py:51 +#: ../../../src/evox/core/module.py:92 ../../../src/evox/core/module.py:232 msgid "Initialize the ModuleBase." -msgstr "初始化这个模块和所有的子模块" +msgstr "初始化 ModuleBase。" #: ../../../src/evox/core/components.py:118 -#: ../../../src/evox/core/components.py:150 ../../../src/evox/core/module.py:49 -#: ../../../src/evox/core/module.py:53 ../../../src/evox/core/module.py:94 -#: ../../../src/evox/core/module.py:234 +#: ../../../src/evox/core/components.py:150 +#: ../../../src/evox/core/module.py:49 ../../../src/evox/core/module.py:53 +#: ../../../src/evox/core/module.py:94 ../../../src/evox/core/module.py:234 msgid "Variable length argument list, passed to the parent class initializer." msgstr "可变长度参数列表,传递给父类的初始化函数。" #: ../../../src/evox/core/components.py:119 -#: ../../../src/evox/core/components.py:151 ../../../src/evox/core/module.py:50 -#: ../../../src/evox/core/module.py:54 ../../../src/evox/core/module.py:95 -#: ../../../src/evox/core/module.py:235 +#: ../../../src/evox/core/components.py:151 +#: ../../../src/evox/core/module.py:50 ../../../src/evox/core/module.py:54 +#: ../../../src/evox/core/module.py:95 ../../../src/evox/core/module.py:235 msgid "Arbitrary keyword arguments, passed to the parent class initializer." msgstr "任意关键字参数,传递给父类初始化器。" #: ../../../src/evox/core/components.py:121 -#: ../../../src/evox/core/components.py:153 ../../../src/evox/core/module.py:52 -#: ../../../src/evox/core/module.py:56 ../../../src/evox/core/module.py:97 -#: ../../../src/evox/core/module.py:237 +#: ../../../src/evox/core/components.py:153 +#: ../../../src/evox/core/module.py:52 ../../../src/evox/core/module.py:56 +#: ../../../src/evox/core/module.py:97 ../../../src/evox/core/module.py:237 msgid "" "Attributes: __static_names__ (list): A list to store static member " "names." @@ -3022,20 +2939,19 @@ msgstr "" "names." #: ../../../src/evox/core/components.py:58 -#, fuzzy msgid "Execute the algorithm procedure for one step." -msgstr "告诉算法更多的信息" +msgstr "执行算法过程的一步。" #: ../../../src/evox/core/components.py:66 msgid "" -"Initialize the algorithm and execute the algorithm procedure for the " -"first step." +"Initialize the algorithm and execute the algorithm procedure for the first " +"step." msgstr "初始化算法并执行算法过程的第一步。" #: ../../../src/evox/core/components.py:75 msgid "" -"Evaluate the fitness at given points. This function is a proxy function " -"of `Problem.evaluate` set by workflow. By default, this functions raises " +"Evaluate the fitness at given points. This function is a proxy function of " +"`Problem.evaluate` set by workflow. By default, this functions raises " "`NotImplementedError`." msgstr "" "在给定点评估适应度。这个函数是由工作流设置的 `Problem.evaluate` 的代理函数。默认情况下,这个函数会引发 " @@ -3048,9 +2964,8 @@ msgstr "种群。" #: ../../../src/evox/core/components.py:81 #: ../../../src/evox/core/components.py:103 -#, fuzzy msgid "The fitness." -msgstr "适应度值" +msgstr "适应度。" #: ../../../src/evox/core/components.py:99 msgid "Evaluate the fitness at given points" @@ -3073,18 +2988,20 @@ msgstr "基本功能以逐步执行工作流。" #: ../../../src/evox/core/components.py:144 msgid "" -"Monitors are used to monitor the evolutionary process. They contains a " -"set of callbacks, which will be called at specific points during the " -"execution of the workflow. Monitor itself lives outside the main " -"workflow, so jit is not required." -msgstr "监视器用于监控进化过程。它们包含一组回调,这些回调将在工作流执行的特定时刻被调用。Monitor 本身位于主工作流之外,因此不需要 jit。" +"Monitors are used to monitor the evolutionary process. They contains a set " +"of callbacks, which will be called at specific points during the execution " +"of the workflow. Monitor itself lives outside the main workflow, so jit is " +"not required." +msgstr "" +"监视器用于监控进化过程。它们包含一组回调,这些回调将在工作流执行的特定时刻被调用。Monitor 本身位于主工作流之外,因此不需要 jit。" #: ../../../src/evox/core/components.py:149 msgid "" -"To implements a monitor, implement your own callbacks and override the " -"hooks method. The hooks method should return a list of strings, which are" -" the names of the callbacks. Currently the supported callbacks are:" -msgstr "要实现一个监视器,您需要实现自己的回调并重写 hooks 方法。hooks 方法应返回一个字符串列表,这些字符串是回调的名称。目前支持的回调有:" +"To implements a monitor, implement your own callbacks and override the hooks" +" method. The hooks method should return a list of strings, which are the " +"names of the callbacks. Currently the supported callbacks are:" +msgstr "" +"要实现一个监视器,您需要实现自己的回调并重写 hooks 方法。hooks 方法应返回一个字符串列表,这些字符串是回调的名称。目前支持的回调有:" #: ../../../src/evox/core/components.py:153 msgid "`post_ask`, `pre_eval`, `post_eval`, and `pre_tell`." @@ -3095,22 +3012,21 @@ msgid "Set the static variables according to `config`." msgstr "根据 `config` 设置静态变量。" #: ../../../src/evox/core/components.py:157 -#, fuzzy msgid "The configuration." -msgstr "种群。" +msgstr "配置。" #: ../../../src/evox/core/components.py:159 #: ../../../src/evox/core/module.py:247 -#, fuzzy msgid "This module." -msgstr "这个模块的状态。" +msgstr "此模块。" #: ../../../src/evox/core/components.py:163 msgid "The hook function to be executed before the solution transformation." msgstr "解决方案转换前执行的钩子函数。" #: ../../../src/evox/core/components.py:165 -msgid "The population (candidate solutions) before the solution transformation." +msgid "" +"The population (candidate solutions) before the solution transformation." msgstr "种群(候选解)的初始演化状态" #: ../../../src/evox/core/components.py:171 @@ -3118,9 +3034,9 @@ msgid "The hook function to be executed after the solution transformation." msgstr "解决方案转换后执行的钩子函数。" #: ../../../src/evox/core/components.py:173 -#, fuzzy -msgid "The population (candidate solutions) after the solution transformation." -msgstr "种群(候选解)的初始演化状态" +msgid "" +"The population (candidate solutions) after the solution transformation." +msgstr "经过解的转换后的种群(候选解)。" #: ../../../src/evox/core/components.py:179 msgid "The hook function to be executed before the fitness transformation." @@ -3153,8 +3069,8 @@ msgstr "{py:obj}`vmap `" #: ../../../src/evox/core/jit_util.py:30 ../../../src/evox/core/jit_util.py:97 msgid "" "Vectorized map the given function to its mapped version, see " -"[`torch.vmap`](https://pytorch.org/docs/main/generated/torch.vmap.html) " -"for more information." +"[`torch.vmap`](https://pytorch.org/docs/main/generated/torch.vmap.html) for " +"more information." msgstr "" "向量化映射将给定的函数映射到其映射版本,更多信息请参见 " "[`torch.vmap`](https://pytorch.org/docs/main/generated/torch.vmap.html)。" @@ -3175,7 +3091,8 @@ msgstr "" msgid "{py:obj}`jit `" msgstr "{py:obj}`jit `" -#: ../../../src/evox/core/jit_util.py:42 ../../../src/evox/core/jit_util.py:118 +#: ../../../src/evox/core/jit_util.py:42 +#: ../../../src/evox/core/jit_util.py:118 msgid "" "Just-In-Time (JIT) compile the given `func` via " "[`torch.jit.trace`](https://pytorch.org/docs/stable/generated/torch.jit.script.html)" @@ -3199,9 +3116,8 @@ msgid "Bases: {py:obj}`typing.Protocol`" msgstr "Bases: {py:obj}`typing.Protocol`" #: ../../../src/evox/core/jit_util.py:71 -#, fuzzy msgid "Initialize the state of the mapped function." -msgstr "为问题初始化设置。" +msgstr "初始化映射函数的状态。" #: ../../../src/evox/core/jit_util.py:73 msgid "" @@ -3211,8 +3127,8 @@ msgstr "状态的批处理大小。如果为 None,则状态的批处理大小 #: ../../../src/evox/core/jit_util.py:74 msgid "" -"Whether to torch.expand or torch.repeat the state tensors to the given " -"batch size." +"Whether to torch.expand or torch.repeat the state tensors to the given batch" +" size." msgstr "是否将状态张量使用 torch.expand 或 torch.repeat 扩展到给定的批量大小。" #: ../../../src/evox/core/jit_util.py:76 @@ -3243,23 +3159,22 @@ msgstr "输出的批次维度。请参见 torch.vmap。默认为 0。" #: ../../../src/evox/core/jit_util.py:102 msgid "" "Whether to trace the mapped function with torch.jit.trace or simply use " -"torch.vmap. NOTICE: if trace=False`, all of the following inputs related " -"to tracing will be ignored." +"torch.vmap. NOTICE: if trace=False`, all of the following inputs related to " +"tracing will be ignored." msgstr "" "是否使用 `torch.jit.trace` 追踪已映射的函数,还是简单地使用 `torch.vmap`。注意:如果 " "`trace=False`,所有与追踪相关的输入将被忽略。" #: ../../../src/evox/core/jit_util.py:103 msgid "" -"The ndim of the expected inputs of the batched function; thus, it must be" -" at least 1. Giving a single integer means same ndim for all inputs. " -"Defaults to 1." +"The ndim of the expected inputs of the batched function; thus, it must be at" +" least 1. Giving a single integer means same ndim for all inputs. Defaults " +"to 1." msgstr "批处理函数期望输入的维度(ndim);因此,它必须至少为 1。给定一个整数意味着所有输入具有相同的维度。默认值为 1。" #: ../../../src/evox/core/jit_util.py:104 -#, fuzzy msgid "The . Defaults to None." -msgstr "数据集名称。" +msgstr "默认为 None。" #: ../../../src/evox/core/jit_util.py:105 msgid "description. Defaults to None." @@ -3267,20 +3182,22 @@ msgstr "描述。默认为 None。" #: ../../../src/evox/core/jit_util.py:106 #: ../../../src/evox/core/jit_util.py:132 -msgid "Strictly check the inputs or not. See torch.jit.trace. Defaults to False." +msgid "" +"Strictly check the inputs or not. See torch.jit.trace. Defaults to False." msgstr "严格检查输入与否。参见 torch.jit.trace。默认为 False。" #: ../../../src/evox/core/jit_util.py:107 #: ../../../src/evox/core/jit_util.py:133 -msgid "Check the traced function or not. See torch.jit.trace. Defaults to False." +msgid "" +"Check the traced function or not. See torch.jit.trace. Defaults to False." msgstr "检查是否跟踪了该函数。参见 torch.jit.trace。默认为 False。" #: ../../../src/evox/core/jit_util.py:108 msgid "" "The optional batched current state for a use_state wrapped function. If " "None, a new batched state will be returned for each call of " -"init_state(None). Ignored when func is not wrapped by use_state. Defaults" -" to None." +"init_state(None). Ignored when func is not wrapped by use_state. Defaults to" +" None." msgstr "" "可选的批处理当前状态,用于被 use_state 包裹的函数。如果为 None,则每次调用 init_state(None) " "时将返回一个新的批处理状态。当 func 没有被 use_state 包裹时,该选项被忽略。默认值为 None。" @@ -3295,9 +3212,8 @@ msgstr "依赖于 trace 时,示例输入可能会添加一个或多个大小 #: ../../source/apidocs/evox/evox.core.module.md #: ../../source/apidocs/evox/evox.problems.hpo_wrapper.md #: ../../source/apidocs/evox/evox.problems.neuroevolution.supervised_learning.md -#, fuzzy msgid "Raises" -msgstr "Raises" +msgstr "引发" #: ../../../src/evox/core/jit_util.py:111 msgid "If the function argument types are not supported" @@ -3318,8 +3234,8 @@ msgstr "" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:260004 msgid "" "This function wrapper effectively deals with nested JIT and vector map " -"(`vmap`) expressions like `jit(func1)` -> `vmap` -> `jit(func2)`, " -"preventing possible errors." +"(`vmap`) expressions like `jit(func1)` -> `vmap` -> `jit(func2)`, preventing" +" possible errors." msgstr "" "该函数包装器有效处理嵌套的 JIT 和向量映射 (`vmap`) 表达式,如 `jit(func1)` -> `vmap` -> " "`jit(func2)`,从而防止可能出现的错误。" @@ -3330,41 +3246,38 @@ msgstr "要进行 JIT 的目标函数" #: ../../../src/evox/core/jit_util.py:129 msgid "" -"Whether using torch.jit.trace or torch.jit.script to JIT. Defaults to " -"False." +"Whether using torch.jit.trace or torch.jit.script to JIT. Defaults to False." msgstr "是否使用 torch.jit.trace 或 torch.jit.script 进行 JIT。默认为 False。" #: ../../../src/evox/core/jit_util.py:130 -#, fuzzy msgid "Whether JIT lazily or immediately. Defaults to False." -msgstr "是否是多目标优化。默认为False。" +msgstr "是选择懒加载还是立即执行 JIT。默认值为 False。" #: ../../../src/evox/core/jit_util.py:131 msgid "" -"When lazy=False, the example inputs must be provided immediately, " -"otherwise ignored. Can be only positional arguments (a tuple), only " -"keyword arguments (a dict), or a tuple of positional arguments and " -"keyword arguments (a tuple of tuple and dict). Defaults to None." +"When lazy=False, the example inputs must be provided immediately, otherwise " +"ignored. Can be only positional arguments (a tuple), only keyword arguments " +"(a dict), or a tuple of positional arguments and keyword arguments (a tuple " +"of tuple and dict). Defaults to None." msgstr "" "当 lazy=False 时,示例输入必须立即提供,否则将被忽略。可以是仅位置参数(一个 tuple),仅关键字参数(一个 " "dict),或位置参数和关键字参数的组合(一个 tuple 和 dict 的 tuple)。Defaults to None。" #: ../../../src/evox/core/jit_util.py:134 -#, fuzzy msgid "Whether func is a generator or not. Defaults to False." -msgstr "是否是多目标优化。默认为False。" +msgstr "无论 func 是否是生成器。默认为 False。" #: ../../../src/evox/core/jit_util.py:135 msgid "" -"Whether to use torch.jit.trace directly (no_cache=True) or run the " -"function to make it cache internals when lazy=False. Defaults to False. " -"Has no effect when trace=False. This value must be set to False if the " -"function contains a instant call to torch.jit.trace which will be used " -"inside a torch.jit.script so that the JIT traced result shall be cached." +"Whether to use torch.jit.trace directly (no_cache=True) or run the function " +"to make it cache internals when lazy=False. Defaults to False. Has no effect" +" when trace=False. This value must be set to False if the function contains " +"a instant call to torch.jit.trace which will be used inside a " +"torch.jit.script so that the JIT traced result shall be cached." msgstr "" "是否直接使用 torch.jit.trace (no_cache=True)或在 lazy=False 时运行函数以使其缓存内部内容。默认为 " -"False。当 trace=False 时没有效果。如果函数包含对 torch.jit.trace 的即时调用,并将在 " -"torch.jit.script 内部使用,则该值必须设置为 False,以便 JIT 跟踪的结果将被缓存。" +"False。当 trace=False 时没有效果。如果函数包含对 torch.jit.trace 的即时调用,并将在 torch.jit.script" +" 内部使用,则该值必须设置为 False,以便 JIT 跟踪的结果将被缓存。" #: ../../../src/evox/core/jit_util.py:136 msgid "" @@ -3377,10 +3290,9 @@ msgstr "" #: ../../../src/evox/core/jit_util.py:137 msgid "" -"The manual seed to be set before each running of the function. Defaults " -"to None. Has no effect when trace=False. None means no manual seed will " -"be set. Notice that any value other than None changes the GLOBAL random " -"seed." +"The manual seed to be set before each running of the function. Defaults to " +"None. Has no effect when trace=False. None means no manual seed will be set." +" Notice that any value other than None changes the GLOBAL random seed." msgstr "" "在每次运行该函数之前要设置的手动种子。默认为 None。当 trace=False 时没有效果。None " "表示不设置手动种子。注意,任何其他值都将改变全局随机种子。" @@ -3398,9 +3310,8 @@ msgid "{py:obj}`ModuleBase `" msgstr "{py:obj}`ModuleBase `" #: ../../../src/evox/core/module.py:20 ../../../src/evox/core/module.py:226 -#, fuzzy msgid "The base module for all algorithms and problems in the library." -msgstr "EvoX中的自定义算法和问题" +msgstr "该库中所有算法和问题的基础模块。" #: ../../source/apidocs/evox/evox.core.module.md:22 msgid "{py:obj}`_WrapClassBase `" @@ -3435,8 +3346,10 @@ msgid "Wraps a value as a mutable tensor." msgstr "将值包装为可变张量。" #: ../../source/apidocs/evox/evox.core.module.md:52 -msgid "{py:obj}`assign_load_state_dict `" -msgstr "{py:obj}`assign_load_state_dict `" +msgid "" +"{py:obj}`assign_load_state_dict `" +msgstr "" +"{py:obj}`assign_load_state_dict `" #: ../../../src/evox/core/module.py:54 ../../../src/evox/core/module.py:216 msgid "" @@ -3461,7 +3374,8 @@ msgstr "" "`" #: ../../../src/evox/core/module.py:62 ../../../src/evox/core/module.py:389 -msgid "A context manager to set the value of `trace_caching_state` temporarily." +msgid "" +"A context manager to set the value of `trace_caching_state` temporarily." msgstr "一个上下文管理器,用于暂时设置 `trace_caching_state` 的值。" #: ../../source/apidocs/evox/evox.core.module.md:64 @@ -3473,16 +3387,20 @@ msgid "Get the current state of the `using_state`." msgstr "获取当前的 `using_state` 状态。" #: ../../source/apidocs/evox/evox.core.module.md:68 -msgid "{py:obj}`is_trace_caching_state `" -msgstr "{py:obj}`is_trace_caching_state `" +msgid "" +"{py:obj}`is_trace_caching_state `" +msgstr "" +"{py:obj}`is_trace_caching_state `" #: ../../../src/evox/core/module.py:70 ../../../src/evox/core/module.py:403 msgid "Get the current state of the `trace_caching_state`." msgstr "获取当前的 `trace_caching_state` 状态。" #: ../../source/apidocs/evox/evox.core.module.md:72 -msgid "{py:obj}`tracing_or_using_state `" -msgstr "{py:obj}`tracing_or_using_state `" +msgid "" +"{py:obj}`tracing_or_using_state `" +msgstr "" +"{py:obj}`tracing_or_using_state `" #: ../../../src/evox/core/module.py:74 ../../../src/evox/core/module.py:410 msgid "" @@ -3502,13 +3420,13 @@ msgstr "{py:obj}`use_state `" #: ../../../src/evox/core/module.py:82 ../../../src/evox/core/module.py:574 msgid "" -"Transform the given stateful function (which in-place alters " -"`nn.Module`s) to a pure-functional version that receives an additional " -"`state` parameter (of type `Dict[str, torch.Tensor]`) and returns the " -"altered state additionally." +"Transform the given stateful function (which in-place alters `nn.Module`s) " +"to a pure-functional version that receives an additional `state` parameter " +"(of type `Dict[str, torch.Tensor]`) and returns the altered state " +"additionally." msgstr "" -"将给定的有状态函数(在原地更改 `nn.Module`s)转换为一个纯函数版本,该版本接收一个额外的 `state` 参数(类型为 " -"`Dict[str, torch.Tensor]`),并额外返回更改后的状态。" +"将给定的有状态函数(在原地更改 `nn.Module`s)转换为一个纯函数版本,该版本接收一个额外的 `state` 参数(类型为 `Dict[str," +" torch.Tensor]`),并额外返回更改后的状态。" #: ../../source/apidocs/evox/evox.core.module.md:84 msgid "{py:obj}`trace_impl `" @@ -3516,8 +3434,8 @@ msgstr "{py:obj}`trace_impl `" #: ../../../src/evox/core/module.py:86 ../../../src/evox/core/module.py:611 msgid "" -"A helper function used to annotate that the wrapped method shall be " -"treated as a trace-JIT-time proxy of the given `target` method." +"A helper function used to annotate that the wrapped method shall be treated " +"as a trace-JIT-time proxy of the given `target` method." msgstr "用于注释的辅助函数,表明被包装的方法应被视为给定`target`方法的trace-JIT-time代理。" #: ../../source/apidocs/evox/evox.core.module.md:88 @@ -3526,8 +3444,8 @@ msgstr "{py:obj}`vmap_impl `" #: ../../../src/evox/core/module.py:90 ../../../src/evox/core/module.py:628 msgid "" -"A helper function used to annotate that the wrapped method shall be " -"treated as a vmap-JIT-time proxy of the given `target` method." +"A helper function used to annotate that the wrapped method shall be treated " +"as a vmap-JIT-time proxy of the given `target` method." msgstr "一个辅助函数,用于标记被包装的方法应被视为给定 `target` 方法的 vmap-JIT 时间代理。" #: ../../source/apidocs/evox/evox.core.module.md:92 @@ -3543,8 +3461,10 @@ msgstr "" "的所有成员方法的辅助函数。" #: ../../source/apidocs/evox/evox.core.module.md:104 -msgid "{py:obj}`_WRAPPING_MODULE_NAME `" -msgstr "{py:obj}`_WRAPPING_MODULE_NAME `" +msgid "" +"{py:obj}`_WRAPPING_MODULE_NAME `" +msgstr "" +"{py:obj}`_WRAPPING_MODULE_NAME `" #: ../../source/apidocs/evox/evox.core.module.md:108 msgid "{py:obj}`ParameterT `" @@ -3556,7 +3476,8 @@ msgstr "{py:obj}`_using_state `" #: ../../source/apidocs/evox/evox.core.module.md:116 msgid "{py:obj}`_trace_caching_state `" -msgstr "{py:obj}`_trace_caching_state `" +msgstr "" +"{py:obj}`_trace_caching_state `" #: ../../source/apidocs/evox/evox.core.module.md:120 msgid "{py:obj}`_SUBMODULE_PREFIX `" @@ -3575,8 +3496,10 @@ msgid "{py:obj}`_EMPTY_NAME `" msgstr "{py:obj}`_EMPTY_NAME `" #: ../../source/apidocs/evox/evox.core.module.md:136 -msgid "{py:obj}`_TORCHSCRIPT_MODIFIER `" -msgstr "{py:obj}`_TORCHSCRIPT_MODIFIER `" +msgid "" +"{py:obj}`_TORCHSCRIPT_MODIFIER `" +msgstr "" +"{py:obj}`_TORCHSCRIPT_MODIFIER `" #: ../../source/apidocs/evox/evox.core.module.md:140 msgid "{py:obj}`_TRACE_WRAP_NAME `" @@ -3603,43 +3526,36 @@ msgid "'__wrapping_module__'" msgstr "'__wrapping_module__'" #: ../../../src/evox/core/module.py:204 -#, fuzzy msgid "The parameter value." -msgstr "参数" +msgstr "参数值。" #: ../../../src/evox/core/module.py:205 -#, fuzzy msgid "The dtype of the parameter. Defaults to None." -msgstr "要使用的数据集分割。默认为 \"train\"。" +msgstr "参数的数据类型。默认为 None。" #: ../../../src/evox/core/module.py:206 -#, fuzzy msgid "The device of the parameter. Defaults to None." -msgstr "要使用的数据集分割。默认为 \"train\"。" +msgstr "参数的设备。默认值为 None。" #: ../../../src/evox/core/module.py:207 -#, fuzzy msgid "Whether the parameter requires gradient. Defaults to False." -msgstr "是否是多目标优化。默认为False。" +msgstr "参数是否需要梯度。默认值为 False。" #: ../../../src/evox/core/module.py:209 -#, fuzzy msgid "The parameter." -msgstr "参数" +msgstr "参数。" #: ../../../src/evox/core/module.py:211 msgid "The value to be wrapped." msgstr "要包装的值。" #: ../../../src/evox/core/module.py:212 -#, fuzzy msgid "The dtype of the tensor. Defaults to None." -msgstr "状态之中对应适应度的变量的变量名。默认是“fitness”。" +msgstr "张量的 dtype。默认值为 None。" #: ../../../src/evox/core/module.py:213 -#, fuzzy msgid "The device of the tensor. Defaults to None." -msgstr "状态之中对应适应度的变量的变量名。默认是“fitness”。" +msgstr "张量的设备。默认为 None。" #: ../../../src/evox/core/module.py:215 msgid "The wrapped tensor." @@ -3647,11 +3563,10 @@ msgstr "被包装的张量。" #: ../../../src/evox/core/module.py:218 msgid "" -"This method is used to mimic the behavior of `ModuleBase.load_state_dict`" -" so that a regular `nn.Module` can be used with `vmap`." +"This method is used to mimic the behavior of `ModuleBase.load_state_dict` so" +" that a regular `nn.Module` can be used with `vmap`." msgstr "" -"该方法用来模仿 `ModuleBase.load_state_dict` 的行为,使得一个普通的 `nn.Module` 能被用于 `vmap` " -"中。" +"该方法用来模仿 `ModuleBase.load_state_dict` 的行为,使得一个普通的 `nn.Module` 能被用于 `vmap` 中。" #: ../../source/apidocs/evox/evox.core.module.md:223 #: ../../source/apidocs/evox/evox.workflows.std_workflow.md:32 @@ -3666,19 +3581,20 @@ msgstr "该模块是一种面向对象的模块,可以包含可变值。" msgid "" "Functional programming model is supported via `self.state_dict(...)` and " "`self.load_state_dict(...)`." -msgstr "支持功能编程模型是通过 `self.state_dict(...)` 和 `self.load_state_dict(...)` 来实现的。" +msgstr "" +"支持功能编程模型是通过 `self.state_dict(...)` 和 `self.load_state_dict(...)` 来实现的。" #: ../../../src/evox/core/module.py:231 msgid "" "The module initialization for non-static members are recommended to be " -"written in the overwritten method of `setup` (or any other member method)" -" rather than `__init__`." +"written in the overwritten method of `setup` (or any other member method) " +"rather than `__init__`." msgstr "建议将非静态成员的模块初始化写在重写的 `setup`(或其他成员方法)中,而不是 `__init__` 中。" #: ../../../src/evox/core/module.py:232 msgid "" -"Basically, predefined submodule(s) which will be ADDED to this module and" -" accessed later in member method(s) should be treated as \"non-static " +"Basically, predefined submodule(s) which will be ADDED to this module and " +"accessed later in member method(s) should be treated as \"non-static " "members\", while any other member(s) should be treated as \"static " "members\"." msgstr "基本上,预定义的子模块应被视为“非静态成员”,这些模块将被添加到此模块并在成员方法中稍后访问,而其他任何成员应视为“静态成员”。" @@ -3689,17 +3605,17 @@ msgstr "静态方法将按原样定义为 JIT,例如," #: ../../../src/evox/core/module.py:241 msgid "" -"If a class member function with python dynamic control flows like `if` " -"were to be JIT, a separated static method with `jit(..., trace=False)` or" -" `torch.jit.script_if_tracing` shall be used:" +"If a class member function with python dynamic control flows like `if` were " +"to be JIT, a separated static method with `jit(..., trace=False)` or " +"`torch.jit.script_if_tracing` shall be used:" msgstr "" "如果一个类成员函数具有像 `if` 这样的 Python 动态控制流,并且需要 JIT,则应使用一个单独的静态方法,格式为 `jit(..., " "trace=False)` 或 `torch.jit.script_if_tracing`:" #: ../../../src/evox/core/module.py:261 msgid "" -"`ModuleBase` is usually used with `jit_class` to automatically JIT all " -"non-magic member methods:" +"`ModuleBase` is usually used with `jit_class` to automatically JIT all non-" +"magic member methods:" msgstr "`ModuleBase` 通常与 `jit_class` 一起使用,以自动 JIT 所有非魔法成员方法:" #: ../../../src/evox/core/module.py:244 @@ -3710,28 +3626,27 @@ msgstr "设置模块。模块初始化行应写在重写的 `setup` 方法中, #: ../../../src/evox/core/module.py:250 msgid "" -"The static initialization can still be written in the `__init__` while " -"the mutable initialization cannot. Therefore, multiple calls of `setup` " -"for multiple initializations are possible." +"The static initialization can still be written in the `__init__` while the " +"mutable initialization cannot. Therefore, multiple calls of `setup` for " +"multiple initializations are possible." msgstr "静态初始化仍然可以在 `__init__` 中编写,而可变初始化则不可以。因此,对于多个初始化,可以多次调用 `setup`。" #: ../../../src/evox/core/module.py:252 msgid "" -"Prepares the control flow state of the module by collecting and merging " -"the state and non-local variables from the specified target functions." +"Prepares the control flow state of the module by collecting and merging the " +"state and non-local variables from the specified target functions." msgstr "准备通过收集和合并指定目标函数的状态和非本地变量来准备模块的控制流状态。" #: ../../../src/evox/core/module.py:254 msgid "" -"This function is used alongside with `after_control_flow()` to enable " -"your control flow operations (`utils.control_flow.*`) deal with side-" -"effects correctly. If the control flow operations have NO side-effects, " -"you can safely ignore this function and `after_control_flow()`." +"This function is used alongside with `after_control_flow()` to enable your " +"control flow operations (`utils.control_flow.*`) deal with side-effects " +"correctly. If the control flow operations have NO side-effects, you can " +"safely ignore this function and `after_control_flow()`." msgstr "" "**用于控制流操作(控制分支等)的前向操作**\n" "\n" -"本函数与 `after_control_flow()` 配合使用,确保控制流操作( `utils.control_flow.*` " -")正确处理副作用。如果控制流操作没有副作用,则完全可以忽略本函数和 `after_control_flow()`。" +"本函数与 `after_control_flow()` 配合使用,确保控制流操作( `utils.control_flow.*` )正确处理副作用。如果控制流操作没有副作用,则完全可以忽略本函数和 `after_control_flow()`。" #: ../../../src/evox/core/module.py:256 msgid "Functions whose non-local variables are to be collected." @@ -3743,8 +3658,8 @@ msgstr "See torch.nn.Module.state_dict(..., keep_vars). 默认为 True." #: ../../../src/evox/core/module.py:259 msgid "" -"A tuple containing the merged state dictionary, a list of state keys, and" -" a list of non-local variable names." +"A tuple containing the merged state dictionary, a list of state keys, and a " +"list of non-local variable names." msgstr "一个包含合并状态字典、状态键列表和非局部变量名称列表的元组。" #: ../../../src/evox/core/module.py:261 @@ -3761,24 +3676,24 @@ msgstr "警告" #: ../../../src/evox/core/module.py:264 msgid "" -"The non-local variables collected here can ONLY be used as read-only " -"ones. In-place modifications to these variables may not raise any error " -"and silently produce incorrect results." +"The non-local variables collected here can ONLY be used as read-only ones. " +"In-place modifications to these variables may not raise any error and " +"silently produce incorrect results." msgstr "此处收集的非本地变量只能用作只读变量。对这些变量的就地修改可能不会引发任何错误,并在不经意间产生不正确的结果。" #: ../../../src/evox/core/module.py:260 msgid "" -"Restores the module state to the one before `prepare_control_flow` from " -"the given `state` and returns the non-local variables collected in " +"Restores the module state to the one before `prepare_control_flow` from the " +"given `state` and returns the non-local variables collected in " "`prepare_control_flow`." msgstr "将模块状态恢复到在给定 `state` 之前的状态,并返回在 `prepare_control_flow` 中收集的非本地变量。" #: ../../../src/evox/core/module.py:262 msgid "" -"This function is used alongside with `prepare_control_flow()` to enable " -"your control flow operations (`utils.control_flow.*`) deal with side-" -"effects correctly. If the control flow operations have NO side-effects, " -"you can safely ignore this function and `prepare_control_flow()`." +"This function is used alongside with `prepare_control_flow()` to enable your" +" control flow operations (`utils.control_flow.*`) deal with side-effects " +"correctly. If the control flow operations have NO side-effects, you can " +"safely ignore this function and `prepare_control_flow()`." msgstr "" "此函数与 `prepare_control_flow()` 一起使用,以使您的控制流操作 (`utils.control_flow.*`) " "正确处理副作用。如果控制流操作没有副作用,您可以安全地忽略此函数和 `prepare_control_flow()`。" @@ -3792,7 +3707,8 @@ msgid "The keys of the state dictionary that represent the module state." msgstr "表示模块状态的状态字典的键。" #: ../../../src/evox/core/module.py:266 -msgid "The keys of the state dictionary that represent the non-local variables." +msgid "" +"The keys of the state dictionary that represent the non-local variables." msgstr "表示非局部变量的状态字典的键。" #: ../../../src/evox/core/module.py:268 @@ -3820,11 +3736,12 @@ msgstr "一个包含用于更新该模块的参数和缓冲区的字典。请参 #: ../../../src/evox/core/module.py:272 msgid "" -"Use the original torch.nn.Module.load_state_dict to copy the state_dict " -"to current state (copy=True) or use this implementation that assigns the " -"values of this module to the ones in the state_dict (copy=False). " -"Defaults to False." -msgstr "使用原始的torch.nn.Module.load_state_dict来复制state_dict到当前状态(copy=True)或者使用此实现来将此模块的值分配给state_dict中的值(copy=False)。默认为False。" +"Use the original torch.nn.Module.load_state_dict to copy the state_dict to " +"current state (copy=True) or use this implementation that assigns the values" +" of this module to the ones in the state_dict (copy=False). Defaults to " +"False." +msgstr "" +"使用原始的torch.nn.Module.load_state_dict来复制state_dict到当前状态(copy=True)或者使用此实现来将此模块的值分配给state_dict中的值(copy=False)。默认为False。" #: ../../../src/evox/core/module.py:273 msgid "" @@ -3843,14 +3760,13 @@ msgstr "如果 copy=True, 则返回 torch.nn.Module.load_state_dict 的返回值 #: ../../../src/evox/core/module.py:276 #: ../../source/guide/developer/1-modulebase.md:23 msgid "" -"Define a mutable value in this module that can be accessed via " -"`self.[name]` and modified in-place." +"Define a mutable value in this module that can be accessed via `self.[name]`" +" and modified in-place." msgstr "定义一个可变值,并将其在 `self.[name]` 中暴露出来,可以通过 `self.[name] = [值]` 来修改。" #: ../../../src/evox/core/module.py:278 -#, fuzzy msgid "The mutable value's name." -msgstr "数据集名称。" +msgstr "可变值的名称。" #: ../../../src/evox/core/module.py:279 msgid "The mutable value, can be a tuple, list, dictionary of a torch.Tensor." @@ -3895,36 +3811,32 @@ msgstr "新的可变值。" #: ../../../src/evox/core/module.py:384 msgid "" "When entering the context, the value of `using_state` is set to " -"`new_use_state` and a token is obtained. When exiting the context, the " -"value of `using_state` is reset to its previous value." +"`new_use_state` and a token is obtained. When exiting the context, the value" +" of `using_state` is reset to its previous value." msgstr "" -"当进入上下文时,`using_state` 的值被设置为 " -"`new_use_state`,并获得一个令牌。当退出上下文时,`using_state` 的值被重置为之前的值。" +"当进入上下文时,`using_state` 的值被设置为 `new_use_state`,并获得一个令牌。当退出上下文时,`using_state` " +"的值被重置为之前的值。" #: ../../../src/evox/core/module.py:387 -#, fuzzy msgid "The new value of using_state. Defaults to True." -msgstr "状态之中对应适应度的变量的变量名。默认是“fitness”。" +msgstr "使用 `using_state` 的新值。默认为 True。" #: ../../../src/evox/core/module.py:391 msgid "" "When entering the context, the value of `trace_caching_state` is set to " -"`new_trace_caching_state` and a token is obtained. When exiting the " -"context, the value of `trace_caching_state` is reset to its previous " -"value." +"`new_trace_caching_state` and a token is obtained. When exiting the context," +" the value of `trace_caching_state` is reset to its previous value." msgstr "" "在进入上下文时,`trace_caching_state` 的值被设置为 `new_trace_caching_state` " "并获取一个令牌。当退出上下文时,`trace_caching_state` 的值被重置为其先前的值。" #: ../../../src/evox/core/module.py:394 -#, fuzzy msgid "The new value of trace_caching_state. Defaults to True." -msgstr "状态之中对应适应度的变量的变量名。默认是“fitness”。" +msgstr "trace_caching_state 的新值。默认为 True。" #: ../../../src/evox/core/module.py:398 -#, fuzzy msgid "The current state of the using_state." -msgstr "算法的新状态" +msgstr "使用状态的当前状态。" #: ../../../src/evox/core/module.py:405 msgid "The current state of the trace_caching_state." @@ -3948,19 +3860,17 @@ msgstr "'state'" #: ../../../src/evox/core/module.py:533 msgid "" -"Get the cloned state of the closures of the function when it is wrapped " -"by `use_state`." +"Get the cloned state of the closures of the function when it is wrapped by " +"`use_state`." msgstr "获取函数被 `use_state` 包装时闭包的克隆状态。" #: ../../../src/evox/core/module.py:535 -#, fuzzy msgid "Whether to clone the original state or not. Defaults to True." -msgstr "是否对整个步骤函数进行 `jit` 编译。默认值为 `True`" +msgstr "是否克隆原始状态。默认为 True。" #: ../../../src/evox/core/module.py:537 -#, fuzzy msgid "The cloned state of the closures." -msgstr "算法的新状态" +msgstr "闭包的克隆状态。" #: ../../../src/evox/core/module.py:541 msgid "Set the closures of the function to the given state." @@ -3968,9 +3878,8 @@ msgstr "将函数的闭包设置为给定状态。" #: ../../../src/evox/core/module.py:543 msgid "" -"The new state to set to. If state=None, the new state would be the " -"original state when the function is wrapped by use_state. Defaults to " -"None." +"The new state to set to. If state=None, the new state would be the original " +"state when the function is wrapped by use_state. Defaults to None." msgstr "要设置的新状态。如果 state=None,那么新状态将是当函数被 use_state 包裹时的原始状态。默认值为 None。" #: ../../source/apidocs/evox/evox.core.module.md:557 @@ -3989,26 +3898,25 @@ msgstr "func 是一个函数还是一个函数生成器(例如,返回有状 #: ../../../src/evox/core/module.py:579 msgid "" -"The transformed pure-functional version of func. It contains a " -"init_state() -> state attribute that returns the copy of the current " -"state that func uses and can be used as example inputs of the additional " -"state parameter. It also contains a set_state(state) attribute to set the" -" global state to the given one (of course not JIT-compatible)." +"The transformed pure-functional version of func. It contains a init_state() " +"-> state attribute that returns the copy of the current state that func uses" +" and can be used as example inputs of the additional state parameter. It " +"also contains a set_state(state) attribute to set the global state to the " +"given one (of course not JIT-compatible)." msgstr "" "`func` 的纯函数版本。它包含一个 `init_state() -> state` 属性,该属性返回 `func` " -"使用的当前状态的副本,并可用作附加状态参数的示例输入。它还包含一个 `set_state(state)` " -"属性,用于将全局状态设置为给定状态(当然不兼容 JIT)。" +"使用的当前状态的副本,并可用作附加状态参数的示例输入。它还包含一个 `set_state(state)` 属性,用于将全局状态设置为给定状态(当然不兼容" +" JIT)。" #: ../../../src/evox/core/module.py:582 msgid "" -"Since PyTorch cannot JIT or vectorized-map a function with empty " -"dictionary, list, or tuple as its input, this function transforms the " -"given function to a function WITHOUT the additional `state` parameter (of" -" type `Dict[str, torch.Tensor]`) and does NOT return the altered state " -"additionally." +"Since PyTorch cannot JIT or vectorized-map a function with empty dictionary," +" list, or tuple as its input, this function transforms the given function to" +" a function WITHOUT the additional `state` parameter (of type `Dict[str, " +"torch.Tensor]`) and does NOT return the altered state additionally." msgstr "" -"由于 PyTorch 不能对输入为空字典、列表或元组的函数进行 JIT 编译或矢量映射,该函数将给定函数转换为一个没有额外 `state` " -"参数(类型为 `Dict[str, torch.Tensor]`)的函数,并且不额外返回修改后的状态。" +"由于 PyTorch 不能对输入为空字典、列表或元组的函数进行 JIT 编译或矢量映射,该函数将给定函数转换为一个没有额外 `state` 参数(类型为" +" `Dict[str, torch.Tensor]`)的函数,并且不额外返回修改后的状态。" #: ../../source/apidocs/evox/evox.core.module.md:581 msgid "'_torchscript_modifier'" @@ -4032,22 +3940,21 @@ msgstr "用于注解成员方法的包装函数。" #: ../../../src/evox/core/module.py:620 ../../../src/evox/core/module.py:637 msgid "" -"The target function and the annotated function MUST have same " -"input/output signatures (e.g. number of arguments and types); otherwise, " -"the resulting behavior is UNDEFINED." +"The target function and the annotated function MUST have same input/output " +"signatures (e.g. number of arguments and types); otherwise, the resulting " +"behavior is UNDEFINED." msgstr "目标函数和注解函数 MUST拥有同样的输入/输出签名(例如参数个数和类型);否则产生的行为是未定义的。" #: ../../../src/evox/core/module.py:621 ../../../src/evox/core/module.py:638 msgid "" -"If the annotated function are to be `vmap`, it cannot contain any in-" -"place operations to `self` since such operations are not well-defined and" -" cannot be compiled." +"If the annotated function are to be `vmap`, it cannot contain any in-place " +"operations to `self` since such operations are not well-defined and cannot " +"be compiled." msgstr "如果注解的函数是 `vmap`,则它不能包含对 `self` 的任何原地操作,因为这样的操作是不明确的,并且不能被编译。" #: ../../../src/evox/core/module.py:624 ../../../src/evox/core/module.py:641 -#, fuzzy msgid "See `use_state`." -msgstr "状态。" +msgstr "请参阅 `use_state`。" #: ../../source/apidocs/evox/evox.core.module.md:618 msgid "'__vmap_wrapped__'" @@ -4062,9 +3969,8 @@ msgid "The original class whose member methods are to be lazy JIT." msgstr "原始类,其成员方法将被延迟 JIT。" #: ../../../src/evox/core/module.py:658 -#, fuzzy msgid "Whether to trace the module or to script the module. Default to False." -msgstr "是否在工作流开始时清除监视器历史记录。默认值为 `True`。" +msgstr "是否追踪模块或将模块脚本化。默认为 False。" #: ../../../src/evox/core/module.py:660 msgid "Returns: The wrapped class." @@ -4079,10 +3985,9 @@ msgstr "在许多情况下,您不需要使用 `jit_class` 来包装您的自 #: ../../../src/evox/core/module.py:665 msgid "" "With `trace=True`, all the member functions are effectively modified to " -"return `self` additionally since side-effects cannot be traced. If you " -"want to preserve the side effects, please set `trace=False` and use the " -"`use_state` function to wrap the member method to generate pure-" -"functional" +"return `self` additionally since side-effects cannot be traced. If you want " +"to preserve the side effects, please set `trace=False` and use the " +"`use_state` function to wrap the member method to generate pure-functional" msgstr "" "设置 `trace=True` 时,所有成员函数都会被有效地修改,以额外返回 `self`,因为副作用无法被追踪。如果您想保留副作用,请将 " "`trace=False`,并使用 `use_state` 函数来包装成员方法以生成纯函数。" @@ -4090,10 +3995,10 @@ msgstr "" #: ../../../src/evox/core/module.py:666 #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:220012 msgid "" -"Similarly, all module-wide operations like `self.to(...)` can only " -"returns the unwrapped module, which may not be desired. Since most of " -"them are in-place operations, a simple `module.to(...)` can be used " -"instead of `module = module.to(...)`." +"Similarly, all module-wide operations like `self.to(...)` can only returns " +"the unwrapped module, which may not be desired. Since most of them are in-" +"place operations, a simple `module.to(...)` can be used instead of `module =" +" module.to(...)`." msgstr "" "类似地,所有模块级的操作如 `self.to(...)` 只能返回未包装的模块,这可能不是我们想要的。由于它们大多是就地操作,可以使用简单的 " "`module.to(...)` 来替代 `module = module.to(...)`。" @@ -4120,33 +4025,31 @@ msgstr "{py:obj}`gd `" #: ../../../src/evox/metrics/gd.py:20 ../../../src/evox/metrics/gd.py:30 msgid "" -"Calculate the Generational Distance (GD) metric between a set of " -"solutions and the Pareto front." +"Calculate the Generational Distance (GD) metric between a set of solutions " +"and the Pareto front." msgstr "计算一组解与帕累托前沿之间的世代距离(GD)指标。" #: ../../../src/evox/metrics/gd.py:32 ../../../src/evox/metrics/igd.py:32 msgid "" -"A tensor of shape (n, m), where n is the number of solutions and m is the" -" number of objectives. Represents the set of solutions to be evaluated." +"A tensor of shape (n, m), where n is the number of solutions and m is the " +"number of objectives. Represents the set of solutions to be evaluated." msgstr "一个形状为 (n, m) 的张量,其中 n 是解的数量,m 是目标的数量。表示要评估的解集。" #: ../../../src/evox/metrics/gd.py:34 ../../../src/evox/metrics/igd.py:34 msgid "" "A tensor of shape (k, m), where k is the number of points on the Pareto " -"front and m is the number of objectives. Represents the true Pareto " -"front." +"front and m is the number of objectives. Represents the true Pareto front." msgstr "一个形状为 (k, m) 的张量,其中 k 是帕累托前沿上的点数,m 是目标数量。表示真实的帕累托前沿。" #: ../../../src/evox/metrics/gd.py:37 msgid "" -"The GD score, a scalar representing the average distance of the solutions" -" to the Pareto front." +"The GD score, a scalar representing the average distance of the solutions to" +" the Pareto front." msgstr "GD 分数是一种标量,代表着解与帕雷托前沿的平均距离。" #: ../../../src/evox/metrics/gd.py:40 msgid "" -"The GD score is lower when the approximation is closer to the Pareto " -"front." +"The GD score is lower when the approximation is closer to the Pareto front." msgstr "GD 得分会随着近似值逼近帕累托前沿而降低。" #: ../../source/apidocs/evox/evox.metrics.hv.md:1 @@ -4174,9 +4077,8 @@ msgid "Number of Monte Carlo samples." msgstr "蒙特卡罗样本数量。" #: ../../../src/evox/metrics/hv.py:35 -#, fuzzy msgid "Estimated hypervolume." -msgstr "超体积" +msgstr "估计的超体积" #: ../../source/apidocs/evox/evox.metrics.igd.md:1 msgid "{py:mod}`evox.metrics.igd`" @@ -4188,26 +4090,25 @@ msgstr "{py:obj}`igd `" #: ../../../src/evox/metrics/igd.py:20 ../../../src/evox/metrics/igd.py:30 msgid "" -"Calculate the Inverted Generational Distance (IGD) metric between a set " -"of solutions and the Pareto front." +"Calculate the Inverted Generational Distance (IGD) metric between a set of " +"solutions and the Pareto front." msgstr "计算一组解决方案与帕累托前沿之间的逆向代际距离 (IGD) 指标。" #: ../../../src/evox/metrics/igd.py:36 msgid "" -"The power parameter used in the calculation (default is 1). This defines " -"the distance metric (L^p norm)." +"The power parameter used in the calculation (default is 1). This defines the" +" distance metric (L^p norm)." msgstr "计算中使用的幂参数(默认为1)。这定义了距离度量(L^p 范数)。" #: ../../../src/evox/metrics/igd.py:38 msgid "" -"The IGD score, a scalar representing the average distance of the " -"solutions to the Pareto front." +"The IGD score, a scalar representing the average distance of the solutions " +"to the Pareto front." msgstr "IGD得分是一个标量,表示解到帕累托前沿的平均距离。" #: ../../../src/evox/metrics/igd.py:41 msgid "" -"The IGD score is lower when the approximation is closer to the Pareto " -"front." +"The IGD score is lower when the approximation is closer to the Pareto front." msgstr "当近似值接近Pareto前沿时,IGD得分较低。" #: ../../source/apidocs/evox/evox.operators.md:1 @@ -4236,11 +4137,11 @@ msgstr "{py:obj}`__all__ `" #: ../../source/apidocs/evox/evox.operators.crossover.md:41 msgid "" -"['DE_differential_sum', 'DE_exponential_crossover', " -"'DE_binary_crossover', 'DE_arithmetic_recombinat..." +"['DE_differential_sum', 'DE_exponential_crossover', 'DE_binary_crossover', " +"'DE_arithmetic_recombinat..." msgstr "" -"['DE_differential_sum', 'DE_exponential_crossover', " -"'DE_binary_crossover', 'DE_arithmetic_recombinat..." +"['DE_differential_sum', 'DE_exponential_crossover', 'DE_binary_crossover', " +"'DE_arithmetic_recombinat..." #: ../../source/apidocs/evox/evox.operators.crossover.differential_evolution.md:1 msgid "{py:mod}`evox.operators.crossover.differential_evolution`" @@ -4311,9 +4212,8 @@ msgid "The index of current individual." msgstr "当前个体的索引。" #: ../../../src/evox/operators/crossover/differential_evolution.py:47 -#, fuzzy msgid "The population tensor." -msgstr "状态。" +msgstr "种群张量。" #: ../../../src/evox/operators/crossover/differential_evolution.py:49 msgid "The difference sum and the index of first difference vector." @@ -4322,9 +4222,8 @@ msgstr "差分总和和第一个差分向量的索引。" #: ../../../src/evox/operators/crossover/differential_evolution.py:51 #: ../../../src/evox/operators/crossover/differential_evolution.py:58 #: ../../../src/evox/operators/crossover/differential_evolution.py:65 -#, fuzzy msgid "The mutated vector for each individual in the population." -msgstr "评估给定候选解的适应度。" +msgstr "种群中每个个体的变异向量。" #: ../../../src/evox/operators/crossover/differential_evolution.py:52 #: ../../../src/evox/operators/crossover/differential_evolution.py:59 @@ -4334,9 +4233,8 @@ msgstr "每个个体在种群中的当前向量。" #: ../../../src/evox/operators/crossover/differential_evolution.py:53 #: ../../../src/evox/operators/crossover/differential_evolution.py:60 -#, fuzzy msgid "The crossover probability for each individual." -msgstr "用于评估每个个体的幕数量。" +msgstr "每个个体的交叉概率。" #: ../../../src/evox/operators/crossover/differential_evolution.py:55 #: ../../../src/evox/operators/crossover/differential_evolution.py:62 @@ -4356,8 +4254,10 @@ msgid "{py:mod}`evox.operators.crossover.sbx`" msgstr "{py:mod}`evox.operators.crossover.sbx`" #: ../../source/apidocs/evox/evox.operators.crossover.sbx.md:18 -msgid "{py:obj}`simulated_binary `" -msgstr "{py:obj}`simulated_binary `" +msgid "" +"{py:obj}`simulated_binary `" +msgstr "" +"{py:obj}`simulated_binary `" #: ../../../src/evox/operators/crossover/sbx.py:20 #: ../../../src/evox/operators/crossover/sbx.py:30 @@ -4371,9 +4271,8 @@ msgstr "在二维张量中的父解 (大小: n x d)。" #: ../../../src/evox/operators/crossover/sbx.py:33 #: ../../../src/evox/operators/crossover/sbx_half.py:33 -#, fuzzy msgid "Probability of doing crossover." -msgstr "交叉概率" +msgstr "进行交叉的概率。" #: ../../../src/evox/operators/crossover/sbx.py:34 #: ../../../src/evox/operators/crossover/sbx_half.py:34 @@ -4400,8 +4299,8 @@ msgstr "" #: ../../../src/evox/operators/crossover/sbx_half.py:20 #: ../../../src/evox/operators/crossover/sbx_half.py:30 msgid "" -"Generate half of the offspring solutions after simulated binary crossover" -" (SBX)." +"Generate half of the offspring solutions after simulated binary crossover " +"(SBX)." msgstr "在进行模拟二进制交叉(SBX)后生成一半的后代解。" #: ../../source/apidocs/evox/evox.operators.mutation.md:1 @@ -4434,14 +4333,12 @@ msgid "Polynomial mutation. Inspired by PlatEMO." msgstr "多项式变异。灵感来自 PlatEMO。" #: ../../../src/evox/operators/mutation/pm_mutation.py:33 -#, fuzzy msgid "The input population (size: n x d)." -msgstr "种群。" +msgstr "输入种群(大小:n x d)。" #: ../../../src/evox/operators/mutation/pm_mutation.py:36 -#, fuzzy msgid "Probability of mutation." -msgstr "交叉概率" +msgstr "突变概率。" #: ../../../src/evox/operators/mutation/pm_mutation.py:37 msgid "The distribution index for polynomial mutation." @@ -4520,29 +4417,26 @@ msgstr "" #: ../../../src/evox/operators/sampling/latin_hypercube.py:24 #: ../../../src/evox/operators/sampling/latin_hypercube.py:41 msgid "" -"Generate Latin Hypercube samples in the given hypercube defined by `lb` " -"and `ub`." +"Generate Latin Hypercube samples in the given hypercube defined by `lb` and " +"`ub`." msgstr "" "**生成拉丁超立方样本**\n" "\n" "生成拉丁超立方样本在给定的超立方体中,该超立方体由 `lb` 和 `ub` 定义。\n" "\n" "```python\n" -"self.latins = Algorithms.latin_hypercube_sample(self.lb, self.ub, " -"self.population_size)\n" +"self.latins = Algorithms.latin_hypercube_sample(self.lb, self.ub, self.population_size)\n" "```" #: ../../../src/evox/operators/sampling/latin_hypercube.py:36 #: ../../../src/evox/operators/sampling/latin_hypercube.py:43 -#, fuzzy msgid "The number of sample points to generate." -msgstr "需要初始化的拷贝的数量" +msgstr "生成的采样点数量。" #: ../../../src/evox/operators/sampling/latin_hypercube.py:37 #: ../../../src/evox/operators/sampling/latin_hypercube.py:44 -#, fuzzy msgid "The dimensionality of the samples." -msgstr "这个问题的完整的维度。" +msgstr "样本的维度。" #: ../../../src/evox/operators/sampling/latin_hypercube.py:38 msgid "The device on which to generate the samples." @@ -4550,14 +4444,13 @@ msgstr "生成样本的设备。" #: ../../../src/evox/operators/sampling/latin_hypercube.py:39 #: ../../../src/evox/operators/sampling/latin_hypercube.py:47 -#, fuzzy msgid "Whether to scramble the order of the samples. Defaults to True." -msgstr "是否在工作流开始时清除监视器历史记录。默认值为 `True`。" +msgstr "是否打乱样本的顺序。默认为 True。" #: ../../../src/evox/operators/sampling/latin_hypercube.py:41 msgid "" -"A tensor of shape (n, d), where each row represents a sample point and " -"each column represents a dimension." +"A tensor of shape (n, d), where each row represents a sample point and each " +"column represents a dimension." msgstr "一个形状为 (n, d) 的张量,其中每行代表一个样本点,每列代表一个维度。" #: ../../../src/evox/operators/sampling/latin_hypercube.py:45 @@ -4574,8 +4467,8 @@ msgstr "超立方体的上界。必须是一个一维张量,其形状、数据 #: ../../../src/evox/operators/sampling/latin_hypercube.py:49 msgid "" -"A tensor of shape (n, d), where each row represents a sample point and " -"each column represents a dimension whose device is the same as lb and ub." +"A tensor of shape (n, d), where each row represents a sample point and each " +"column represents a dimension whose device is the same as lb and ub." msgstr "一个形状为 (n, d) 的张量,其中每行代表一个样本点,各列代表一个维度,其设备与 lb 和 ub 一致。" #: ../../source/apidocs/evox/evox.operators.sampling.uniform.md:1 @@ -4598,14 +4491,12 @@ msgid "" msgstr "使用Das和Dennis的方法进行均匀采样,Deb和Jain的方法。灵感来源于PlatEMO的NBI算法。" #: ../../../src/evox/operators/sampling/uniform.py:33 -#, fuzzy msgid "Number of points to generate." -msgstr "需要初始化的拷贝的数量" +msgstr "生成的点数。" #: ../../../src/evox/operators/sampling/uniform.py:34 -#, fuzzy msgid "Dimensionality of the grid." -msgstr "这个问题的完整的维度。" +msgstr "网格的维度。" #: ../../../src/evox/operators/sampling/uniform.py:36 msgid "The generated points, and the number of samples." @@ -4641,16 +4532,15 @@ msgstr "" #: ../../../src/evox/operators/selection/find_pbest.py:20 #: ../../../src/evox/operators/selection/find_pbest.py:30 -#, fuzzy msgid "" "Selects a random personal-best vector from the population for each " "individual." -msgstr "给出用于评估的候选种群。" +msgstr "从种群中为每个个体随机选择一个个人最佳向量。" #: ../../../src/evox/operators/selection/find_pbest.py:32 msgid "" -"The proportion of the population to consider as best. Must be between 0 " -"and 1." +"The proportion of the population to consider as best. Must be between 0 and " +"1." msgstr "种群中考虑为最好的比例。必须在 0 和 1 之间。" #: ../../../src/evox/operators/selection/find_pbest.py:33 @@ -4662,7 +4552,8 @@ msgid "The fitness tensor of shape (pop_size,)." msgstr "适应度张量的形状为 (pop_size,)。" #: ../../../src/evox/operators/selection/find_pbest.py:36 -msgid "A tensor containing the selected personal-best vector for each individual." +msgid "" +"A tensor containing the selected personal-best vector for each individual." msgstr "一个张量,包含每个个体的选择的个人最佳向量。" #: ../../source/apidocs/evox/evox.operators.selection.non_dominate.md:1 @@ -4751,8 +4642,8 @@ msgstr "" #: ../../../src/evox/operators/selection/non_dominate.py:48 #: ../../../src/evox/operators/selection/non_dominate.py:152 msgid "" -"Compute the non-domination rank for a set of solutions in multi-objective" -" optimization." +"Compute the non-domination rank for a set of solutions in multi-objective " +"optimization." msgstr "计算多目标优化中一组解的非支配等级。" #: ../../source/apidocs/evox/evox.operators.selection.non_dominate.md:50 @@ -4766,13 +4657,15 @@ msgstr "" #: ../../../src/evox/operators/selection/non_dominate.py:52 #: ../../../src/evox/operators/selection/non_dominate.py:159 msgid "" -"Perform environmental selection based on non-domination rank and crowding" -" distance." +"Perform environmental selection based on non-domination rank and crowding " +"distance." msgstr "基于非支配等级和拥挤距离进行环境选择。" #: ../../source/apidocs/evox/evox.operators.selection.non_dominate.md:62 -msgid "{py:obj}`_NDS_cache `" -msgstr "{py:obj}`_NDS_cache `" +msgid "" +"{py:obj}`_NDS_cache `" +msgstr "" +"{py:obj}`_NDS_cache `" #: ../../../src/evox/operators/selection/non_dominate.py:76 msgid "" @@ -4811,7 +4704,8 @@ msgid "The current Pareto front rank." msgstr "当前帕累托前沿排名" #: ../../../src/evox/operators/selection/non_dominate.py:89 -msgid "rank: Updated rank tensor. dominate_count: Updated dominate count tensor." +msgid "" +"rank: Updated rank tensor. dominate_count: Updated dominate count tensor." msgstr "" "**rank:** 更新的排名张量。\n" "**dominate_count:** 更新的支配计数张量。" @@ -4846,8 +4740,8 @@ msgstr "Bases: {py:obj}`evox.core.ModuleBase`" #: ../../../src/evox/operators/selection/non_dominate.py:110 msgid "" "This class provides an efficient implementation of non-dominated sorting " -"using both direct computation and a traceable map-reduce method for " -"large-scale multi-objective optimization problems." +"using both direct computation and a traceable map-reduce method for large-" +"scale multi-objective optimization problems." msgstr "该类提供了一种高效的非支配排序实现,使用直接计算和可追踪的地图-归约方法,适用于大规模多目标优化问题。" #: ../../../src/evox/operators/selection/non_dominate.py:114 @@ -4856,7 +4750,8 @@ msgid "" "with a particular focus on supporting `vmap`. In script mode, use " "`non_dominated_sort_script`, and in trace mode, use " "`trace_non_dominated_sort`." -msgstr "该类旨在自动识别脚本和跟踪模式,特别关注支持`vmap`。在脚本模式下,使用`non_dominated_sort_script`,在跟踪模式下,使用`trace_non_dominated_sort" +msgstr "" +"该类旨在自动识别脚本和跟踪模式,特别关注支持`vmap`。在脚本模式下,使用`non_dominated_sort_script`,在跟踪模式下,使用`trace_non_dominated_sort" #: ../../../src/evox/operators/selection/non_dominate.py:114 msgid "" @@ -4878,8 +4773,8 @@ msgstr "使用PyTorch的追踪机制进行非支配排序,以提高计算效 #: ../../../src/evox/operators/selection/non_dominate.py:147 msgid "" -"The crowding distance is a measure of the diversity of solutions within a" -" Pareto front." +"The crowding distance is a measure of the diversity of solutions within a " +"Pareto front." msgstr "" "**Pareto 前景中解的多样性度量:**\n" "\n" @@ -4896,8 +4791,8 @@ msgstr "" #: ../../../src/evox/operators/selection/non_dominate.py:156 #: ../../../src/evox/operators/selection/non_dominate.py:162 msgid "" -"A 2D tensor where each row represents a solution, and each column " -"represents an objective." +"A 2D tensor where each row represents a solution, and each column represents" +" an objective." msgstr "一个二维张量,其中每一行代表一个解,每一列代表一个目标。" #: ../../../src/evox/operators/selection/non_dominate.py:150 @@ -4920,31 +4815,29 @@ msgstr "一个 1D 张量,包含每个解的非支配排名。" #: ../../../src/evox/operators/selection/non_dominate.py:161 msgid "" -"A 2D tensor where each row represents a solution, and each column " -"represents a decision variable." +"A 2D tensor where each row represents a solution, and each column represents" +" a decision variable." msgstr "一个二维张量,其中每行代表一个解决方案,每列代表一个决策变量。" #: ../../../src/evox/operators/selection/non_dominate.py:163 -#, fuzzy msgid "The number of solutions to select." -msgstr "子种群的个数。" +msgstr "选择的解的数量。" #: ../../../src/evox/operators/selection/non_dominate.py:165 msgid "" "A tuple of four tensors:x: The selected solutions. f: The corresponding " -"objective values. rank: The non-domination rank of the selected " -"solutions. crowding_dis: The crowding distance of the selected " -"solutions." -msgstr "一个由四个张量组成的元组:x:选择的解。 f:对应的目标值。 rank:选择的解的非支配等级。 crowding_dis:选择的解的拥挤距离。" +"objective values. rank: The non-domination rank of the selected solutions." +" crowding_dis: The crowding distance of the selected solutions." +msgstr "" +"一个由四个张量组成的元组:x:选择的解。 f:对应的目标值。 rank:选择的解的非支配等级。 crowding_dis:选择的解的拥挤距离。" #: ../../../src/evox/operators/selection/non_dominate.py:166 msgid "A tuple of four tensors:" msgstr "一个包含四个张量的元组:" #: ../../../src/evox/operators/selection/non_dominate.py:167 -#, fuzzy msgid "**x**: The selected solutions." -msgstr "获取当前的最优解。" +msgstr "**x**: 选中的解。" #: ../../../src/evox/operators/selection/non_dominate.py:168 msgid "**f**: The corresponding objective values." @@ -4982,8 +4875,8 @@ msgstr "" #: ../../../src/evox/operators/selection/rvea_selection.py:24 #: ../../../src/evox/operators/selection/rvea_selection.py:41 msgid "" -"Perform the Reference Vector Guided Evolutionary Algorithm (RVEA) " -"selection process." +"Perform the Reference Vector Guided Evolutionary Algorithm (RVEA) selection " +"process." msgstr "执行参考向量指导演化算法 (RVEA) 选择过程。" #: ../../../src/evox/operators/selection/rvea_selection.py:36 @@ -4995,9 +4888,8 @@ msgid "A tensor representing the gamma." msgstr "一个表示伽马的张量。" #: ../../../src/evox/operators/selection/rvea_selection.py:38 -#, fuzzy msgid "A tensor representing the angle." -msgstr "一个表示状态的类" +msgstr "表示角度的张量。" #: ../../../src/evox/operators/selection/rvea_selection.py:39 msgid "A tensor of shape (n, m) representing the objectives of the solutions." @@ -5017,12 +4909,13 @@ msgstr "一个包含每个解的 APD 值的张量。" msgid "" "This function selects solutions based on the Reference Vector Guided " "Evolutionary Algorithm. It calculates the distances and angles between " -"solutions and reference vectors, and returns the next set of solutions to" -" be evolved." +"solutions and reference vectors, and returns the next set of solutions to be" +" evolved." msgstr "此函数基于参考向量引导的演化算法选择解决方案。它计算解决方案与参考向量之间的距离和角度,并返回下一组待演化的解决方案。" #: ../../../src/evox/operators/selection/rvea_selection.py:47 -msgid "A tensor of shape (n, d) representing the current population solutions." +msgid "" +"A tensor of shape (n, d) representing the current population solutions." msgstr "一个形状为 (n, d) 的张量,表示当前种群的解。" #: ../../../src/evox/operators/selection/rvea_selection.py:48 @@ -5051,9 +4944,8 @@ msgid "A tuple containing:" msgstr "一个元组包含:" #: ../../../src/evox/operators/selection/rvea_selection.py:53 -#, fuzzy msgid "next_x: The next selected solutions." -msgstr "获取当前的最优解。" +msgstr "next_x: 下一步选择的解。" #: ../../../src/evox/operators/selection/rvea_selection.py:54 msgid "next_f: The objective values of the next selected solutions." @@ -5062,10 +4954,11 @@ msgstr "next_f: 下一个选择的解决方案的目标值。" #: ../../../src/evox/operators/selection/rvea_selection.py:57 msgid "" "The function computes the distances between the solutions and reference " -"vectors, and selects the solutions with the minimum APD. It currently " -"uses a suboptimal selection implementation, and future improvements will " -"optimize the process using a `segment_sort` or `segment_argmin` in CUDA." -msgstr "该函数计算解与参考向量之间的距离,并选择具有最小APD的解。它当前使用的是次优选择实现,未来的改进将使用CUDA中的`segment_sort`或`segment_argmin`来优化该过程。" +"vectors, and selects the solutions with the minimum APD. It currently uses a" +" suboptimal selection implementation, and future improvements will optimize " +"the process using a `segment_sort` or `segment_argmin` in CUDA." +msgstr "" +"该函数计算解与参考向量之间的距离,并选择具有最小APD的解。它当前使用的是次优选择实现,未来的改进将使用CUDA中的`segment_sort`或`segment_argmin`来优化该过程。" #: ../../source/apidocs/evox/evox.operators.selection.tournament_selection.md:1 msgid "{py:mod}`evox.operators.selection.tournament_selection`" @@ -5104,8 +4997,8 @@ msgstr "选择轮数(选择多少个解)。" #: ../../../src/evox/operators/selection/tournament_selection.py:37 msgid "" -"A list of 1D tensors, each representing the fitness values of candidates " -"for different objectives." +"A list of 1D tensors, each representing the fitness values of candidates for" +" different objectives." msgstr "一个1D张量的列表,每个张量表示不同目标的候选者的适应度值。" #: ../../../src/evox/operators/selection/tournament_selection.py:38 @@ -5120,9 +5013,9 @@ msgstr "所选解决方案在锦标赛选择后的索引。" #: ../../../src/evox/operators/selection/tournament_selection.py:41 msgid "" -"This function performs tournament selection by randomly selecting a group" -" of candidates for each round, and selecting the best one from each group" -" based on their fitness values across multiple objectives." +"This function performs tournament selection by randomly selecting a group of" +" candidates for each round, and selecting the best one from each group based" +" on their fitness values across multiple objectives." msgstr "此函数通过随机选择每轮的一组候选者进行锦标赛选择,并根据他们在多个目标上的适应度值从每组中选择最佳者。" #: ../../../src/evox/operators/selection/tournament_selection.py:44 @@ -5131,9 +5024,9 @@ msgstr "一个一维张量,表示候选者的适应度值。" #: ../../../src/evox/operators/selection/tournament_selection.py:48 msgid "" -"This function performs tournament selection by randomly selecting a group" -" of candidates for each round, and selecting the best one from each group" -" based on their fitness values." +"This function performs tournament selection by randomly selecting a group of" +" candidates for each round, and selecting the best one from each group based" +" on their fitness values." msgstr "此函数通过随机选择每轮的候选者组来执行锦标赛选择,并根据他们的适应度值从每组中选择最佳者。" #: ../../source/apidocs/evox/evox.problems.md:1 @@ -5156,8 +5049,10 @@ msgid "" msgstr "用于`HPOProblem.workflow.monitor`中的超参数优化(HPO)监控的基类。" #: ../../source/apidocs/evox/evox.problems.hpo_wrapper.md:22 -msgid "{py:obj}`HPOFitnessMonitor `" -msgstr "{py:obj}`HPOFitnessMonitor `" +msgid "" +"{py:obj}`HPOFitnessMonitor `" +msgstr "" +"{py:obj}`HPOFitnessMonitor `" #: ../../../src/evox/problems/hpo_wrapper.py:24 #: ../../../src/evox/problems/hpo_wrapper.py:66 @@ -5167,8 +5062,10 @@ msgid "" msgstr "用于超参数优化(HPO)的监视器,记录在优化过程中迄今为止发现的最佳适应度。" #: ../../source/apidocs/evox/evox.problems.hpo_wrapper.md:26 -msgid "{py:obj}`HPOProblemWrapper `" -msgstr "{py:obj}`HPOProblemWrapper `" +msgid "" +"{py:obj}`HPOProblemWrapper `" +msgstr "" +"{py:obj}`HPOProblemWrapper `" #: ../../../src/evox/problems/hpo_wrapper.py:28 #: ../../../src/evox/problems/hpo_wrapper.py:98 @@ -5188,9 +5085,8 @@ msgstr "在此监控器监控的优化过程中,获取迄今为止找到的最 #: ../../../src/evox/problems/hpo_wrapper.py:57 #: ../../../src/evox/problems/hpo_wrapper.py:89 -#, fuzzy msgid "The best fitness so far." -msgstr "获取当前的最优适应度值。" +msgstr "迄今为止的最佳适应度。" #: ../../source/apidocs/evox/evox.problems.hpo_wrapper.md:63 msgid "Bases: {py:obj}`evox.problems.hpo_wrapper.HPOMonitor`" @@ -5203,8 +5099,8 @@ msgstr "初始化 HPO 适应度监控器。" #: ../../../src/evox/problems/hpo_wrapper.py:74 msgid "" "The metric function to use for multi-objective optimization, unused in " -"single-objective optimization. Currently we only support \"IGD\" or " -"\"HV\" for multi-objective optimization. Defaults to None." +"single-objective optimization. Currently we only support \"IGD\" or \"HV\" " +"for multi-objective optimization. Defaults to None." msgstr "用于多目标优化的度量函数,在单目标优化中不使用。目前,我们仅支持多目标优化的“IGD”或“HV”。默认为None。" #: ../../../src/evox/problems/hpo_wrapper.py:79 @@ -5221,9 +5117,8 @@ msgid "" msgstr "表示适应度值的张量。对于单目标优化,它可以是一个一维张量;对于多目标优化,它可以是一个二维张量。" #: ../../../src/evox/problems/hpo_wrapper.py:83 -#, fuzzy msgid "If the dimensionality of the fitness tensor is not 1 or 2." -msgstr "这个问题的完整的维度。" +msgstr "如果适应度张量的维度不是1或2。" #: ../../source/apidocs/evox/evox.problems.hpo_wrapper.md:95 #: ../../source/apidocs/evox/evox.problems.neuroevolution.brax.md:97 @@ -5235,9 +5130,8 @@ msgid "Bases: {py:obj}`evox.core.Problem`" msgstr "Bases: {py:obj}`evox.core.Problem`" #: ../../../src/evox/problems/hpo_wrapper.py:104 -#, fuzzy msgid "Initialize the HPO problem wrapper." -msgstr "为问题初始化设置。" +msgstr "初始化 HPO 问题包装器。" #: ../../../src/evox/problems/hpo_wrapper.py:106 msgid "The number of iterations to be executed in the optimization process." @@ -5258,17 +5152,17 @@ msgstr "在优化过程中使用的工作流。必须由 core.jit_class 包装 #: ../../../src/evox/problems/hpo_wrapper.py:109 msgid "" "Whether to copy the initial state of the workflow for each evaluation. " -"Defaults to True. If your workflow contains operations that IN-PLACE " -"modify the tensor(s) in initial state, this should be set to True. " -"Otherwise, you can set it to False to save memory." +"Defaults to True. If your workflow contains operations that IN-PLACE modify " +"the tensor(s) in initial state, this should be set to True. Otherwise, you " +"can set it to False to save memory." msgstr "" "是否为每次评估复制工作流的初始状态。默认为 True。如果您的工作流包含对初始状态中的张量进行原地修改的操作,则应将其设置为 " "True。否则,您可以将其设置为 False 以节省内存。" #: ../../../src/evox/problems/hpo_wrapper.py:111 msgid "" -"Evaluate the fitness (given by the internal workflow's monitor) of the " -"batch of hyper parameters by running the internal workflow." +"Evaluate the fitness (given by the internal workflow's monitor) of the batch" +" of hyper parameters by running the internal workflow." msgstr "评估一批超参数的适应度(由内部工作流的监控器提供),通过运行内部工作流。" #: ../../../src/evox/problems/hpo_wrapper.py:113 @@ -5280,7 +5174,8 @@ msgid "The final fitness of the hyper parameters." msgstr "最终的超参数适应度。" #: ../../../src/evox/problems/hpo_wrapper.py:119 -msgid "Return the initial hyper-parameters dictionary of the underlying workflow." +msgid "" +"Return the initial hyper-parameters dictionary of the underlying workflow." msgstr "返回底层工作流的初始超参数字典。" #: ../../source/apidocs/evox/evox.problems.neuroevolution.md:1 @@ -5297,52 +5192,50 @@ msgstr "{py:obj}`BraxProblem `" #: ../../../src/evox/problems/neuroevolution/brax.py:20 #: ../../../src/evox/problems/neuroevolution/brax.py:100 -#, fuzzy msgid "The Brax problem wrapper." -msgstr "问题。" +msgstr "Brax 问题封装器。" #: ../../source/apidocs/evox/evox.problems.neuroevolution.brax.md:30 -msgid "{py:obj}`to_jax_array `" -msgstr "{py:obj}`to_jax_array `" +msgid "" +"{py:obj}`to_jax_array `" +msgstr "" +"{py:obj}`to_jax_array `" #: ../../source/apidocs/evox/evox.problems.neuroevolution.brax.md:34 msgid "" -"{py:obj}`from_jax_array " -"`" +"{py:obj}`from_jax_array `" msgstr "" -"{py:obj}`from_jax_array " -"`" +"{py:obj}`from_jax_array `" #: ../../source/apidocs/evox/evox.problems.neuroevolution.brax.md:46 msgid "{py:obj}`__all__ `" msgstr "{py:obj}`__all__ `" #: ../../source/apidocs/evox/evox.problems.neuroevolution.brax.md:50 -msgid "{py:obj}`__brax_data__ `" -msgstr "{py:obj}`__brax_data__ `" +msgid "" +"{py:obj}`__brax_data__ `" +msgstr "" +"{py:obj}`__brax_data__ `" #: ../../source/apidocs/evox/evox.problems.neuroevolution.brax.md:62 -#, fuzzy msgid "['BraxProblem']" msgstr "['BraxProblem']" #: ../../../src/evox/problems/neuroevolution/brax.py:106 -#, fuzzy -msgid "" -"Construct a Brax-based problem. Firstly, you need to define a policy " -"model. Then you need to set the `environment name " -"`, the maximum " -"episode length, the number of episodes to evaluate for each individual. " -"For each individual, it will run the policy with the environment for " -"num_episodes times with different seed, and use the reduce_fn to reduce " -"the rewards (default to average). Different individuals will share the " -"same set of random keys in each iteration." -msgstr "" -"构建一个基于Brax的问题。首先,需要定义一个可编译的策略函数(policy function)。策略函数应该具有以下签名: " -"如果您的策略是无状态的::code:`fn(weights, obs) -> action`, " -"如果您的策略是有状态的::code:`fn(state, weights, obs) -> action, " -"state`。接下来,您需要设置`环境名称 " -"`_,最大幕长度,以及每个个体需要评估的幕的个数。对于每个个体,策略会在环境中运行`num_episodes`次,并使用不同的随机种子。然后使用`reduce_fn`来聚合奖励(默认为平均值)。在每次迭代中,不同的个体将共享相同的随机种子集合。" +msgid "" +"Construct a Brax-based problem. Firstly, you need to define a policy model. " +"Then you need to set the `environment name " +"`, the maximum episode " +"length, the number of episodes to evaluate for each individual. For each " +"individual, it will run the policy with the environment for num_episodes " +"times with different seed, and use the reduce_fn to reduce the rewards " +"(default to average). Different individuals will share the same set of " +"random keys in each iteration." +msgstr "" +"构建一个基于 Brax 的问题。首先,您需要定义一个策略模型。然后,您需要设置`environment name " +"`,最大 episode " +"长度,以及用于评估每个个体的 episode 数量。对于每个个体,它将在环境中运行策略 num_episodes 次,每次使用不同的种子,并使用 " +"reduce_fn 函数对奖励进行归约(默认为取平均值)。在每次迭代中,不同个体将共享同一组随机键。" #: ../../../src/evox/problems/neuroevolution/brax.py:115 msgid "" @@ -5355,9 +5248,8 @@ msgid "The environment name." msgstr "环境名。" #: ../../../src/evox/problems/neuroevolution/brax.py:117 -#, fuzzy msgid "The maximum number of time steps of each episode." -msgstr "运行的最大的时间步的数量。" +msgstr "每个episode的最大时间步数。" #: ../../../src/evox/problems/neuroevolution/brax.py:118 msgid "The number of episodes to evaluate for each individual." @@ -5365,30 +5257,28 @@ msgstr "用于评估每个个体的幕数量。" #: ../../../src/evox/problems/neuroevolution/brax.py:119 msgid "" -"The size of the population to be evaluated. If None, we expect the input " -"to have a population size of 1." +"The size of the population to be evaluated. If None, we expect the input to " +"have a population size of 1." msgstr "要评估的种群大小。如果为 None,我们期望输入的种群大小为 1。" #: ../../../src/evox/problems/neuroevolution/brax.py:120 -#, fuzzy msgid "" -"Indicates whether to rotate the random key for each iteration (default is" -" True).
If True, the random key will rotate after each iteration, " -"resulting in non-deterministic and potentially noisy fitness evaluations." -" This means that identical policy weights may yield different fitness " -"values across iterations.
If False, the random key remains the same" -" for all iterations, ensuring consistent fitness evaluations." +"Indicates whether to rotate the random key for each iteration (default is " +"True).
If True, the random key will rotate after each iteration, " +"resulting in non-deterministic and potentially noisy fitness evaluations. " +"This means that identical policy weights may yield different fitness values " +"across iterations.
If False, the random key remains the same for all " +"iterations, ensuring consistent fitness evaluations." msgstr "" -"是否在每次迭代后轮换随机数种子(默认值为 True)。 如果设置为 " -"True,则在每次迭代后随机数种子会轮换,从而导致非适应度评估带有噪声的。这意味着相同的权重在不同迭代中可能返回不同的适应度值。 如果设置为 " -"False,则随机数种子在所有迭代中保持不变,从而确保适应度评估的一致性。" +"表示是否在每次迭代中旋转随机键(默认为 True)。
如果为 " +"True,随机键将在每次迭代后旋转,从而导致非确定性且可能有噪声的适应度评估。这意味着相同的策略权重在不同迭代中可能会产生不同的适应度值。
" +"如果为 False,随机键在所有迭代中保持不变,以确保适应度评估的一致性。" #: ../../../src/evox/problems/neuroevolution/brax.py:121 -#, fuzzy msgid "" "The function to reduce the rewards of multiple episodes. Default to " "torch.mean." -msgstr "用于聚合多个幕奖励值的函数。默认值为 `jnp.mean`。" +msgstr "用于减少多个episode奖励的函数。默认值为torch.mean。" #: ../../../src/evox/problems/neuroevolution/brax.py:122 msgid "" @@ -5405,9 +5295,8 @@ msgstr "用于运行计算的设备。默认为当前默认设备。" #: ../../../src/evox/problems/neuroevolution/brax.py:125 #: ../../../src/evox/workflows/std_workflow.py:75 -#, fuzzy msgid "Notice" -msgstr "Notes" +msgstr "注意" #: ../../../src/evox/problems/neuroevolution/brax.py:126 msgid "The initial key is obtained from `torch.random.get_rng_state()`." @@ -5417,8 +5306,8 @@ msgstr "初始密钥是从 `torch.random.get_rng_state()` 获得的。" #: ../../../src/evox/problems/neuroevolution/supervised_learning.py:87 msgid "" "This problem does NOT support HPO wrapper " -"(`problems.hpo_wrapper.HPOProblemWrapper`), i.e., the workflow containing" -" this problem CANNOT be vmapped." +"(`problems.hpo_wrapper.HPOProblemWrapper`), i.e., the workflow containing " +"this problem CANNOT be vmapped." msgstr "" "此问题不支持 HPO 包装器 (`problems.hpo_wrapper.HPOProblemWrapper`),即包含此问题的工作流不能被 " "vmapped。" @@ -5431,9 +5320,8 @@ msgstr "示例" #: ../../../src/evox/problems/neuroevolution/brax.py:132 msgid "" "from evox import problems problem = problems.neuroevolution.Brax( ... " -"env_name=\"swimmer\", ... policy=model, ... " -"max_episode_length=1000, ... num_episodes=3, ... pop_size=100, ..." -" rotate_key=False, ...)" +"env_name=\"swimmer\", ... policy=model, ... max_episode_length=1000, " +"... num_episodes=3, ... pop_size=100, ... rotate_key=False, ...)" msgstr "" "from evox import problems\n" "problem = problems.neuroevolution.Brax(\n" @@ -5446,27 +5334,27 @@ msgstr "" "...)" #: ../../../src/evox/problems/neuroevolution/brax.py:113 -msgid "Evaluate the final rewards of a population (batch) of model parameters." +msgid "" +"Evaluate the final rewards of a population (batch) of model parameters." msgstr "评估一组模型参数种群(批量)的最终奖励。" #: ../../../src/evox/problems/neuroevolution/brax.py:115 #: ../../../src/evox/problems/neuroevolution/supervised_learning.py:125 msgid "" -"A dictionary of parameters where each key is a parameter name and each " -"value is a tensor of shape (batch_size, *param_shape) representing the " -"batched parameters of batched models." +"A dictionary of parameters where each key is a parameter name and each value" +" is a tensor of shape (batch_size, *param_shape) representing the batched " +"parameters of batched models." msgstr "参数字典,其中每个键是参数名称,每个值是形状为 (batch_size, *param_shape) 的张量,表示批量模型的批量参数。" #: ../../../src/evox/problems/neuroevolution/brax.py:117 msgid "" -"A tensor of shape (batch_size,) containing the reward of each sample in " -"the population." +"A tensor of shape (batch_size,) containing the reward of each sample in the " +"population." msgstr "形状为 (batch_size,) 的张量,包含种群中每个样本的奖励。" #: ../../../src/evox/problems/neuroevolution/brax.py:137 -#, fuzzy msgid "Visualize the brax environment with the given policy and weights." -msgstr "使用给定的策略和权重可视化 Brax 环境。" +msgstr "可视化带有指定策略和权重的brax环境。" #: ../../../src/evox/problems/neuroevolution/brax.py:139 msgid "The weights of the policy model. Which is a dictionary of parameters." @@ -5474,14 +5362,13 @@ msgstr "策略模型的权重。这是一个参数字典。" #: ../../../src/evox/problems/neuroevolution/brax.py:140 msgid "" -"The output type of the visualization, \"HTML\" or \"rgb_array\". Default " -"to \"HTML\"." +"The output type of the visualization, \"HTML\" or \"rgb_array\". Default to " +"\"HTML\"." msgstr "可视化的输出类型,“HTML”或“rgb_array”。默认为“HTML”。" #: ../../../src/evox/problems/neuroevolution/brax.py:142 -#, fuzzy msgid "The visualization output." -msgstr "种群。" +msgstr "可视化输出。" #: ../../source/apidocs/evox/evox.problems.neuroevolution.supervised_learning.md:1 msgid "{py:mod}`evox.problems.neuroevolution.supervised_learning`" @@ -5498,17 +5385,15 @@ msgstr "" #: ../../../src/evox/problems/neuroevolution/supervised_learning.py:20 #: ../../../src/evox/problems/neuroevolution/supervised_learning.py:70 msgid "" -"The supervised learning problem to test a model's parameters or a batch " -"of parameters with given data and criterion." +"The supervised learning problem to test a model's parameters or a batch of " +"parameters with given data and criterion." msgstr "监督学习问题是使用给定的数据和标准来测试模型参数或一批参数。" #: ../../source/apidocs/evox/evox.problems.neuroevolution.supervised_learning.md:30 msgid "" -"{py:obj}`__all__ " -"`" +"{py:obj}`__all__ `" msgstr "" -"{py:obj}`__all__ " -"`" +"{py:obj}`__all__ `" #: ../../source/apidocs/evox/evox.problems.neuroevolution.supervised_learning.md:34 msgid "" @@ -5519,14 +5404,12 @@ msgstr "" "`" #: ../../source/apidocs/evox/evox.problems.neuroevolution.supervised_learning.md:46 -#, fuzzy msgid "['SupervisedLearningProblem']" -msgstr "['SupervisedLearningProblem']" +msgstr "['监督学习问题']" #: ../../../src/evox/problems/neuroevolution/supervised_learning.py:76 -#, fuzzy msgid "Initialize the `SupervisedLearningProblem`." -msgstr "为问题初始化设置。" +msgstr "初始化 `SupervisedLearningProblem`。" #: ../../../src/evox/problems/neuroevolution/supervised_learning.py:78 msgid "The neural network model whose parameters need to be evaluated." @@ -5542,8 +5425,8 @@ msgstr "用于评估参数性能的损失函数。" #: ../../../src/evox/problems/neuroevolution/supervised_learning.py:81 msgid "" -"The size of the population (batch size of the parameters) to be " -"evaluated. Defaults to None for single-run mode." +"The size of the population (batch size of the parameters) to be evaluated. " +"Defaults to None for single-run mode." msgstr "种群的大小(参数的批量大小)需要进行评估。默认为 None,表示单次运行模式。" #: ../../../src/evox/problems/neuroevolution/supervised_learning.py:84 @@ -5556,8 +5439,8 @@ msgstr "评估一组模型参数种群(批次)的适应度。" #: ../../../src/evox/problems/neuroevolution/supervised_learning.py:127 msgid "" -"A tensor of shape (batch_size,) containing the fitness of each sample in " -"the population." +"A tensor of shape (batch_size,) containing the fitness of each sample in the" +" population." msgstr "形状为 (batch_size,) 的张量,包含种群中每个样本的适应度。" #: ../../source/apidocs/evox/evox.problems.neuroevolution.utils.md:1 @@ -5584,9 +5467,9 @@ msgstr "" #: ../../../src/evox/problems/neuroevolution/utils.py:107 msgid "" "Get model state forward function for vmap and non-vmap models. When " -"`get_non_vmap` is False, the function returns only vmap model state " -"forward function. When `get_non_vmap` is True, the function returns both " -"vmap and non-vmap model state forward functions." +"`get_non_vmap` is False, the function returns only vmap model state forward " +"function. When `get_non_vmap` is True, the function returns both vmap and " +"non-vmap model state forward functions." msgstr "" "获取用于 vmap 和非 vmap 模型的模型状态前向函数。当 `get_non_vmap` 为 False 时,该函数仅返回 vmap " "模型状态前向函数。当 `get_non_vmap` 为 True 时,该函数返回 vmap 和非 vmap 模型状态前向函数。" @@ -5636,9 +5519,8 @@ msgstr "{py:obj}`Ackley `" #: ../../../src/evox/problems/numerical/basic.py:24 #: ../../../src/evox/problems/numerical/basic.py:120 -#, fuzzy msgid "The Ackley function whose minimum is x = [0, ..., 0]" -msgstr "Schwefel函数,最小值位于 x = [420.9687462275036, ...]" +msgstr "Ackley 函数的最小值为 x = [0, ..., 0]" #: ../../source/apidocs/evox/evox.problems.numerical.basic.md:26 msgid "{py:obj}`Griewank `" @@ -5646,9 +5528,8 @@ msgstr "{py:obj}`Griewank `" #: ../../../src/evox/problems/numerical/basic.py:28 #: ../../../src/evox/problems/numerical/basic.py:151 -#, fuzzy msgid "The Griewank function whose minimum is x = [0, ..., 0]" -msgstr "Schwefel函数,最小值位于 x = [420.9687462275036, ...]" +msgstr "Griewank 函数的最小值是 x = [0, ..., 0]" #: ../../source/apidocs/evox/evox.problems.numerical.basic.md:30 msgid "{py:obj}`Rastrigin `" @@ -5656,9 +5537,8 @@ msgstr "{py:obj}`Rastrigin `" #: ../../../src/evox/problems/numerical/basic.py:32 #: ../../../src/evox/problems/numerical/basic.py:182 -#, fuzzy msgid "The Rastrigin function whose minimum is x = [0, ..., 0]" -msgstr "Schwefel函数,最小值位于 x = [420.9687462275036, ...]" +msgstr "Rastrigin 函数的最小值是 x = [0, ..., 0]" #: ../../source/apidocs/evox/evox.problems.numerical.basic.md:34 msgid "{py:obj}`Rosenbrock `" @@ -5666,9 +5546,8 @@ msgstr "{py:obj}`Rosenbrock `" #: ../../../src/evox/problems/numerical/basic.py:36 #: ../../../src/evox/problems/numerical/basic.py:213 -#, fuzzy msgid "The Rosenbrock function whose minimum is x = [1, ..., 1]" -msgstr "Schwefel函数,最小值位于 x = [420.9687462275036, ...]" +msgstr "Rosenbrock 函数的最小值为 x = [1, ..., 1]" #: ../../source/apidocs/evox/evox.problems.numerical.basic.md:38 msgid "{py:obj}`Schwefel `" @@ -5676,9 +5555,8 @@ msgstr "{py:obj}`Schwefel `" #: ../../../src/evox/problems/numerical/basic.py:40 #: ../../../src/evox/problems/numerical/basic.py:244 -#, fuzzy msgid "The Schwefel function whose minimum is x = [420.9687, ..., 420.9687]" -msgstr "Schwefel函数,最小值位于 x = [420.9687462275036, ...]" +msgstr "Schwefel 函数的最小值为 x = [420.9687, ..., 420.9687]" #: ../../source/apidocs/evox/evox.problems.numerical.basic.md:42 msgid "{py:obj}`Sphere `" @@ -5686,9 +5564,8 @@ msgstr "{py:obj}`Sphere `" #: ../../../src/evox/problems/numerical/basic.py:44 #: ../../../src/evox/problems/numerical/basic.py:275 -#, fuzzy msgid "The sphere function whose minimum is x = [0, ..., 0]" -msgstr "Schwefel函数,最小值位于 x = [420.9687462275036, ...]" +msgstr "球体函数(sphere function),其最小值为 x = [0, ..., 0]" #: ../../source/apidocs/evox/evox.problems.numerical.basic.md:54 msgid "{py:obj}`ackley_func `" @@ -5699,12 +5576,16 @@ msgid "{py:obj}`griewank_func `" msgstr "{py:obj}`griewank_func `" #: ../../source/apidocs/evox/evox.problems.numerical.basic.md:62 -msgid "{py:obj}`rastrigin_func `" -msgstr "{py:obj}`rastrigin_func `" +msgid "" +"{py:obj}`rastrigin_func `" +msgstr "" +"{py:obj}`rastrigin_func `" #: ../../source/apidocs/evox/evox.problems.numerical.basic.md:66 -msgid "{py:obj}`rosenbrock_func `" -msgstr "{py:obj}`rosenbrock_func `" +msgid "" +"{py:obj}`rosenbrock_func `" +msgstr "" +"{py:obj}`rosenbrock_func `" #: ../../source/apidocs/evox/evox.problems.numerical.basic.md:70 msgid "{py:obj}`schwefel_func `" @@ -5715,9 +5596,8 @@ msgid "{py:obj}`sphere_func `" msgstr "{py:obj}`sphere_func `" #: ../../../src/evox/problems/numerical/basic.py:95 -#, fuzzy msgid "Initialize the ShiftAffineNumericalProblem." -msgstr "为问题初始化设置。" +msgstr "初始化 ShiftAffineNumericalProblem。" #: ../../../src/evox/problems/numerical/basic.py:97 msgid "The shift vector. Defaults to None. None represents no shift." @@ -5737,14 +5617,12 @@ msgid "" msgstr "首先对给定的种群进行平移和仿射变换,然后用实际函数评估这些点。" #: ../../../src/evox/problems/numerical/basic.py:104 -#, fuzzy msgid "The population of points to evaluate." -msgstr "给出用于评估的候选种群。" +msgstr "要评估的点的种群。" #: ../../../src/evox/problems/numerical/basic.py:106 -#, fuzzy msgid "The evaluated fitness of the population." -msgstr "评估给定候选解的适应度。" +msgstr "种群的适应度评估结果。" #: ../../source/apidocs/evox/evox.problems.numerical.basic.md:117 #: ../../source/apidocs/evox/evox.problems.numerical.basic.md:148 @@ -5752,13 +5630,14 @@ msgstr "评估给定候选解的适应度。" #: ../../source/apidocs/evox/evox.problems.numerical.basic.md:210 #: ../../source/apidocs/evox/evox.problems.numerical.basic.md:241 #: ../../source/apidocs/evox/evox.problems.numerical.basic.md:272 -msgid "Bases: {py:obj}`evox.problems.numerical.basic.ShiftAffineNumericalProblem`" -msgstr "Bases: {py:obj}`evox.problems.numerical.basic.ShiftAffineNumericalProblem`" +msgid "" +"Bases: {py:obj}`evox.problems.numerical.basic.ShiftAffineNumericalProblem`" +msgstr "" +"Bases: {py:obj}`evox.problems.numerical.basic.ShiftAffineNumericalProblem`" #: ../../../src/evox/problems/numerical/basic.py:126 -#, fuzzy msgid "Initialize the Ackley function with the given parameters." -msgstr "使用给定的策略和权重可视化 Brax 环境。" +msgstr "用给定的参数初始化 Ackley 函数。" #: ../../../src/evox/problems/numerical/basic.py:128 msgid "The parameter a in the equation. Defaults to 20.0." @@ -5788,9 +5667,8 @@ msgstr "传递给超类 ShiftAffineNumericalProblem 的关键字参数(shift #: ../../../src/evox/problems/numerical/basic.py:219 #: ../../../src/evox/problems/numerical/basic.py:250 #: ../../../src/evox/problems/numerical/basic.py:281 -#, fuzzy msgid "Initialize the Griewank function with the given parameters." -msgstr "使用给定的策略和权重可视化 Brax 环境。" +msgstr "用给定的参数初始化 Griewank 函数。" #: ../../source/apidocs/evox/evox.problems.numerical.cec2022.md:1 msgid "{py:mod}`evox.problems.numerical.cec2022`" @@ -5806,16 +5684,17 @@ msgid "The CEC 2022 single-objective test suite Problem" msgstr "CEC 2022 单目标测试套件问题" #: ../../../src/evox/problems/numerical/cec2022.py:39 -msgid "Initialize a single test function instance from the CEC2022 test suite." +msgid "" +"Initialize a single test function instance from the CEC2022 test suite." msgstr "从CEC2022测试套件初始化一个单一测试函数实例。" #: ../../../src/evox/problems/numerical/cec2022.py:41 msgid "" -"Args: problem_number (`int`): The index for the specific test " -"function to be used. Must be ranged from 1 to 12. dimension (`int`): " -"The dimensionality of the problem. Must be one of [2, 10, 20]. device" -" (`torch.device`, optional): The device on which tensors will be " -"allocated. Defaults to None." +"Args: problem_number (`int`): The index for the specific test function " +"to be used. Must be ranged from 1 to 12. dimension (`int`): The " +"dimensionality of the problem. Must be one of [2, 10, 20]. device " +"(`torch.device`, optional): The device on which tensors will be allocated. " +"Defaults to None." msgstr "" "Args: \n" "- problem_number (`int`): 要使用的特定测试函数的索引。必须在1到12之间。\n" @@ -5849,9 +5728,8 @@ msgid "Zakharov Function" msgstr "Zakharov 函数" #: ../../../src/evox/problems/numerical/cec2022.py:94 -#, fuzzy msgid "Rosenbrock Function" -msgstr "Rosenbrock" +msgstr "Rosenbrock Function \n" #: ../../../src/evox/problems/numerical/cec2022.py:102 msgid "Schaffer F7 Function" @@ -5862,9 +5740,10 @@ msgid "Step Rastrigin Function (Noncontinuous Rastrigin's)" msgstr "Rastrigin 函数步骤(不连续的 Rastrigin's)" #: ../../../src/evox/problems/numerical/cec2022.py:118 -#, fuzzy msgid "Levy Function" -msgstr "测试函数" +msgstr "" +"Levy Function \n" +"Levy Function" #: ../../../src/evox/problems/numerical/cec2022.py:126 msgid "Hybrid Function 2" @@ -5916,7 +5795,8 @@ msgstr "{py:obj}`DTLZTestSuit `" #: ../../../src/evox/problems/numerical/dtlz.py:20 #: ../../../src/evox/problems/numerical/dtlz.py:51 -msgid "Base class for DTLZ test suite problems in multi-objective optimization." +msgid "" +"Base class for DTLZ test suite problems in multi-objective optimization." msgstr "用于多目标优化中DTLZ测试套件问题的基类。" #: ../../source/apidocs/evox/evox.problems.numerical.dtlz.md:22 @@ -5956,9 +5836,8 @@ msgid "Number of decision variables." msgstr "决策变量的数量。" #: ../../../src/evox/problems/numerical/dtlz.py:56 -#, fuzzy msgid "Number of objectives." -msgstr "目标数量" +msgstr "目标数量。" #: ../../../src/evox/problems/numerical/dtlz.py:57 msgid "Number of reference points used in the problem." @@ -5976,14 +5855,13 @@ msgstr "抽象方法用于评估给定决策变量的目标值。" #: ../../../src/evox/problems/numerical/dtlz.py:67 msgid "" -"A tensor of shape (n, d), where n is the number of solutions and d is the" -" number of decision variables." +"A tensor of shape (n, d), where n is the number of solutions and d is the " +"number of decision variables." msgstr "形状为 (n, d) 的张量,其中 n 是解的数量,d 是决策变量的数量。" #: ../../../src/evox/problems/numerical/dtlz.py:73 -#, fuzzy msgid "Return the Pareto front for the problem." -msgstr "为问题初始化设置。" +msgstr "返回问题的帕累托前沿。" #: ../../../src/evox/problems/numerical/dtlz.py:75 msgid "A tensor representing the Pareto front." @@ -6041,8 +5919,8 @@ msgstr "{py:obj}`switch `" #: ../../../src/evox/utils/jit_fix_operator.py:20 #: ../../../src/evox/utils/jit_fix_operator.py:82 msgid "" -"Element-wise switch select operator that generates a tensor from a list " -"of tensors based on the label tensor." +"Element-wise switch select operator that generates a tensor from a list of " +"tensors based on the label tensor." msgstr "基于标签张量从张量列表中生成张量的逐元素切换选择运算符。" #: ../../source/apidocs/evox/evox.utils.jit_fix_operator.md:22 @@ -6052,8 +5930,8 @@ msgstr "{py:obj}`clamp `" #: ../../../src/evox/utils/jit_fix_operator.py:24 #: ../../../src/evox/utils/jit_fix_operator.py:89 msgid "" -"Clamp the values of the input tensor `a` to be within the given lower " -"(`lb`) and upper (`ub`) bounds." +"Clamp the values of the input tensor `a` to be within the given lower (`lb`)" +" and upper (`ub`) bounds." msgstr "将输入张量 `a` 的值限制在给定的下界 (`lb`) 和上界 (`ub`) 之间。" #: ../../source/apidocs/evox/evox.utils.jit_fix_operator.md:26 @@ -6063,8 +5941,8 @@ msgstr "{py:obj}`clamp_float `" #: ../../../src/evox/utils/jit_fix_operator.py:28 #: ../../../src/evox/utils/jit_fix_operator.py:96 msgid "" -"Clamp the float values of the input tensor `a` to be within the given " -"lower (`lb`) and upper (`ub`) bounds." +"Clamp the float values of the input tensor `a` to be within the given lower " +"(`lb`) and upper (`ub`) bounds." msgstr "将输入张量 `a` 的浮点值限制在给定的下界 (`lb`) 和上界 (`ub`) 之间。" #: ../../source/apidocs/evox/evox.utils.jit_fix_operator.md:30 @@ -6074,8 +5952,8 @@ msgstr "{py:obj}`clamp_int `" #: ../../../src/evox/utils/jit_fix_operator.py:32 #: ../../../src/evox/utils/jit_fix_operator.py:103 msgid "" -"Clamp the int values of the input tensor `a` to be within the given lower" -" (`lb`) and upper (`ub`) bounds." +"Clamp the int values of the input tensor `a` to be within the given lower " +"(`lb`) and upper (`ub`) bounds." msgstr "将输入张量 `a` 的整数值限制在给定的下限 (`lb`) 和上限 (`ub`) 之间。" #: ../../source/apidocs/evox/evox.utils.jit_fix_operator.md:34 @@ -6148,8 +6026,8 @@ msgstr "{py:obj}`lexsort `" #: ../../../src/evox/utils/jit_fix_operator.py:64 #: ../../../src/evox/utils/jit_fix_operator.py:159 msgid "" -"Perform lexicographical sorting of multiple tensors, considering each " -"tensor as a key." +"Perform lexicographical sorting of multiple tensors, considering each tensor" +" as a key." msgstr "对多个张量进行字典序排序,将每个张量视为一个键。" #: ../../source/apidocs/evox/evox.utils.jit_fix_operator.md:66 @@ -6159,8 +6037,8 @@ msgstr "{py:obj}`nanmin `" #: ../../../src/evox/utils/jit_fix_operator.py:68 #: ../../../src/evox/utils/jit_fix_operator.py:166 msgid "" -"Compute the minimum of a tensor along a specified dimension, ignoring NaN" -" values." +"Compute the minimum of a tensor along a specified dimension, ignoring NaN " +"values." msgstr "计算张量在指定维度上的最小值,忽略NaN值。" #: ../../source/apidocs/evox/evox.utils.jit_fix_operator.md:70 @@ -6170,33 +6048,33 @@ msgstr "{py:obj}`nanmax `" #: ../../../src/evox/utils/jit_fix_operator.py:72 #: ../../../src/evox/utils/jit_fix_operator.py:173 msgid "" -"Compute the maximum of a tensor along a specified dimension, ignoring NaN" -" values." +"Compute the maximum of a tensor along a specified dimension, ignoring NaN " +"values." msgstr "计算张量在指定维度上的最大值,忽略NaN值。" #: ../../../src/evox/utils/jit_fix_operator.py:84 msgid "" -"A tensor containing labels used to select from the list of tensors. Must " -"be broadcastable to the shape of rest arguments." +"A tensor containing labels used to select from the list of tensors. Must be " +"broadcastable to the shape of rest arguments." msgstr "一个张量,包含用于从张量列表中选择的标签。必须可以广播到其余参数的形状。" #: ../../../src/evox/utils/jit_fix_operator.py:85 msgid "" -"A list of tensors from which one is selected based on the label. All " -"tensors in the list must be broadcastable to the same shape." +"A list of tensors from which one is selected based on the label. All tensors" +" in the list must be broadcastable to the same shape." msgstr "根据标签从中选择的张量列表。列表中的所有张量必须可以广播到相同的形状。" #: ../../../src/evox/utils/jit_fix_operator.py:88 msgid "" -"A tensor where each element is selected from the list of tensors based on" -" the corresponding element in the label tensor." +"A tensor where each element is selected from the list of tensors based on " +"the corresponding element in the label tensor." msgstr "一个张量,其中每个元素都是根据标签张量中的相应元素从张量列表中选择的。" #: ../../../src/evox/utils/jit_fix_operator.py:91 msgid "" -"This function ensures that each element of the tensor `a` is not less " -"than the corresponding element of `lb` and not greater than the " -"corresponding element of `ub`." +"This function ensures that each element of the tensor `a` is not less than " +"the corresponding element of `lb` and not greater than the corresponding " +"element of `ub`." msgstr "此函数确保张量 `a` 的每个元素不小于 `lb` 的相应元素且不大于 `ub` 的相应元素。" #: ../../../src/evox/utils/jit_fix_operator.py:95 @@ -6204,16 +6082,18 @@ msgstr "此函数确保张量 `a` 的每个元素不小于 `lb` 的相应元素 #: ../../../src/evox/utils/jit_fix_operator.py:108 msgid "" "This is a fix function for " -"[`torch.clamp`](https://pytorch.org/docs/stable/generated/torch.clamp.html)" -" since it is not supported in JIT operator fusion." -msgstr "这是一个用于[`torch.clamp`](https://pytorch.org/docs/stable/generated/torch.clamp.html)的修复函数,因为它在JIT操作符融合中不被支持。" +"[`torch.clamp`](https://pytorch.org/docs/stable/generated/torch.clamp.html) " +"since it is not supported in JIT operator fusion." +msgstr "" +"这是一个用于[`torch.clamp`](https://pytorch.org/docs/stable/generated/torch.clamp.html)的修复函数,因为它在JIT操作符融合中不被支持。" #: ../../../src/evox/utils/jit_fix_operator.py:96 msgid "" -"This is NOT a precise replication of `torch.clamp` if `a`, `lb` or `ub` " -"is a float tensor and may suffer from numerical precision losses. Please " -"use `torch.clamp` instead if a precise clamp is required." -msgstr "这不是`torch.clamp`的精确复制,如果`a`、`lb`或`ub`是浮点张量,可能会遭受数值精度损失。如果需要精确的限制,请使用`torch.clamp" +"This is NOT a precise replication of `torch.clamp` if `a`, `lb` or `ub` is a" +" float tensor and may suffer from numerical precision losses. Please use " +"`torch.clamp` instead if a precise clamp is required." +msgstr "" +"这不是`torch.clamp`的精确复制,如果`a`、`lb`或`ub`是浮点张量,可能会遭受数值精度损失。如果需要精确的限制,请使用`torch.clamp" #: ../../../src/evox/utils/jit_fix_operator.py:98 #: ../../../src/evox/utils/jit_fix_operator.py:104 @@ -6232,43 +6112,46 @@ msgstr "上界张量。必须可以广播到a的形状。" #: ../../../src/evox/utils/jit_fix_operator.py:102 #: ../../../src/evox/utils/jit_fix_operator.py:108 #: ../../../src/evox/utils/jit_fix_operator.py:115 -msgid "A tensor where each element is clamped to be within the specified bounds." +msgid "" +"A tensor where each element is clamped to be within the specified bounds." msgstr "张量,其中每个元素都被限制在指定的界限内。" #: ../../../src/evox/utils/jit_fix_operator.py:98 #: ../../../src/evox/utils/jit_fix_operator.py:105 msgid "" -"This function ensures that each element of the tensor `a` is not less " -"than `lb` and not greater than `ub`." +"This function ensures that each element of the tensor `a` is not less than " +"`lb` and not greater than `ub`." msgstr "此函数确保张量 `a` 的每个元素不小于 `lb` 且不大于 `ub" #: ../../../src/evox/utils/jit_fix_operator.py:102 msgid "" -"This is NOT a precise replication of `torch.clamp` if `a` is a float " -"tensor and may suffer from numerical precision losses. Please use " -"`torch.clamp` instead if a precise clamp is required." -msgstr "这不是`torch.clamp`的精确复制,如果`a`是浮点张量,可能会遭受数值精度损失。如果需要精确的限制,请使用`torch.clamp" +"This is NOT a precise replication of `torch.clamp` if `a` is a float tensor " +"and may suffer from numerical precision losses. Please use `torch.clamp` " +"instead if a precise clamp is required." +msgstr "" +"这不是`torch.clamp`的精确复制,如果`a`是浮点张量,可能会遭受数值精度损失。如果需要精确的限制,请使用`torch.clamp" #: ../../../src/evox/utils/jit_fix_operator.py:105 #: ../../../src/evox/utils/jit_fix_operator.py:112 msgid "" -"The lower bound value. Each element of a will be clamped to be not less " -"than lb." +"The lower bound value. Each element of a will be clamped to be not less than" +" lb." msgstr "下界值。a 的每个元素将被限制为不小于 lb。" #: ../../../src/evox/utils/jit_fix_operator.py:106 #: ../../../src/evox/utils/jit_fix_operator.py:113 msgid "" -"The upper bound value. Each element of a will be clamped to be not " -"greater than ub." +"The upper bound value. Each element of a will be clamped to be not greater " +"than ub." msgstr "上限值。a 的每个元素将被限制为不大于 ub。" #: ../../../src/evox/utils/jit_fix_operator.py:109 msgid "" -"This is NOT a precise replication of `torch.clamp` if `a` is a int tensor" -" and may suffer from numerical precision losses. Please use `torch.clamp`" -" instead if a precise clamp is required." -msgstr "这不是`torch.clamp`的精确复制,如果`a`是一个整数张量,可能会遭受数值精度损失。如果需要精确的限制,请使用`torch.clamp" +"This is NOT a precise replication of `torch.clamp` if `a` is a int tensor " +"and may suffer from numerical precision losses. Please use `torch.clamp` " +"instead if a precise clamp is required." +msgstr "" +"这不是`torch.clamp`的精确复制,如果`a`是一个整数张量,可能会遭受数值精度损失。如果需要精确的限制,请使用`torch.clamp" #: ../../../src/evox/utils/jit_fix_operator.py:112 msgid "Notice: This function invokes `clamp(a, 0, 1)`." @@ -6289,7 +6172,8 @@ msgid "" "Notice: This is a fix function for " "[`torch.maximum`](https://pytorch.org/docs/stable/generated/torch.maximum.html]" " since it is not supported in JIT operator fusion." -msgstr "注意:这是一个用于[`torch.maximum`](https://pytorch.org/docs/stable/generated/torch.maximum.html)的修复函数,因为它在JIT操作符融合中不支持。" +msgstr "" +"注意:这是一个用于[`torch.maximum`](https://pytorch.org/docs/stable/generated/torch.maximum.html)的修复函数,因为它在JIT操作符融合中不支持。" #: ../../../src/evox/utils/jit_fix_operator.py:121 #: ../../../src/evox/utils/jit_fix_operator.py:128 @@ -6316,7 +6200,8 @@ msgid "" "Notice: This is a fix function for " "[`torch.minimum`](https://pytorch.org/docs/stable/generated/torch.minimum.html]" " since it is not supported in JIT operator fusion." -msgstr "注意:这是一个用于[`torch.minimum`](https://pytorch.org/docs/stable/generated/torch.minimum.html)的修复函数,因为它在JIT操作符融合中不支持。" +msgstr "" +"注意:这是一个用于[`torch.minimum`](https://pytorch.org/docs/stable/generated/torch.minimum.html)的修复函数,因为它在JIT操作符融合中不支持。" #: ../../../src/evox/utils/jit_fix_operator.py:131 #: ../../../src/evox/utils/jit_fix_operator.py:146 @@ -6335,7 +6220,8 @@ msgid "" "Notice: This is a fix function for " "[`torch.minimum`](https://pytorch.org/docs/stable/generated/torch.minimum.html)" " since it is not supported in JIT operator fusion." -msgstr "注意:这是一个用于[`torch.minimum`](https://pytorch.org/docs/stable/generated/torch.minimum.html)的修复函数,因为它在JIT操作符融合中不支持。" +msgstr "" +"注意:这是一个用于[`torch.minimum`](https://pytorch.org/docs/stable/generated/torch.minimum.html)的修复函数,因为它在JIT操作符融合中不支持。" #: ../../../src/evox/utils/jit_fix_operator.py:150 #: ../../../src/evox/utils/jit_fix_operator.py:158 @@ -6344,23 +6230,23 @@ msgstr "第二个输入是一个整数,它是一个标量值。" #: ../../../src/evox/utils/jit_fix_operator.py:161 msgid "" -"This function sorts the given tensors lexicographically, where sorting is" -" performed by the first key, then by the second key in case of ties in " -"the first key, and so on. It works similarly to NumPy's `lexsort`, but is" -" designed for PyTorch tensors." -msgstr "此函数按字典顺序对给定的张量进行排序,首先按第一个键排序,如果第一个键相同,则按第二个键排序,依此类推。它的工作方式类似于NumPy的`lexsort`,但专为PyTorch张量设计。" +"This function sorts the given tensors lexicographically, where sorting is " +"performed by the first key, then by the second key in case of ties in the " +"first key, and so on. It works similarly to NumPy's `lexsort`, but is " +"designed for PyTorch tensors." +msgstr "" +"此函数按字典顺序对给定的张量进行排序,首先按第一个键排序,如果第一个键相同,则按第二个键排序,依此类推。它的工作方式类似于NumPy的`lexsort`,但专为PyTorch张量设计。" #: ../../../src/evox/utils/jit_fix_operator.py:165 msgid "" -"A list of tensors to be sorted, where each tensor represents a sorting " -"key. All tensors must have the same length along the specified dimension " -"(dim)." +"A list of tensors to be sorted, where each tensor represents a sorting key. " +"All tensors must have the same length along the specified dimension (dim)." msgstr "要排序的张量列表,其中每个张量代表一个排序键。所有张量在指定维度(dim)上必须具有相同的长度。" #: ../../../src/evox/utils/jit_fix_operator.py:168 msgid "" -"The dimension along which to perform the sorting. Defaults to -1 (the " -"last dimension)." +"The dimension along which to perform the sorting. Defaults to -1 (the last " +"dimension)." msgstr "执行排序的维度。默认为 -1(最后一个维度)。" #: ../../../src/evox/utils/jit_fix_operator.py:170 @@ -6376,14 +6262,15 @@ msgstr "您可以使用 `torch.unbind` 将张量拆分为列表。" #: ../../../src/evox/utils/jit_fix_operator.py:168 msgid "" -"This function replaces `NaN` values in the input tensor with `infinity` ," -" and then computes the minimum over the specified dimension, effectively " +"This function replaces `NaN` values in the input tensor with `infinity` , " +"and then computes the minimum over the specified dimension, effectively " "ignoring `NaN` values." msgstr "此函数将输入张量中的 `NaN` 值替换为 `infinity`,然后在指定维度上计算最小值,有效地忽略 `NaN` 值。" #: ../../../src/evox/utils/jit_fix_operator.py:171 #: ../../../src/evox/utils/jit_fix_operator.py:178 -msgid "The input tensor, which may contain NaN values. It can be of any shape." +msgid "" +"The input tensor, which may contain NaN values. It can be of any shape." msgstr "输入张量,可能包含NaN值。它可以是任何形状。" #: ../../../src/evox/utils/jit_fix_operator.py:173 @@ -6395,19 +6282,19 @@ msgstr "计算最小值的维度。默认值为-1,对应于最后一个维度 #: ../../../src/evox/utils/jit_fix_operator.py:175 #: ../../../src/evox/utils/jit_fix_operator.py:182 msgid "" -"Whether to retain the reduced dimension in the result. Default is False. " -"If True, the output tensor will have the same number of dimensions as the" -" input, with the size of the reduced dimension set to 1." +"Whether to retain the reduced dimension in the result. Default is False. If " +"True, the output tensor will have the same number of dimensions as the " +"input, with the size of the reduced dimension set to 1." msgstr "是否在结果中保留减少的维度。默认值为 False。如果为 True,输出张量将与输入具有相同数量的维度,减少的维度大小将设置为 1。" #: ../../../src/evox/utils/jit_fix_operator.py:179 msgid "" -"A named tuple with two fields:values (torch.Tensor): A tensor containing " -"the minimum values computed along the specified dimension, ignoring NaN " -"values. indices (torch.Tensor): A tensor containing the indices of the " -"minimum values along the specified dimension.The returned tensors values " -"and indices will have the same shape as the input tensor, except for the " -"dimension(s) over which the operation was performed." +"A named tuple with two fields:values (torch.Tensor): A tensor containing the" +" minimum values computed along the specified dimension, ignoring NaN values." +" indices (torch.Tensor): A tensor containing the indices of the minimum " +"values along the specified dimension.The returned tensors values and indices" +" will have the same shape as the input tensor, except for the dimension(s) " +"over which the operation was performed." msgstr "" "一个命名元组,包含两个字段:values (torch.Tensor):一个张量,包含沿指定维度计算的最小值,忽略NaN值。indices " "(torch.Tensor):一个张量,包含沿指定维度的最小值的索引。返回的张量values和indices将与输入张量具有相同的形状,除了执行操作的维度。" @@ -6419,41 +6306,40 @@ msgstr "一个具有两个字段的命名元组:" #: ../../../src/evox/utils/jit_fix_operator.py:180 msgid "" -"`values` (`torch.Tensor`): A tensor containing the minimum values " -"computed along the specified dimension, ignoring `NaN` values." +"`values` (`torch.Tensor`): A tensor containing the minimum values computed " +"along the specified dimension, ignoring `NaN` values." msgstr "`values` (`torch.Tensor`): 一个张量,包含沿指定维度计算的最小值,忽略 `NaN` 值。" #: ../../../src/evox/utils/jit_fix_operator.py:182 msgid "" -"`indices` (`torch.Tensor`): A tensor containing the indices of the " -"minimum values along the specified dimension." +"`indices` (`torch.Tensor`): A tensor containing the indices of the minimum " +"values along the specified dimension." msgstr "`indices` (`torch.Tensor`): 一个张量,包含沿指定维度的最小值的索引。" #: ../../../src/evox/utils/jit_fix_operator.py:184 #: ../../../src/evox/utils/jit_fix_operator.py:191 msgid "" -"The returned tensors `values` and `indices` will have the same shape as " -"the input tensor, except for the dimension(s) over which the operation " -"was performed." +"The returned tensors `values` and `indices` will have the same shape as the " +"input tensor, except for the dimension(s) over which the operation was " +"performed." msgstr "返回的张量 `values` 和 `indices` 将具有与输入张量相同的形状,除了执行操作的维度。" #: ../../../src/evox/utils/jit_fix_operator.py:195 msgid "" -"`NaN` values are ignored by replacing them with `infinity` before " -"computing the minimum." +"`NaN` values are ignored by replacing them with `infinity` before computing " +"the minimum." msgstr "在计算最小值之前,通过将 `NaN` 值替换为 `infinity` 来忽略它们。" #: ../../../src/evox/utils/jit_fix_operator.py:196 msgid "" -"If all values along a dimension are `NaN`, the result will be `infinity` " -"for that dimension, and the index will be returned as the first valid " -"index." +"If all values along a dimension are `NaN`, the result will be `infinity` for" +" that dimension, and the index will be returned as the first valid index." msgstr "如果一个维度上的所有值都是`NaN`,那么该维度的结果将是`infinity`,并且索引将返回为第一个有效索引。" #: ../../../src/evox/utils/jit_fix_operator.py:175 msgid "" -"This function replaces `NaN` values in the input tensor with `-infinity`," -" and then computes the maximum over the specified dimension, effectively " +"This function replaces `NaN` values in the input tensor with `-infinity`, " +"and then computes the maximum over the specified dimension, effectively " "ignoring `NaN` values." msgstr "此函数将输入张量中的 `NaN` 值替换为 `-infinity`,然后在指定维度上计算最大值,从而有效地忽略 `NaN` 值。" @@ -6465,12 +6351,12 @@ msgstr "计算最大值的维度。默认值是 -1,对应于最后一个维度 #: ../../../src/evox/utils/jit_fix_operator.py:186 msgid "" -"A named tuple with two fields:values (torch.Tensor): A tensor containing " -"the maximum values computed along the specified dimension, ignoring NaN " -"values. indices (torch.Tensor): A tensor containing the indices of the " -"maximum values along the specified dimension.The returned tensors values " -"and indices will have the same shape as the input tensor, except for the " -"dimension(s) over which the operation was performed." +"A named tuple with two fields:values (torch.Tensor): A tensor containing the" +" maximum values computed along the specified dimension, ignoring NaN values." +" indices (torch.Tensor): A tensor containing the indices of the maximum " +"values along the specified dimension.The returned tensors values and indices" +" will have the same shape as the input tensor, except for the dimension(s) " +"over which the operation was performed." msgstr "" "一个命名元组,包含两个字段:values (torch.Tensor):一个张量,包含沿指定维度计算的最大值,忽略 NaN 值。indices " "(torch.Tensor):一个张量,包含沿指定维度的最大值的索引。返回的张量 values 和 indices " @@ -6478,27 +6364,26 @@ msgstr "" #: ../../../src/evox/utils/jit_fix_operator.py:187 msgid "" -"`values` (`torch.Tensor`): A tensor containing the maximum values " -"computed along the specified dimension, ignoring `NaN` values." +"`values` (`torch.Tensor`): A tensor containing the maximum values computed " +"along the specified dimension, ignoring `NaN` values." msgstr "`values` (`torch.Tensor`): 一个张量,包含沿指定维度计算的最大值,忽略 `NaN` 值。" #: ../../../src/evox/utils/jit_fix_operator.py:189 msgid "" -"`indices` (`torch.Tensor`): A tensor containing the indices of the " -"maximum values along the specified dimension." +"`indices` (`torch.Tensor`): A tensor containing the indices of the maximum " +"values along the specified dimension." msgstr "`indices` (`torch.Tensor`): 一个张量,包含沿指定维度的最大值的索引。" #: ../../../src/evox/utils/jit_fix_operator.py:202 msgid "" -"`NaN` values are ignored by replacing them with `-infinity` before " -"computing the maximum." +"`NaN` values are ignored by replacing them with `-infinity` before computing" +" the maximum." msgstr "在计算最大值之前,通过将 `NaN` 值替换为 `-infinity` 来忽略它们。" #: ../../../src/evox/utils/jit_fix_operator.py:203 msgid "" -"If all values along a dimension are `NaN`, the result will be `-infinity`" -" for that dimension, and the index will be returned as the first valid " -"index." +"If all values along a dimension are `NaN`, the result will be `-infinity` " +"for that dimension, and the index will be returned as the first valid index." msgstr "如果一个维度上的所有值都是`NaN`,那么该维度的结果将是`-infinity`,并且索引将返回为第一个有效索引。" #: ../../source/apidocs/evox/evox.utils.parameters_and_vector.md:1 @@ -6507,28 +6392,25 @@ msgstr "{py:mod}`evox.utils.parameters_and_vector`" #: ../../source/apidocs/evox/evox.utils.parameters_and_vector.md:18 msgid "" -"{py:obj}`ParamsAndVector " -"`" +"{py:obj}`ParamsAndVector `" msgstr "" -"{py:obj}`ParamsAndVector " -"`" +"{py:obj}`ParamsAndVector `" #: ../../../src/evox/utils/parameters_and_vector.py:20 #: ../../../src/evox/utils/parameters_and_vector.py:33 msgid "" -"The class to convert (batched) parameters dictionary to vector(s) and " -"vice versa." +"The class to convert (batched) parameters dictionary to vector(s) and vice " +"versa." msgstr "将(批处理)参数字典转换为向量的类,反之亦然。" #: ../../../src/evox/utils/parameters_and_vector.py:39 -#, fuzzy msgid "Initialize the ParamsAndVector instance." -msgstr "为问题初始化设置。" +msgstr "初始化 ParamsAndVector 实例。" #: ../../../src/evox/utils/parameters_and_vector.py:41 msgid "" -"A PyTorch model whose parameters will be used to initialize the parameter" -" and vector conversion attributes. Must be an initialized PyTorch model." +"A PyTorch model whose parameters will be used to initialize the parameter " +"and vector conversion attributes. Must be an initialized PyTorch model." msgstr "一个 PyTorch 模型,其参数将用于初始化参数和向量转换属性。必须是已初始化的 PyTorch 模型。" #: ../../../src/evox/utils/parameters_and_vector.py:46 @@ -6544,14 +6426,13 @@ msgid "The output vector obtained by concatenating the flattened parameters." msgstr "通过连接展平的参数获得的输出向量。" #: ../../../src/evox/utils/parameters_and_vector.py:54 -#, fuzzy msgid "Convert a batched parameters dictionary to a batch of vectors." -msgstr "`batched_to_vector`可以将一批树状结构转换为一批向量。" +msgstr "将批量参数字典转换为向量的批量。" #: ../../../src/evox/utils/parameters_and_vector.py:56 msgid "" -"The input dictionary values must be batched parameters, i.e., they must " -"have the same shape at the first dimension." +"The input dictionary values must be batched parameters, i.e., they must have" +" the same shape at the first dimension." msgstr "输入字典的值必须是批处理参数,即它们在第一维度上必须具有相同的形状。" #: ../../../src/evox/utils/parameters_and_vector.py:58 @@ -6566,9 +6447,8 @@ msgid "" msgstr "通过连接展平的批处理参数获得的输出向量。输出向量的第一个维度对应于批处理大小。" #: ../../../src/evox/utils/parameters_and_vector.py:62 -#, fuzzy msgid "Convert a vector back to a parameters dictionary." -msgstr "`to_tree` 可以把向量转化回树的形式。" +msgstr "将向量转换回参数字典。" #: ../../../src/evox/utils/parameters_and_vector.py:64 msgid "The input vector representing flattened model parameters." @@ -6599,8 +6479,7 @@ msgid "" "The forward function for the `ParamsAndVector` module is an alias of " "`batched_to_params` to cope with `StdWorkflow`." msgstr "" -"`ParamsAndVector` 模块的 forward 函数是 `batched_to_params` 的别名,用于应对 " -"`StdWorkflow" +"`ParamsAndVector` 模块的 forward 函数是 `batched_to_params` 的别名,用于应对 `StdWorkflow" #: ../../source/apidocs/evox/evox.vis_tools.md:1 msgid "{py:mod}`evox.vis_tools`" @@ -6616,13 +6495,14 @@ msgstr "此模块帮助将数据序列化为EvoXVision存储格式(exv)。" #: ../../../src/evox/vis_tools/exv.py:13 msgid "" -"The numbers are stored in little-endian format. The metadata is a JSON " -"utf-8 encoded string, which contains the schema of the binary data. The " -"format of the metadata is as follows:" +"The numbers are stored in little-endian format. The metadata is a JSON utf-8" +" encoded string, which contains the schema of the binary data. The format of" +" the metadata is as follows:" msgstr "数字以小端格式存储。元数据是一个 JSON utf-8 编码的字符串,其中包含二进制数据的模式。元数据的格式如下:" #: ../../../src/evox/vis_tools/exv.py:49 -msgid "where represents the data type of the field, available types are:" +msgid "" +"where represents the data type of the field, available types are:" msgstr "在这里, 代表字段的数据类型,可用的类型有:" #: ../../../src/evox/vis_tools/exv.py:50 @@ -6639,13 +6519,12 @@ msgstr "\"f16\", \"f32\", \"f64\" 大小和偏移量以字节为单位。" #: ../../../src/evox/vis_tools/exv.py:56 msgid "" -"The magic number is used to identify the file format. 0x65787631 is the " -"byte code for \"exv1\". The binary data blob is a sequence of binary data" -" chunks. In EvoX, the algorithm is allowed to have a different behavior " -"in the first iteration (initialization phase), which can have a different" -" chunk size than the rest of the iterations. Therefore it contains two " -"different schemas for the initial iteration and the rest of the " -"iterations." +"The magic number is used to identify the file format. 0x65787631 is the byte" +" code for \"exv1\". The binary data blob is a sequence of binary data " +"chunks. In EvoX, the algorithm is allowed to have a different behavior in " +"the first iteration (initialization phase), which can have a different chunk" +" size than the rest of the iterations. Therefore it contains two different " +"schemas for the initial iteration and the rest of the iterations." msgstr "" "魔术数字用于识别文件格式。0x65787631 是 \"exv1\" 的字节码。二进制数据块是二进制数据块的序列。在 EvoX " "中,算法允许在第一次迭代(初始化阶段)中具有不同的行为,这可能与其余迭代的块大小不同。因此,它包含了初始迭代和其余迭代的两种不同模式。" @@ -6656,11 +6535,11 @@ msgstr "{py:obj}`EvoXVisionAdapter `" #: ../../../src/evox/vis_tools/exv.py:20 ../../../src/evox/vis_tools/exv.py:61 msgid "" -"EvoXVisionAdapter is a class that streams evolutionary optimization data " -"to an exv file. The exv file format is a binary format that created " -"specifically for the evolutionary optimization data. The format is " -"designed to be efficient for both stream reading and writing data, while " -"being able to randomly access data at any iteration." +"EvoXVisionAdapter is a class that streams evolutionary optimization data to " +"an exv file. The exv file format is a binary format that created " +"specifically for the evolutionary optimization data. The format is designed " +"to be efficient for both stream reading and writing data, while being able " +"to randomly access data at any iteration." msgstr "" "EvoXVisionAdapter 是一个类,用于将演化优化数据流式传输到 exv 文件。exv " "文件格式是一种专门为演化优化数据创建的二进制格式。该格式设计为在流式读取和写入数据时都能高效运行,同时能够在任何迭代中随机访问数据。" @@ -6675,27 +6554,27 @@ msgstr "{py:obj}`new_exv_metadata `" #: ../../../src/evox/vis_tools/exv.py:36 ../../../src/evox/vis_tools/exv.py:53 msgid "" -"Takes the input of the populaton and fitness from the first two " -"iterations, and returns the schema for exv file format." +"Takes the input of the populaton and fitness from the first two iterations, " +"and returns the schema for exv file format." msgstr "接收前两次迭代的种群和适应度输入,并返回 exv 文件格式的模式。" #: ../../../src/evox/vis_tools/exv.py:67 msgid "" -"Create a new EvoXVisionAdapter instance, which writes data to an exv " -"file. To automatically inference the data schema, the EvoXVisionAdapter " -"requires 2 iterations of data, therefore it will only start to write data" -" after the 2 iterations of the optimization loop are completed." -msgstr "创建一个新的EvoXVisionAdapter实例,该实例将数据写入exv文件。为了自动推断数据模式,EvoXVisionAdapter需要2次数据迭代,因此它将在优化循环的2次迭代完成后才开始写入数据。" +"Create a new EvoXVisionAdapter instance, which writes data to an exv file. " +"To automatically inference the data schema, the EvoXVisionAdapter requires 2" +" iterations of data, therefore it will only start to write data after the 2 " +"iterations of the optimization loop are completed." +msgstr "" +"创建一个新的EvoXVisionAdapter实例,该实例将数据写入exv文件。为了自动推断数据模式,EvoXVisionAdapter需要2次数据迭代,因此它将在优化循环的2次迭代完成后才开始写入数据。" #: ../../../src/evox/vis_tools/exv.py:71 -#, fuzzy msgid "The path to the exv file" -msgstr "到状态保存位置的路径" +msgstr "通向exv文件的路径" #: ../../../src/evox/vis_tools/exv.py:72 msgid "" -"The buffer size to use for file operations, passed directly to the open()" -" function. The default is 0, which disables buffering (unbuffered mode)." +"The buffer size to use for file operations, passed directly to the open() " +"function. The default is 0, which disables buffering (unbuffered mode)." msgstr "用于文件操作的缓冲区大小,直接传递给 `open()` 函数。默认值为 0,表示禁用缓冲(无缓冲模式)。" #: ../../../src/evox/vis_tools/exv.py:98 @@ -6723,9 +6602,9 @@ msgstr "{py:obj}`plot_dec_space `" #: ../../../src/evox/vis_tools/plot.py:20 #: ../../../src/evox/vis_tools/plot.py:50 msgid "" -"A Built-in plot function for visualizing the population of single-" -"objective algorithm. Use plotly internally, so you need to install plotly" -" to use this function." +"A Built-in plot function for visualizing the population of single-objective " +"algorithm. Use plotly internally, so you need to install plotly to use this " +"function." msgstr "内置绘图函数用于可视化单目标算法的种群。内部使用plotly,因此需要安装plotly才能使用此函数。" #: ../../source/apidocs/evox/evox.vis_tools.plot.md:22 @@ -6798,7 +6677,8 @@ msgid "" msgstr "如果提供了问题,我们将绘制该问题的适应度景观。" #: ../../../src/evox/vis_tools/plot.py:55 -msgid "A list of arrays, each array represents the population of one generation." +msgid "" +"A list of arrays, each array represents the population of one generation." msgstr "一个数组列表,每个数组代表一代的种群。" #: ../../../src/evox/vis_tools/plot.py:56 @@ -6819,8 +6699,8 @@ msgstr "A plotly figure." #: ../../../src/evox/vis_tools/plot.py:80 #: ../../../src/evox/vis_tools/plot.py:87 msgid "" -"A list of arrays, each array represents the fitness values of the " -"population of one generation." +"A list of arrays, each array represents the fitness values of the population" +" of one generation." msgstr "一组数组,每个数组代表一代种群的适应度值。" #: ../../../src/evox/vis_tools/plot.py:60 @@ -6829,15 +6709,14 @@ msgstr "是否显示适应度值随世代变化的动画。" #: ../../../src/evox/vis_tools/plot.py:81 #: ../../../src/evox/vis_tools/plot.py:89 -#, fuzzy msgid "The Pareto front of the problem. Optional." -msgstr "这个问题的完整的维度。" +msgstr "问题的 Pareto 前沿。可选。" #: ../../../src/evox/vis_tools/plot.py:82 #: ../../../src/evox/vis_tools/plot.py:88 msgid "" -"Whether to sort the points in the plot. This will only affect the " -"animation behavior." +"Whether to sort the points in the plot. This will only affect the animation " +"behavior." msgstr "是否对图中的点进行排序。这只会影响动画行为。" #: ../../source/apidocs/evox/evox.workflows.md:1 @@ -6864,25 +6743,24 @@ msgstr "{py:obj}`EvalMonitor `" #: ../../../src/evox/workflows/eval_monitor.py:33 msgid "" "Evaluation monitor. Used for both single-objective and multi-objective " -"workflow. Hooked around the evaluation process, can monitor the " -"offspring, their corresponding fitness and keep track of the evaluation " -"count. Moreover, it can also record the best solution or the pareto front" -" on-the-fly." -msgstr "评估监控器被用于单目标和多目标工作流。它与评估流程挂钩,可以监控子代及其相应的适应度并对评估计数进行跟踪。此外,它还能即时记录最优解或帕累托前沿。" +"workflow. Hooked around the evaluation process, can monitor the offspring, " +"their corresponding fitness and keep track of the evaluation count. " +"Moreover, it can also record the best solution or the pareto front on-the-" +"fly." +msgstr "" +"评估监控器被用于单目标和多目标工作流。它与评估流程挂钩,可以监控子代及其相应的适应度并对评估计数进行跟踪。此外,它还能即时记录最优解或帕累托前沿。" #: ../../source/apidocs/evox/evox.workflows.eval_monitor.md:30 msgid "Bases: {py:obj}`evox.core.Monitor`" msgstr "Bases: {py:obj}`evox.core.Monitor`" #: ../../../src/evox/workflows/eval_monitor.py:39 -#, fuzzy msgid "Initialize the monitor." -msgstr "初始化" +msgstr "初始化监视器。" #: ../../../src/evox/workflows/eval_monitor.py:41 -#, fuzzy msgid "Whether the optimization is multi-objective. Defaults to False." -msgstr "是否是多目标优化。默认为False。" +msgstr "是否为多目标优化。默认值为 False。" #: ../../../src/evox/workflows/eval_monitor.py:42 msgid "" @@ -6891,51 +6769,44 @@ msgid "" msgstr "是否记录适应度值的完整历史。默认为True。将其设置为FALSE可能会减少内存使用。" #: ../../../src/evox/workflows/eval_monitor.py:43 -#, fuzzy msgid "" -"Whether to record the full history of solutions. Default to False. " -"Setting it to True may increase memory usage." -msgstr "是否记录适应度值的完整历史。默认为True。将其设置为FALSE可能会减少内存使用。" +"Whether to record the full history of solutions. Default to False. Setting " +"it to True may increase memory usage." +msgstr "是否记录完整的解的历史。默认为 False。将其设置为 True 可能会增加内存使用量。" #: ../../../src/evox/workflows/eval_monitor.py:44 msgid "" -"Only affect Single-objective optimization. The number of elite solutions " -"to record. Default to 1, which will record the best individual." +"Only affect Single-objective optimization. The number of elite solutions to " +"record. Default to 1, which will record the best individual." msgstr "只影响单目标优化。要记录的精英解决方案的数量。默认为 1,将记录最佳个人。" #: ../../../src/evox/workflows/eval_monitor.py:45 -#, fuzzy msgid "The device of the monitor. Defaults to None." -msgstr "状态之中对应种群变量的变量名。默认是“population”。" +msgstr "监视器的设备。默认值为 None。" #: ../../../src/evox/workflows/eval_monitor.py:61 -#, fuzzy msgid "Get the fitness values from the latest iteration." -msgstr "评估给定候选解的适应度。" +msgstr "从最新迭代中获取适应度值。" #: ../../../src/evox/workflows/eval_monitor.py:69 msgid "Get the solution from the latest iteration." msgstr "从最新的迭代中获取解决方案。" #: ../../../src/evox/workflows/eval_monitor.py:77 -#, fuzzy msgid "Get the topk fitness values so far." -msgstr "获取当前的最优适应度值。" +msgstr "获取当前前k个适应度值。" #: ../../../src/evox/workflows/eval_monitor.py:85 -#, fuzzy msgid "Get the topk solutions so far." -msgstr "获取当前的最优适应度值。" +msgstr "获取当前最优的前k个解。" #: ../../../src/evox/workflows/eval_monitor.py:93 -#, fuzzy msgid "Get the best solution so far." -msgstr "获取当前的最优适应度值。" +msgstr "获取迄今为止的最佳解决方案。" #: ../../../src/evox/workflows/eval_monitor.py:101 -#, fuzzy msgid "Get the best fitness value so far." -msgstr "获取当前的最优适应度值。" +msgstr "获取当前最佳适应度值。" #: ../../../src/evox/workflows/eval_monitor.py:109 msgid "Get the full history of fitness values." @@ -6959,9 +6830,8 @@ msgstr "{py:obj}`StdWorkflow `" #: ../../../src/evox/workflows/std_workflow.py:22 #: ../../../src/evox/workflows/std_workflow.py:50 -#, fuzzy msgid "The standard workflow." -msgstr "标准工作流" +msgstr "标准工作流。" #: ../../source/apidocs/evox/evox.workflows.std_workflow.md:47 msgid "Bases: {py:obj}`evox.core.Workflow`" @@ -6974,50 +6844,47 @@ msgstr "使用静态参数初始化标准工作流。" #: ../../../src/evox/workflows/std_workflow.py:58 msgid "" "The optimization direction, can only be \"min\" or \"max\". Defaults to " -"\"min\". If \"max\", the fitness will be negated prior to " -"fitness_transform and monitor." +"\"min\". If \"max\", the fitness will be negated prior to fitness_transform " +"and monitor." msgstr "" -"优化方向只能是“min”或“max”。默认为“min”。如果是“max”,适应度将在 `fitness_transform` 和 " -"`monitor` 之前取反。" +"优化方向只能是“min”或“max”。默认为“min”。如果是“max”,适应度将在 `fitness_transform` 和 `monitor` " +"之前取反。" #: ../../../src/evox/workflows/std_workflow.py:63 msgid "" -"Setup the module with submodule initialization. Since all of these " -"arguments are mutable modules to be added as submodules, they are placed " -"here instead of `__init__` and thus `setup` MUST be invoked after " -"`__init__`." +"Setup the module with submodule initialization. Since all of these arguments" +" are mutable modules to be added as submodules, they are placed here instead" +" of `__init__` and thus `setup` MUST be invoked after `__init__`." msgstr "" -"将模块设置为子模块初始化。由于所有这些参数都是可变模块,将作为子模块添加,因此它们被放置在这里而不是 `__init__` 中,因此 " -"`setup` 必须在 `__init__` 之后调用。" +"将模块设置为子模块初始化。由于所有这些参数都是可变模块,将作为子模块添加,因此它们被放置在这里而不是 `__init__` 中,因此 `setup` " +"必须在 `__init__` 之后调用。" #: ../../../src/evox/workflows/std_workflow.py:65 -#, fuzzy msgid "The algorithm to be used in the workflow." -msgstr "监视器可以插入到工作流中。" +msgstr "在工作流中要使用的算法。" #: ../../../src/evox/workflows/std_workflow.py:66 -#, fuzzy msgid "The problem to be used in the workflow." -msgstr "监视器可以插入到工作流中。" +msgstr "在工作流中要使用的问题。" #: ../../../src/evox/workflows/std_workflow.py:67 msgid "" -"The monitors to be used in the workflow. Defaults to None. Notice: " -"usually, monitors can only be used when using JIT script mode." +"The monitors to be used in the workflow. Defaults to None. Notice: usually, " +"monitors can only be used when using JIT script mode." msgstr "在工作流中使用的监视器。默认为 None。注意:通常情况下,监视器只能在使用 JIT script 模式时使用。" #: ../../../src/evox/workflows/std_workflow.py:68 msgid "" -"The solution transformation function. MUST be JIT-compatible " -"module/function for JIT trace mode or a plain module for JIT script mode " -"(default mode). Defaults to None." +"The solution transformation function. MUST be JIT-compatible module/function" +" for JIT trace mode or a plain module for JIT script mode (default mode). " +"Defaults to None." msgstr "解决方案转换函数。必须是兼容JIT的模块/函数,用于JIT跟踪模式,或者是JIT脚本模式(默认模式)的普通模块。默认为None。" #: ../../../src/evox/workflows/std_workflow.py:69 msgid "" -"The fitness transformation function. MUST be JIT-compatible " -"module/function for JIT trace mode or a plain module for JIT script mode " -"(default mode). Defaults to None." +"The fitness transformation function. MUST be JIT-compatible module/function " +"for JIT trace mode or a plain module for JIT script mode (default mode). " +"Defaults to None." msgstr "适应度转换函数。必须是与JIT兼容的模块/函数,用于JIT追踪模式,或者是用于JIT脚本模式(默认模式)的普通模块。默认值为None。" #: ../../../src/evox/workflows/std_workflow.py:70 @@ -7026,20 +6893,20 @@ msgstr "工作流的设备。默认为 None。" #: ../../../src/evox/workflows/std_workflow.py:71 msgid "" -"The arguments to be passed to algorithm.setup(**kwargs). If not provided," -" the algorithm.setup() will not be invoked." +"The arguments to be passed to algorithm.setup(**kwargs). If not provided, " +"the algorithm.setup() will not be invoked." msgstr "要传递给 `algorithm.setup(**kwargs)` 的参数。如果未提供,则不会调用 `algorithm.setup()" #: ../../../src/evox/workflows/std_workflow.py:72 msgid "" -"The arguments to be passed to problem.setup(**kwargs). If not provided, " -"the problem.setup() will not be invoked." +"The arguments to be passed to problem.setup(**kwargs). If not provided, the " +"problem.setup() will not be invoked." msgstr "要传递给 `problem.setup(**kwargs)` 的参数。如果未提供,则不会调用 `problem.setup()" #: ../../../src/evox/workflows/std_workflow.py:73 msgid "" -"The arguments to be passed to monitor.setup(**kwargs). If not provided, " -"the monitor.setup() will not be invoked." +"The arguments to be passed to monitor.setup(**kwargs). If not provided, the " +"monitor.setup() will not be invoked." msgstr "要传递给 `monitor.setup(**kwargs)` 的参数。如果未提供,则不会调用 `monitor.setup()" #: ../../../src/evox/workflows/std_workflow.py:76 @@ -7049,7 +6916,8 @@ msgid "" msgstr "算法、问题和监视器将被原地转换到目标设备。" #: ../../../src/evox/workflows/std_workflow.py:113 -msgid "Perform a single optimization step using the algorithm and the problem." +msgid "" +"Perform a single optimization step using the algorithm and the problem." msgstr "使用算法和问题执行单个优化步骤。" #: ../../source/apidocs/index.rst:2 ../../source/index.md:15 @@ -7064,7 +6932,8 @@ msgstr "此页面包含自动生成的API参考文档[#f1]_。" msgid "" "Created with `sphinx-autodoc2 `_" -msgstr "使用 `sphinx-autodoc2 `_ 创建" +msgstr "" +"使用 `sphinx-autodoc2 `_ 创建" #: ../../source/example/brax.ipynb:10002 #: ../../source/guide/user/2-problems.ipynb:10002 @@ -7086,9 +6955,9 @@ msgstr "什么是Brax" #: ../../source/example/brax.ipynb:40004 #: ../../source/guide/user/2-problems.ipynb:50005 msgid "" -"Brax is a fast and fully differentiable physics engine used for research " -"and development of robotics, human perception, materials science, " -"reinforcement learning, and other simulation-heavy applications." +"Brax is a fast and fully differentiable physics engine used for research and" +" development of robotics, human perception, materials science, reinforcement" +" learning, and other simulation-heavy applications." msgstr "Brax 是一个快速且完全可微分的物理引擎,用于机器人学、人类感知、材料科学、强化学习和其他需要大量模拟的应用的研究和开发。" #: ../../source/example/brax.ipynb:40006 @@ -7157,45 +7026,38 @@ msgstr "初始化一个算法和一个问题" #: ../../source/example/brax.ipynb:110008 #: ../../source/guide/user/2-problems.ipynb:120008 msgid "" -"We initiate a [PSO algorithm](#evox.algorithms.pso_variants.pso.PSO), and" -" the problem is a [Brax " +"We initiate a [PSO algorithm](#evox.algorithms.pso_variants.pso.PSO), and " +"the problem is a [Brax " "problem](#evox.problems.neuroevolution.brax.BraxProblem) in \"swimmer\" " "environment." msgstr "" -"我们初始化一个[PSO 算法](#evox.algorithms.pso_variants.pso.PSO),问题是" -"[Brax 问题]" -"(#evox.problems.neuroevolution.brax.BraxProblem)中的“swimmer”环境。" +"我们初始化一个[PSO 算法](#evox.algorithms.pso_variants.pso.PSO),问题是[Brax " +"问题](#evox.problems.neuroevolution.brax.BraxProblem)中的“swimmer”环境。" #: ../../source/example/brax.ipynb:130002 #: ../../source/guide/user/2-problems.ipynb:140002 -#, fuzzy msgid "" -"In this case, we will be using 1000 steps for each episode, and the " -"average reward of 3 episodes will be returned as the fitness value." -msgstr "" -"现在创建基于 Brax 的问题,其中 `max_episode_length` 是每个回合的最大步数,`num_episodes` " -"是每次评估要运行的回合数。在此情况下,我们将每个回合设置为 1000 步,3 个回合的平均奖励将作为适应度值返回。" +"In this case, we will be using 1000 steps for each episode, and the average " +"reward of 3 episodes will be returned as the fitness value." +msgstr "在这种情况下,我们将为每个 episode 使用 1000 步,并返回 3 个 episode 的平均奖励作为适应度值。" #: ../../source/example/brax.ipynb:130004 #: ../../source/guide/user/1-start.ipynb:60004 #: ../../source/guide/user/2-problems.ipynb:140004 -#, fuzzy msgid "Set an monitor" -msgstr "评估监控器" +msgstr "设置一个monitor" #: ../../source/example/brax.ipynb:150002 #: ../../source/guide/user/1-start.ipynb:80002 #: ../../source/guide/user/2-problems.ipynb:160002 -#, fuzzy msgid "Initiate an workflow" -msgstr "分布式工作流程" +msgstr "启动一个工作流" #: ../../source/example/brax.ipynb:170002 #: ../../source/guide/user/1-start.ipynb:100002 #: ../../source/guide/user/2-problems.ipynb:180002 -#, fuzzy msgid "Run the workflow" -msgstr "分布式工作流程" +msgstr "运行工作流" #: ../../source/example/brax.ipynb:170004 #: ../../source/guide/user/2-problems.ipynb:180004 @@ -7204,18 +7066,17 @@ msgstr "运行工作流并见证魔法!" #: ../../source/example/brax.ipynb:170007 #: ../../source/guide/user/2-problems.ipynb:180007 -#, fuzzy msgid "" "The following block will take around 20 minute to run. The time may vary " "depending on your hardware." -msgstr "以下这段代码将需要大概10分钟来运行。具体的运行时间取决于您的硬件。" +msgstr "以下代码块大约需要运行20分钟。运行时间可能会因您的硬件而有所不同。" #: ../../source/example/brax.ipynb:220003 #: ../../source/guide/user/2-problems.ipynb:230003 msgid "" -"Normally, you only need `HTML(problem.visualize(best_params))` to render." -" The code above is a workaround to ensure the result is displayed " -"correctly on our website." +"Normally, you only need `HTML(problem.visualize(best_params))` to render. " +"The code above is a workaround to ensure the result is displayed correctly " +"on our website." msgstr "" "通常,您只需要使用 `HTML(problem.visualize(best_params))` " "来渲染。上面的代码是一种解决方法,以确保结果在我们的网站上正确显示。" @@ -7223,8 +7084,8 @@ msgstr "" #: ../../source/example/brax.ipynb:220004 #: ../../source/guide/user/2-problems.ipynb:230004 msgid "" -"The PSO algorithm is not specifically optimized for this type of task, so" -" performance limitations are expected. This example is for demonstration " +"The PSO algorithm is not specifically optimized for this type of task, so " +"performance limitations are expected. This example is for demonstration " "purposes." msgstr "PSO算法并未针对这种类型的任务进行特别优化,因此预期会有性能限制。此示例仅用于演示目的。" @@ -7234,7 +7095,6 @@ msgid "We hope you enjoy solving Brax problems with EvoX and have fun!" msgstr "我们希望您在使用EvoX解决Brax问题时能够享受乐趣!" #: ../../source/example/custom_algo_prob.ipynb:10002 -#, fuzzy msgid "Custom Algorithm and Problem" msgstr "自定义算法和问题" @@ -7242,10 +7102,11 @@ msgstr "自定义算法和问题" msgid "" "In this notebook, we will show how to use the " "[`Algorithm`](#evox.core.components.Algorithm) and " -"[`Problem`](#evox.core.components.Problem) to create a custom algorithm " -"and problem. Here we will give an example of **implementing a PSO " -"algorithm that solves the Sphere problem**." -msgstr "在这个笔记本中,我们将展示如何使用[`Algorithm`](#evox.core.components.Algorithm)和[`Problem`](#evox.core.components.Problem)来创建一个自定义算法和问题。这里我们将给出一个**实现解决Sphere问题的PSO算法**的例子。" +"[`Problem`](#evox.core.components.Problem) to create a custom algorithm and " +"problem. Here we will give an example of **implementing a PSO algorithm that" +" solves the Sphere problem**." +msgstr "" +"在这个笔记本中,我们将展示如何使用[`Algorithm`](#evox.core.components.Algorithm)和[`Problem`](#evox.core.components.Problem)来创建一个自定义算法和问题。这里我们将给出一个**实现解决Sphere问题的PSO算法**的例子。" #: ../../source/example/custom_algo_prob.ipynb:30002 #: ../../source/guide/developer/3-custom-alg-pro.md:99 @@ -7255,8 +7116,8 @@ msgstr "算法示例:PSO 算法" #: ../../source/example/custom_algo_prob.ipynb:30004 msgid "" "Particle Swarm Optimization (PSO) is a population-based metaheuristic " -"algorithm inspired by the social behavior of birds and fish. It is widely" -" used for solving continuous and discrete optimization problems." +"algorithm inspired by the social behavior of birds and fish. It is widely " +"used for solving continuous and discrete optimization problems." msgstr "粒子群优化(PSO)是一种基于种群的元启发式算法,灵感来自鸟类和鱼类的社会行为。它广泛用于解决连续和离散优化问题。" #: ../../source/example/custom_algo_prob.ipynb:30006 @@ -7297,35 +7158,30 @@ msgid "**Here is an implementation example of Sphere problem in EvoX:**" msgstr "**以下是EvoX中Sphere问题的实现示例:**" #: ../../source/example/custom_algo_prob.ipynb:70002 -#, fuzzy msgid "Use the algorithm to solve the problem" -msgstr "自定义算法和问题" +msgstr "使用该算法解决该问题" #: ../../source/example/custom_algo_prob.ipynb:70004 msgid "Initiate the algorithm, problem and monitor" msgstr "初始化algorithm,problem,monitor对象。" #: ../../source/example/custom_algo_prob.ipynb:90002 -#, fuzzy msgid "Initiate the workflow and run it" -msgstr "现在,重新初始化工作流,并再次执行它。" +msgstr "启动工作流并运行它" #: ../../source/example/index.md:1 msgid "EvoX's examples" msgstr "EvoX的样例" #: ../../source/example/moalg.ipynb:10002 -#, fuzzy msgid "Multi-Objective Algorithm" -msgstr "多目标" +msgstr "多目标算法" #: ../../source/example/moalg.ipynb:20002 -#, fuzzy msgid "" "In this notebook, we will use the Reference Vector Guided Evolutionary " -"Algorithm (**RVEA**) to find the optimal solutions of the **DTLZ2** " -"problem." -msgstr "在这个文档里,我们会使用粒子群算法来寻找Ackley测试问题的最小值。" +"Algorithm (**RVEA**) to find the optimal solutions of the **DTLZ2** problem." +msgstr "在这个笔记本中,我们将使用参考向量引导演化算法(**RVEA**)来寻找 **DTLZ2** 问题的最优解。" #: ../../source/example/moalg.ipynb:40002 msgid "(Optional) Use GPU to run the code" @@ -7333,8 +7189,8 @@ msgstr "(可选)使用GPU运行代码" #: ../../source/example/moalg.ipynb:40003 msgid "" -"We often prefer to run our code on a GPU for faster execution. However, " -"if a GPU is unavailable, running on a CPU is also acceptable." +"We often prefer to run our code on a GPU for faster execution. However, if a" +" GPU is unavailable, running on a CPU is also acceptable." msgstr "我们通常更喜欢在GPU上运行代码以加快执行速度。然而,如果没有GPU,使用CPU运行也是可以接受的。" #: ../../source/example/moalg.ipynb:60002 @@ -7354,8 +7210,8 @@ msgstr "" #: ../../source/example/moalg.ipynb:80002 msgid "" -"With this setup in place, we can now start to optimize. We set to let the" -" multi-objective algorithm optimize for 100 steps on this problem" +"With this setup in place, we can now start to optimize. We set to let the " +"multi-objective algorithm optimize for 100 steps on this problem" msgstr "在这个设置完成后,我们现在可以开始优化。我们设置让多目标算法在这个问题上优化100步。" #: ../../source/example/so-algorithm.ipynb:10002 @@ -7364,17 +7220,17 @@ msgstr "数值优化" #: ../../source/example/so-algorithm.ipynb:20002 msgid "" -"This notebook offers a step-by-step tutorial on utilizing EvoX to " -"optimize the Ackley function through the Particle Swarm Optimization " -"(PSO) algorithm. Both the PSO algorithm and the Ackley optimization " -"problem are integrated as built-in components within the EvoX framework." -msgstr "本笔记本提供了一个逐步教程,指导如何使用EvoX通过粒子群优化(PSO)算法来优化Ackley函数。PSO算法和Ackley优化问题都作为内置组件集成在EvoX框架中。" +"This notebook offers a step-by-step tutorial on utilizing EvoX to optimize " +"the Ackley function through the Particle Swarm Optimization (PSO) algorithm." +" Both the PSO algorithm and the Ackley optimization problem are integrated " +"as built-in components within the EvoX framework." +msgstr "" +"本笔记本提供了一个逐步教程,指导如何使用EvoX通过粒子群优化(PSO)算法来优化Ackley函数。PSO算法和Ackley优化问题都作为内置组件集成在EvoX框架中。" #: ../../source/example/so-algorithm.ipynb:20004 msgid "" -"First, we should import all necessary modules including `PSO` " -"(algorithm), `Ackley` (problem) and `StdWorkflow` & `EvalMonitor` " -"(workflow)." +"First, we should import all necessary modules including `PSO` (algorithm), " +"`Ackley` (problem) and `StdWorkflow` & `EvalMonitor` (workflow)." msgstr "" "首先,我们应该导入所有必要的模块,包括 `PSO`(算法)、`Ackley`(问题)以及 `StdWorkflow` 和 " "`EvalMonitor`(工作流)。" @@ -7391,8 +7247,8 @@ msgstr "`pop_size`: 粒子群(种群)的大小。" #: ../../source/example/so-algorithm.ipynb:40005 msgid "" -"`lb` and `ub`: The lower and upper bounds for each dimension in the " -"search space." +"`lb` and `ub`: The lower and upper bounds for each dimension in the search " +"space." msgstr "`lb` 和 `ub`: 搜索空间中每个维度的下限和上限。" #: ../../source/example/so-algorithm.ipynb:40006 @@ -7404,72 +7260,66 @@ msgid "" "Next, we choose the [`Ackley`](#evox.problems.numerical.basic.Ackley) " "function in EvoX' s numerical problem." msgstr "" -"接下来,我们选择 EvoX 的数值问题中的 [`Ackley`](#evox.problems.numerical.basic.Ackley) " -"函数。" +"接下来,我们选择 EvoX 的数值问题中的 [`Ackley`](#evox.problems.numerical.basic.Ackley) 函数。" #: ../../source/example/so-algorithm.ipynb:80002 msgid "" "We creat an [`EvalMonitor`](#evox.workflows.eval_monitor.EvalMonitor) " -"instance to track necessary information during the optimization " -"procedure." -msgstr "我们创建一个[`EvalMonitor`](#evox.workflows.eval_monitor.EvalMonitor)实例,以跟踪优化过程中的必要信息。" +"instance to track necessary information during the optimization procedure." +msgstr "" +"我们创建一个[`EvalMonitor`](#evox.workflows.eval_monitor.EvalMonitor)实例,以跟踪优化过程中的必要信息。" #: ../../source/example/so-algorithm.ipynb:100002 msgid "" -"The [`StdWorkflow`](#evox.workflows.std_workflow.StdWorkflow) class " -"provides a standardized process to integrate the algorithm, problem, and " -"monitor." +"The [`StdWorkflow`](#evox.workflows.std_workflow.StdWorkflow) class provides" +" a standardized process to integrate the algorithm, problem, and monitor." msgstr "" "[`StdWorkflow`](#evox.workflows.std_workflow.StdWorkflow) " "类提供了一个标准化的过程来整合算法、问题和监控器。" #: ../../source/example/so-algorithm.ipynb:120002 msgid "" -"Calling `setup()` initializes the components so that the workflow is " -"ready to perform optimization steps." +"Calling `setup()` initializes the components so that the workflow is ready " +"to perform optimization steps." msgstr "调用 `setup()` 初始化组件,使工作流准备好执行优化步骤。" #: ../../source/example/so-algorithm.ipynb:140002 msgid "" "We run the optimization for a certain number of iterations (100 in this " -"example). In each iteration, the `step()` method updates the PSO " -"algorithm, evaluates new candidate solutions on the Ackley function, and " -"tracks their fitness via the monitor." +"example). In each iteration, the `step()` method updates the PSO algorithm, " +"evaluates new candidate solutions on the Ackley function, and tracks their " +"fitness via the monitor." msgstr "" "我们运行优化过程一定次数的迭代(在这个例子中是100次)。在每次迭代中,`step()` " "方法更新PSO算法,在Ackley函数上评估新的候选解,并通过监视器跟踪它们的适应度。" #: ../../source/example/so-algorithm.ipynb:160002 msgid "" -"Finally, we retrieve the [`monitor`](#StdWorkflow.get_submodule) " -"submodule from the workflow to access the top solutions found so far " +"Finally, we retrieve the [`monitor`](#StdWorkflow.get_submodule) submodule " +"from the workflow to access the top solutions found so far " "(`topk_solutions`) and their corresponding objective values " -"(`topk_fitness`). We then print the best result and the associated " -"solution." +"(`topk_fitness`). We then print the best result and the associated solution." msgstr "" -"最后,我们从工作流中检索 [`monitor`](#StdWorkflow.get_submodule) 子模块,以访问迄今为止找到的最佳解决方案" -" (`topk_solutions`) 及其对应的目标值 (`topk_fitness`)。然后,我们打印出最佳结果及其相关的解决方案。" +"最后,我们从工作流中检索 [`monitor`](#StdWorkflow.get_submodule) 子模块,以访问迄今为止找到的最佳解决方案 " +"(`topk_solutions`) 及其对应的目标值 (`topk_fitness`)。然后,我们打印出最佳结果及其相关的解决方案。" #: ../../source/example/supervised-learning.ipynb:10002 -#, fuzzy msgid "Neuroevolution for machine learning" -msgstr "机器学习的神经进化" +msgstr "机器学习的神经演化" #: ../../source/example/supervised-learning.ipynb:20002 msgid "" "EvoX provides solutions for supervised learning tasks based on " "neuroevolution, with key modules including " "[`SupervisedLearningProblem`](#evox.problems.neuroevolution.SupervisedLearningProblem)" -" and " -"[`ParamsAndVector`](#evox.utils.parameters_and_vector.ParamsAndVector). " -"Taking the MNIST classification task as an example, this section " -"illustrates the neuroevolution process for supervised learning by " -"adopting the modules of EvoX." +" and [`ParamsAndVector`](#evox.utils.parameters_and_vector.ParamsAndVector)." +" Taking the MNIST classification task as an example, this section " +"illustrates the neuroevolution process for supervised learning by adopting " +"the modules of EvoX." msgstr "" "EvoX 提供基于神经演化的监督学习任务解决方案,主要模块包括 " "[`SupervisedLearningProblem`](#evox.problems.neuroevolution.SupervisedLearningProblem)" -" 和 " -"[`ParamsAndVector`](#evox.utils.parameters_and_vector.ParamsAndVector)。以 " +" 和 [`ParamsAndVector`](#evox.utils.parameters_and_vector.ParamsAndVector)。以 " "MNIST 分类任务为例,本节通过采用 EvoX 的模块来说明监督学习的神经演化过程。" #: ../../source/example/supervised-learning.ipynb:30002 @@ -7490,48 +7340,49 @@ msgstr "在这里,为了确保结果的可重复性,可以选择性地设置 #: ../../source/example/supervised-learning.ipynb:60002 msgid "" -"In this step, a sample convolutional neural network (CNN) model is " -"directly defined upon the PyTorch framework and then loaded onto the " -"device." +"In this step, a sample convolutional neural network (CNN) model is directly " +"defined upon the PyTorch framework and then loaded onto the device." msgstr "在此步骤中,样本卷积神经网络(CNN)模型直接基于PyTorch框架定义,然后加载到设备上。" #: ../../source/example/supervised-learning.ipynb:80002 msgid "" -"Setting dataset implies the selection of the task. The data loader now " -"needs to be initialized based on PyTorch's built-in support. Here, the " -"package `torchvision` must be installed in advance depending on your " -"PyTorch version, if it is not already available." -msgstr "设置数据集意味着选择任务。现在需要基于PyTorch的内置支持初始化数据加载器。在这里,根据您的PyTorch版本,必须预先安装`torchvision`包,如果尚未安装的话。" +"Setting dataset implies the selection of the task. The data loader now needs" +" to be initialized based on PyTorch's built-in support. Here, the package " +"`torchvision` must be installed in advance depending on your PyTorch " +"version, if it is not already available." +msgstr "" +"设置数据集意味着选择任务。现在需要基于PyTorch的内置支持初始化数据加载器。在这里,根据您的PyTorch版本,必须预先安装`torchvision`包,如果尚未安装的话。" #: ../../source/example/supervised-learning.ipynb:80005 msgid "" "In case the MNIST dataset is not already present in the `data_root` " -"directory, the `download=True` flag is set to ensure that the dataset " -"will be automatically downloaded. Therefore, the setup may take some time" -" during the first run." +"directory, the `download=True` flag is set to ensure that the dataset will " +"be automatically downloaded. Therefore, the setup may take some time during " +"the first run." msgstr "" "如果 `data_root` 目录中尚未存在 MNIST 数据集,则设置 `download=True` " "标志以确保数据集将被自动下载。因此,第一次运行时设置可能需要一些时间。" #: ../../source/example/supervised-learning.ipynb:100002 msgid "" -"To accelerate subsequent processes, all MNIST data are pre-loaded for " -"faster execution. Below, three datasets are pre-loaded for different " -"stages – gradient descent training, neuroevolution fine-tuning, and" -" model testing." -msgstr "为了加速后续过程,所有MNIST数据都被预加载以实现更快的执行。下面,三个数据集被预加载用于不同阶段——梯度下降训练、神经演化微调和模型测试。" +"To accelerate subsequent processes, all MNIST data are pre-loaded for faster" +" execution. Below, three datasets are pre-loaded for different stages " +"– gradient descent training, neuroevolution fine-tuning, and model " +"testing." +msgstr "" +"为了加速后续过程,所有MNIST数据都被预加载以实现更快的执行。下面,三个数据集被预加载用于不同阶段——梯度下降训练、神经演化微调和模型测试。" #: ../../source/example/supervised-learning.ipynb:100004 msgid "" -"It should be noted that this is an optional operation that trades space " -"for time. Its adoption depends on your GPU capacity, and it will always " -"take some time to prepare." +"It should be noted that this is an optional operation that trades space for " +"time. Its adoption depends on your GPU capacity, and it will always take " +"some time to prepare." msgstr "需要注意的是,这是一个可选操作,用空间换取时间。其采用取决于您的GPU容量,并且总是需要一些时间来准备。" #: ../../source/example/supervised-learning.ipynb:120002 msgid "" -"Here, a `model_test` function is pre-defined to simplify the evaluation " -"of the model's prediction accuracy on the test dataset during subsequent " +"Here, a `model_test` function is pre-defined to simplify the evaluation of " +"the model's prediction accuracy on the test dataset during subsequent " "stages." msgstr "在这里,预先定义了一个 `model_test` 函数,以简化在后续阶段对模型在测试数据集上预测准确性的评估。" @@ -7542,14 +7393,14 @@ msgstr "梯度下降训练(可选)" #: ../../source/example/supervised-learning.ipynb:150002 msgid "" "The gradient descent based model training is performed first. In this " -"example, this training is adopted to initialize the model, preparing it " -"for subsequent neuroevolution processes." +"example, this training is adopted to initialize the model, preparing it for " +"subsequent neuroevolution processes." msgstr "基于梯度下降的模型训练首先进行。在这个例子中,这种训练用于初始化模型,为后续的神经演化过程做准备。" #: ../../source/example/supervised-learning.ipynb:150004 msgid "" -"The model training process in PyTorch is compatible with neuroevolution " -"in EvoX, making it convenient to reuse the same model implementation for " +"The model training process in PyTorch is compatible with neuroevolution in " +"EvoX, making it convenient to reuse the same model implementation for " "further steps." msgstr "在EvoX中,PyTorch的模型训练过程与神经演化兼容,使得在后续步骤中重用相同的模型实现变得方便。" @@ -7559,8 +7410,8 @@ msgstr "神经演化微调" #: ../../source/example/supervised-learning.ipynb:190002 msgid "" -"Based on the pre-trained model from the previous gradient descent " -"process, neuroevolution is progressively applied to fine-tune the model." +"Based on the pre-trained model from the previous gradient descent process, " +"neuroevolution is progressively applied to fine-tune the model." msgstr "基于之前梯度下降过程中的预训练模型,神经演化逐步应用于微调模型。" #: ../../source/example/supervised-learning.ipynb:190004 @@ -7571,30 +7422,31 @@ msgid "" "vector, which serves as the initial center individual for the subsequent " "neuroevolution process." msgstr "" -"首先,[`ParamsAndVector`](#evox.utils.parameters_and_vector.ParamsAndVector)" -" 组件用于将预训练模型的权重展平为一个向量,该向量作为后续神经演化过程的初始中心个体。" +"首先,[`ParamsAndVector`](#evox.utils.parameters_and_vector.ParamsAndVector) " +"组件用于将预训练模型的权重展平为一个向量,该向量作为后续神经演化过程的初始中心个体。" #: ../../source/example/supervised-learning.ipynb:210002 msgid "" -"In case of algorithms specifically designed for neuroevolution, which can" -" directly accept a dictionary of batched parameters as input, the usage " -"of [`ParamsAndVector`](#evox.utils.parameters_and_vector.ParamsAndVector)" -" can be unnecessary." -msgstr "对于专门为神经演化设计的算法,它们可以直接接受批处理参数的字典作为输入,使用[`ParamsAndVector`](#evox.utils.parameters_and_vector.ParamsAndVector)可能是不必要的。" +"In case of algorithms specifically designed for neuroevolution, which can " +"directly accept a dictionary of batched parameters as input, the usage of " +"[`ParamsAndVector`](#evox.utils.parameters_and_vector.ParamsAndVector) can " +"be unnecessary." +msgstr "" +"对于专门为神经演化设计的算法,它们可以直接接受批处理参数的字典作为输入,使用[`ParamsAndVector`](#evox.utils.parameters_and_vector.ParamsAndVector)可能是不必要的。" #: ../../source/example/supervised-learning.ipynb:220002 msgid "" "Additionally, a sample criterion is defined. Here, both the loss and " -"accuracy of the individual model are selected and weighted to serve as " -"the fitness function in the neuroevolution process. This step is " -"customizable to suit the optimization direction." +"accuracy of the individual model are selected and weighted to serve as the " +"fitness function in the neuroevolution process. This step is customizable to" +" suit the optimization direction." msgstr "此外,定义了一个示例标准。在这里,个体模型的损失和准确性都被选择并加权,以作为神经演化过程中的适应度函数。此步骤可以自定义以适应优化方向。" #: ../../source/example/supervised-learning.ipynb:240002 msgid "" -"At the same time, similar to the gradient descent training and model " -"testing processes, the neuroevolution fine-tuning process is also " -"encapsulated into a function for convenient use in subsequent stages." +"At the same time, similar to the gradient descent training and model testing" +" processes, the neuroevolution fine-tuning process is also encapsulated into" +" a function for convenient use in subsequent stages." msgstr "同时,类似于梯度下降训练和模型测试过程,神经演化微调过程也被封装成一个函数,以便在后续阶段方便使用。" #: ../../source/example/supervised-learning.ipynb:260002 @@ -7603,20 +7455,21 @@ msgstr "种群基础的神经演化测试" #: ../../source/example/supervised-learning.ipynb:270002 msgid "" -"In this example, the population-based algorithm for neuroevolution is " -"tested first, using Particle Swarm Optimization " +"In this example, the population-based algorithm for neuroevolution is tested" +" first, using Particle Swarm Optimization " "([PSO](#evox.algorithms.pso_variants.PSO)) as a representation. The " -"configuration for neuroevolution is similar to that of other optimization" -" tasks – we need to define the problem, algorithm, monitor, and " -"workflow, along with their respective `setup()` functions to complete the" -" initialization." -msgstr "在这个例子中,基于种群的神经演化算法首先被测试,使用粒子群优化([PSO](#evox.algorithms.pso_variants.PSO))作为表示。神经演化的配置与其他优化任务类似——我们需要定义问题、算法、监控器和工作流,以及它们各自的`setup()`函数来完成初始化。" +"configuration for neuroevolution is similar to that of other optimization " +"tasks – we need to define the problem, algorithm, monitor, and " +"workflow, along with their respective `setup()` functions to complete the " +"initialization." +msgstr "" +"在这个例子中,基于种群的神经演化算法首先被测试,使用粒子群优化([PSO](#evox.algorithms.pso_variants.PSO))作为表示。神经演化的配置与其他优化任务类似——我们需要定义问题、算法、监控器和工作流,以及它们各自的`setup()`函数来完成初始化。" #: ../../source/example/supervised-learning.ipynb:270004 msgid "" "A key point to note here is that the population size (`POP_SIZE` in this " -"case) needs to be initialized in **both the problem and the algorithm** " -"to avoid potential errors." +"case) needs to be initialized in **both the problem and the algorithm** to " +"avoid potential errors." msgstr "需要注意的一个关键点是,种群大小(在这种情况下为`POP_SIZE`)需要在**问题和算法**中都进行初始化,以避免潜在的错误。" #: ../../source/example/supervised-learning.ipynb:310002 @@ -7628,35 +7481,34 @@ msgid "" "Next, the single-individual algorithm based neuroevolution is tested. " "Similar to the population-based case, we need to define the problem, " "algorithm, monitor, and workflow, and call their respective `setup()` " -"functions during initialization. In this case, a random search strategy " -"is selected as the algorithm." +"functions during initialization. In this case, a random search strategy is " +"selected as the algorithm." msgstr "" -"接下来,测试基于单个个体算法的神经演化。与基于种群的情况类似,我们需要定义问题、算法、监控器和工作流,并在初始化时调用它们各自的 " -"`setup()` 函数。在这种情况下,选择随机搜索策略作为算法。" +"接下来,测试基于单个个体算法的神经演化。与基于种群的情况类似,我们需要定义问题、算法、监控器和工作流,并在初始化时调用它们各自的 `setup()` " +"函数。在这种情况下,选择随机搜索策略作为算法。" #: ../../source/example/supervised-learning.ipynb:320004 msgid "" "A key point to note here is that " "[`SupervisedLearningProblem`](#evox.problems.neuroevolution.SupervisedLearningProblem)" " should be set with `pop_size=None`, and " -"[`EvalMonitor`](#evox.workflows.EvalMonitor) should have `topk=1`, as " -"only a single individual is being searched. A careful hyper-parameter " -"setup helps avoid unnecessary issues." +"[`EvalMonitor`](#evox.workflows.EvalMonitor) should have `topk=1`, as only a" +" single individual is being searched. A careful hyper-parameter setup helps " +"avoid unnecessary issues." msgstr "" "需要注意的一个关键点是,[`SupervisedLearningProblem`](#evox.problems.neuroevolution.SupervisedLearningProblem)" -" 应该设置为 `pop_size=None`,并且 [`EvalMonitor`](#evox.workflows.EvalMonitor) " -"应该设置为 `topk=1`,因为只搜索单个个体。仔细的超参数设置有助于避免不必要的问题。" +" 应该设置为 `pop_size=None`,并且 [`EvalMonitor`](#evox.workflows.EvalMonitor) 应该设置为" +" `topk=1`,因为只搜索单个个体。仔细的超参数设置有助于避免不必要的问题。" #: ../../source/guide/developer/1-modulebase.md:1 -#, fuzzy msgid "Working with Module in EvoX" -msgstr "在EvoX中使用State" +msgstr "在 EvoX 中使用模块" #: ../../source/guide/developer/1-modulebase.md:3 msgid "" -"A **module** is a fundamental concept in programming that refers to a " -"self-contained unit of code designed to perform a specific task or a set " -"of related tasks." +"A **module** is a fundamental concept in programming that refers to a self-" +"contained unit of code designed to perform a specific task or a set of " +"related tasks." msgstr "一个**模块**是编程中的一个基本概念,指的是一个自包含的代码单元,旨在执行特定任务或一组相关任务。" #: ../../source/guide/developer/1-modulebase.md:5 @@ -7672,9 +7524,10 @@ msgstr "模块介绍" #: ../../source/guide/developer/1-modulebase.md:9 msgid "" "In the [Quick Start Documentation](#/guide/user/1-start) of the [User " -"Guide](#/guide/user/index), we have mentioned the basic running process " -"in EvoX:" -msgstr "在[用户指南](#/guide/user/index)的[快速入门文档](#/guide/user/1-start)中,我们提到了EvoX的基本运行过程:" +"Guide](#/guide/user/index), we have mentioned the basic running process in " +"EvoX:" +msgstr "" +"在[用户指南](#/guide/user/index)的[快速入门文档](#/guide/user/1-start)中,我们提到了EvoX的基本运行过程:" #: ../../source/guide/developer/1-modulebase.md:13 msgid "This process requires four basic class in EvoX:" @@ -7690,7 +7543,7 @@ msgstr "[`Problem`](#evox.core.components.Problem)" #: ../../source/guide/developer/1-modulebase.md:17 msgid "[`Monitor`](evox.core.components.Monitor)" -msgstr "" +msgstr "[`Monitor`](evox.core.components.Monitor)" #: ../../source/guide/developer/1-modulebase.md:18 msgid "[`Workflow`](#evox.core.components.Workflow)" @@ -7701,17 +7554,16 @@ msgid "" "It is necessary to provide a unified module for them. In EvoX, the four " "classes are all inherited from the base module — " "[`ModuleBase`](#evox.core.module.ModuleBase)." -msgstr "有必要为它们提供一个统一的模块。在EvoX中,这四个类都继承自基础模块——[`ModuleBase`](#evox.core.module.ModuleBase)。" +msgstr "" +"有必要为它们提供一个统一的模块。在EvoX中,这四个类都继承自基础模块——[`ModuleBase`](#evox.core.module.ModuleBase)。" #: ../../source/guide/developer/1-modulebase.md:23 -#, fuzzy msgid "Module base" -msgstr "模块类" +msgstr "模块 base" #: ../../source/guide/developer/1-modulebase.md:28 -#, fuzzy msgid "ModuleBase class" -msgstr "模块类" +msgstr "ModuleBase 类" #: ../../source/guide/developer/1-modulebase.md:30 msgid "" @@ -7722,7 +7574,8 @@ msgstr "" "[`torch.nn.Module`](https://pytorch.org/docs/stable/generated/torch.nn.Module.html#)。" #: ../../source/guide/developer/1-modulebase.md:32 -msgid "There are many methods in this class, and some important methods are here:" +msgid "" +"There are many methods in this class, and some important methods are here:" msgstr "在这个类中有许多方法,这里是一些重要的方法:" #: ../../source/guide/developer/1-modulebase.md:23 @@ -7746,37 +7599,32 @@ msgstr "使用情况" #: ../../source/guide/developer/1-modulebase.md:23 #: ../../source/guide/developer/3-custom-alg-pro.md #: ../../source/guide/developer/3-custom-alg-pro.md:38 -#, fuzzy msgid "`__init__`" -msgstr "__init__" +msgstr "`__init__`" #: ../../source/guide/developer/1-modulebase.md:23 #: ../../source/guide/developer/3-custom-alg-pro.md #: ../../source/guide/developer/3-custom-alg-pro.md:38 -#, fuzzy msgid "`(self, ...)`" -msgstr "{python}`(self, ...)`" +msgstr "`(self, ...)`" #: ../../source/guide/developer/1-modulebase.md:23 -#, fuzzy msgid "Initialize the module." -msgstr "初始化这个模块和所有的子模块" +msgstr "初始化模块。" #: ../../source/guide/developer/1-modulebase.md:23 -#, fuzzy msgid "`setup`" -msgstr "设置" +msgstr "`设置`" #: ../../source/guide/developer/1-modulebase.md:23 #: ../../source/guide/developer/3-custom-alg-pro.md -#, fuzzy msgid "`(self, ...) -> self`" -msgstr "{python}`(self, ...)`" +msgstr "`(self, ...) -> self`" #: ../../source/guide/developer/1-modulebase.md:23 msgid "" -"Module initialization lines should be written in the overwritten method " -"of `setup` rather than `__init__`." +"Module initialization lines should be written in the overwritten method of " +"`setup` rather than `__init__`." msgstr "模块初始化行应写在 `setup` 的重写方法中,而不是 `__init__` 中。" #: ../../source/guide/developer/1-modulebase.md:23 @@ -7784,15 +7632,18 @@ msgid "`load_state_dict`" msgstr "`load_state_dict" #: ../../source/guide/developer/1-modulebase.md:23 -msgid "`(self, state_dict: Mapping[str, torch.Tensor], copy: bool = False, ...)`" -msgstr "`(self, state_dict: Mapping[str, torch.Tensor], copy: bool = False, ...)" +msgid "" +"`(self, state_dict: Mapping[str, torch.Tensor], copy: bool = False, ...)`" +msgstr "" +"`(self, state_dict: Mapping[str, torch.Tensor], copy: bool = False, ...)" #: ../../source/guide/developer/1-modulebase.md:23 msgid "" "Copy parameters and buffers from `state_dict` into this module and its " "descendants. It overwrites " "[`torch.nn.Module.load_state_dict`](https://pytorch.org/docs/stable/generated/torch.nn.Module.html#torch.nn.Module.load_state_dict)." -msgstr "将`state_dict`中的参数和缓冲区复制到此模块及其子模块中。它会覆盖[`torch.nn.Module.load_state_dict`](https://pytorch.org/docs/stable/generated/torch.nn.Module.html#torch.nn.Module.load_state_dict)。" +msgstr "" +"将`state_dict`中的参数和缓冲区复制到此模块及其子模块中。它会覆盖[`torch.nn.Module.load_state_dict`](https://pytorch.org/docs/stable/generated/torch.nn.Module.html#torch.nn.Module.load_state_dict)。" #: ../../source/guide/developer/1-modulebase.md:23 msgid "`add_mutable`" @@ -7801,19 +7652,20 @@ msgstr "`add_mutable" #: ../../source/guide/developer/1-modulebase.md:23 msgid "" "`(self, name: str, value: Union[torch.Tensor | nn.Module, " -"Sequence[torch.Tensor | nn.Module], Dict[str, torch.Tensor | nn.Module]])" -" -> None`" +"Sequence[torch.Tensor | nn.Module], Dict[str, torch.Tensor | nn.Module]]) ->" +" None`" msgstr "" "`(self, name: str, value: Union[torch.Tensor | nn.Module, " -"Sequence[torch.Tensor | nn.Module], Dict[str, torch.Tensor | nn.Module]])" -" -> None" +"Sequence[torch.Tensor | nn.Module], Dict[str, torch.Tensor | nn.Module]]) ->" +" None" #: ../../source/guide/developer/1-modulebase.md:41 msgid "Role of Module" -msgstr "" +msgstr "模块的作用" #: ../../source/guide/developer/1-modulebase.md:43 -msgid "In EvoX, the [`ModuleBase`](#evox.core.module.ModuleBase) could help to:" +msgid "" +"In EvoX, the [`ModuleBase`](#evox.core.module.ModuleBase) could help to:" msgstr "在 EvoX 中,[`ModuleBase`](#evox.core.module.ModuleBase) 可以帮助:" #: ../../source/guide/developer/1-modulebase.md:45 @@ -7821,7 +7673,8 @@ msgid "**Contain mutable values**" msgstr "**包含可变值**" #: ../../source/guide/developer/1-modulebase.md:47 -msgid "​\tThis module is an object-oriented one that can contain mutable values." +msgid "" +"​\tThis module is an object-oriented one that can contain mutable values." msgstr "该模块是一个面向对象的模块,可以包含可变值。" #: ../../source/guide/developer/1-modulebase.md:49 @@ -7840,23 +7693,22 @@ msgstr "**标准化初始化**:" #: ../../source/guide/developer/1-modulebase.md:55 msgid "" -"​\tBasically, predefined submodule(s) which will be ADDED to this module " -"and accessed later in member method(s) should be treated as \"non-static " +"​\tBasically, predefined submodule(s) which will be ADDED to this module and" +" accessed later in member method(s) should be treated as \"non-static " "members\", while any other member(s) should be treated as \"static " "members\"." msgstr "基本上,预定义的子模块将被添加到此模块中,并在成员方法中访问,应该被视为“非静态成员”,而其他任何成员都应该被视为“静态成员”。" #: ../../source/guide/developer/1-modulebase.md:57 msgid "" -"​\tThe module initialization for non-static members are recommended to be" -" written in the overwritten method of `setup` (or any other member " -"method) rather than `__init__`." +"​\tThe module initialization for non-static members are recommended to be " +"written in the overwritten method of `setup` (or any other member method) " +"rather than `__init__`." msgstr "建议将非静态成员的模块初始化写在重写的 `setup` 方法(或任何其他成员方法)中,而不是 `__init__` 中。" #: ../../source/guide/developer/1-modulebase.md:59 -#, fuzzy msgid "Usage of Module" -msgstr "这个模块的状态。" +msgstr "模块使用" #: ../../source/guide/developer/1-modulebase.md:61 msgid "" @@ -7865,9 +7717,8 @@ msgid "" msgstr "具体来说,在EvoX中使用[`ModuleBase`](#evox.core.module.ModuleBase)有一些规则:" #: ../../source/guide/developer/1-modulebase.md:63 -#, fuzzy msgid "Static methods" -msgstr "方法" +msgstr "静态方法" #: ../../source/guide/developer/1-modulebase.md:65 msgid "Static methods to be JIT shall be defined like:" @@ -7879,8 +7730,8 @@ msgstr "非静态方法" #: ../../source/guide/developer/1-modulebase.md:76 msgid "" -"If a method with python dynamic control flows like `if` were to be JIT, a" -" separated static method with `jit(..., trace=False)` or " +"If a method with python dynamic control flows like `if` were to be JIT, a " +"separated static method with `jit(..., trace=False)` or " "`torch.jit.script_if_tracing` shall be used:" msgstr "" "如果一个方法使用了像 `if` 这样的 Python 动态控制流并希望进行 JIT,则应使用一个单独的静态方法,并使用 `jit(..., " @@ -7895,8 +7746,8 @@ msgid "" "[`ModuleBase`](#evox.core.module.ModuleBase) is usually used with " "`jit_class` to automatically JIT all non-magic member methods:" msgstr "" -"[`ModuleBase`](#evox.core.module.ModuleBase) 通常与 `jit_class` 一起使用,以自动 JIT" -" 所有非魔法成员方法:" +"[`ModuleBase`](#evox.core.module.ModuleBase) 通常与 `jit_class` 一起使用,以自动 JIT " +"所有非魔法成员方法:" #: ../../source/guide/developer/1-modulebase.md:128 msgid "" @@ -7920,11 +7771,11 @@ msgstr "PyTorch中函数的基本优化支持" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:20004 msgid "" -"PyTorch provides fundamental optimization support for functions, " -"primarily through vectorizing map (vmap) operations and Just-In-Time " -"(JIT) compilation. These techniques enable efficient batch processing and" -" enhance execution performance, respectively. Introductions of these " -"optimizations are provided in the following sections." +"PyTorch provides fundamental optimization support for functions, primarily " +"through vectorizing map (vmap) operations and Just-In-Time (JIT) " +"compilation. These techniques enable efficient batch processing and enhance " +"execution performance, respectively. Introductions of these optimizations " +"are provided in the following sections." msgstr "" "PyTorch " "提供了对函数的基本优化支持,主要通过矢量化映射(vmap)操作和即时编译(JIT)实现。这些技术分别使得批处理更加高效并提升执行性能。关于这些优化的介绍将在以下部分提供。" @@ -7936,13 +7787,14 @@ msgstr "在 PyTorch 中通过矢量化映射支持批处理" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:30004 msgid "" "Vectorizing map, implemented in PyTorch as " -"[`torch.vmap`](https://pytorch.org/docs/stable/generated/torch.vmap.html)," -" is a powerful tool that takes a callable function and returns a batched " -"version of it. According to specified strategy, this new function " -"vectorizes the operations of the original one, which facilitates " -"efficient batch processing. In EvoX, for example, this feature plays a " -"crucial role in hyperparameter optimization (HPO)." -msgstr "在PyTorch中实现的向量化映射[`torch.vmap`](https://pytorch.org/docs/stable/generated/torch.vmap.html)是一个强大的工具,它接受一个可调用函数并返回其批处理版本。根据指定的策略,这个新函数对原始函数的操作进行向量化,从而促进高效的批处理。在EvoX中,例如,这一特性在超参数优化(HPO)中起着至关重要的作用。" +"[`torch.vmap`](https://pytorch.org/docs/stable/generated/torch.vmap.html), " +"is a powerful tool that takes a callable function and returns a batched " +"version of it. According to specified strategy, this new function vectorizes" +" the operations of the original one, which facilitates efficient batch " +"processing. In EvoX, for example, this feature plays a crucial role in " +"hyperparameter optimization (HPO)." +msgstr "" +"在PyTorch中实现的向量化映射[`torch.vmap`](https://pytorch.org/docs/stable/generated/torch.vmap.html)是一个强大的工具,它接受一个可调用函数并返回其批处理版本。根据指定的策略,这个新函数对原始函数的操作进行向量化,从而促进高效的批处理。在EvoX中,例如,这一特性在超参数优化(HPO)中起着至关重要的作用。" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:50002 msgid "Just-In-Time (JIT) Support in PyTorch" @@ -7954,8 +7806,8 @@ msgid "" "[`torch.jit.trace`](https://pytorch.org/docs/stable/generated/torch.jit.trace.html)" " and " "[`torch.jit.script`](https://pytorch.org/docs/stable/generated/torch.jit.script.html)" -" provide two distinct types of JIT tools, supporting function performance" -" optimization through tracing and scripting, respectively." +" provide two distinct types of JIT tools, supporting function performance " +"optimization through tracing and scripting, respectively." msgstr "" "在 PyTorch " "中,[`torch.jit.trace`](https://pytorch.org/docs/stable/generated/torch.jit.trace.html)" @@ -7965,19 +7817,19 @@ msgstr "" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:50006 msgid "" -"Based on the tracing strategy, the `torch.jit.trace` method offers higher" -" parsing speed and broader compatibility, such as with `torch.vmap` " -"operations. Although it provides excellent support for simple functions, " -"it is not suitable for complex tasks involving dynamic if-else branches " -"and loop control flows." +"Based on the tracing strategy, the `torch.jit.trace` method offers higher " +"parsing speed and broader compatibility, such as with `torch.vmap` " +"operations. Although it provides excellent support for simple functions, it " +"is not suitable for complex tasks involving dynamic if-else branches and " +"loop control flows." msgstr "" "根据追踪策略,`torch.jit.trace` 方法提供了更高的解析速度和更广泛的兼容性,例如与 `torch.vmap` " "操作的兼容性。尽管它对简单函数提供了出色的支持,但不适用于涉及动态 if-else 分支和循环控制流的复杂任务。" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:70002 msgid "" -"In the example below, the traced `vmap` function successfully returns the" -" correct code representation:" +"In the example below, the traced `vmap` function successfully returns the " +"correct code representation:" msgstr "在下面的例子中,跟踪的 `vmap` 函数成功返回了正确的代码表示:" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:90002 @@ -7989,14 +7841,14 @@ msgstr "然而,动态的 Python 控制流无法被正确追踪,并且会发 #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:110002 msgid "" "Alternatively, the `torch.jit.script` method, which adopts a scripting " -"strategy, is better suited for complex tasks that involve dynamic control" -" flows but has limited compatibility." +"strategy, is better suited for complex tasks that involve dynamic control " +"flows but has limited compatibility." msgstr "或者,采用脚本策略的 `torch.jit.script` 方法更适合涉及动态控制流的复杂任务,但兼容性有限。" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:120002 msgid "" -"In this example, the same `vmap_sample_func` function, after being " -"scripted, returns an **incorrect** code representation:" +"In this example, the same `vmap_sample_func` function, after being scripted," +" returns an **incorrect** code representation:" msgstr "在这个例子中,相同的 `vmap_sample_func` 函数,在被脚本化后,返回了一个**不正确**的代码表示:" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:140002 @@ -8005,10 +7857,10 @@ msgstr "然而,它可以正确处理复杂的动态 Python 控制流:" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:160003 msgid "" -"`torch.jit.script` relies on type hint to work properly. For example, any" -" unannotated input argument is treated as a `torch.Tensor` while you can " -"annotate some input arguments to be python types to make " -"`torch.jit.script` work as intended." +"`torch.jit.script` relies on type hint to work properly. For example, any " +"unannotated input argument is treated as a `torch.Tensor` while you can " +"annotate some input arguments to be python types to make `torch.jit.script` " +"work as intended." msgstr "" "`torch.jit.script` 依赖类型提示才能正常工作。例如,任何未注释的输入参数都会被视为 " "`torch.Tensor`,而你可以将一些输入参数注释为 python 类型,以使 `torch.jit.script` 按预期工作。" @@ -8020,30 +7872,29 @@ msgstr "在PyTorch中结合使用JIT和Vectorizing Map" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:170004 msgid "" "Based on the introductions above, when `torch.jit.trace` and " -"`torch.jit.script` are used in combination with `torch.vmap`, " -"coordination is required due to compatibility considerations." +"`torch.jit.script` are used in combination with `torch.vmap`, coordination " +"is required due to compatibility considerations." msgstr "" "根据上述介绍,当 `torch.jit.trace` 和 `torch.jit.script` 与 `torch.vmap` " "结合使用时,由于兼容性考虑,需要进行协调。" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:170006 msgid "" -"The figure below illustrates the relationship between `torch.jit.script`," -" `torch.jit.trace`, and `torch.vmap`, highlighting their mutual " -"invocation paths. If module A invokes module B, it implies that B can be " -"called by A." +"The figure below illustrates the relationship between `torch.jit.script`, " +"`torch.jit.trace`, and `torch.vmap`, highlighting their mutual invocation " +"paths. If module A invokes module B, it implies that B can be called by A." msgstr "" "下图说明了 `torch.jit.script`、`torch.jit.trace` 和 `torch.vmap` " "之间的关系,突出显示了它们的相互调用路径。如果模块 A 调用模块 B,这意味着 B 可以被 A 调用。" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:170008 msgid "JIT introduction" -msgstr "" +msgstr "JIT 介绍" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:170013 msgid "" -"For detailed usage of JIT and vectorizing map on PyTorch, please refer to" -" the official PyTorch documentation for " +"For detailed usage of JIT and vectorizing map on PyTorch, please refer to " +"the official PyTorch documentation for " "[TorchScript](#https://pytorch.org/docs/stable/jit.html) and " "[`torch.vmap`](#https://pytorch.org/docs/stable/generated/torch.vmap.html)." msgstr "" @@ -8058,23 +7909,24 @@ msgstr "EvoX中的特定优化支持" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:180004 msgid "" "Within EvoX, most functions are defined inside classes, particularly " -"subclasses of [`ModuleBase`](#evox.core.module.ModuleBase). To provide " -"more comprehensive optimization supports, EvoX offers specific " -"enhancements." +"subclasses of [`ModuleBase`](#evox.core.module.ModuleBase). To provide more " +"comprehensive optimization supports, EvoX offers specific enhancements." msgstr "" "在 EvoX 中,大多数函数是在类中定义的,特别是 [`ModuleBase`](#evox.core.module.ModuleBase) " "的子类中。为了提供更全面的优化支持,EvoX 提供了特定的增强功能。" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:190002 -msgid "Using JIT to Subclasses of [`ModuleBase`](#evox.core.module.ModuleBase)" +msgid "" +"Using JIT to Subclasses of [`ModuleBase`](#evox.core.module.ModuleBase)" msgstr "使用 JIT 到 [`ModuleBase`](#evox.core.module.ModuleBase) 的子类" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:200002 msgid "" -"For better understanding of this part, we need to explain three important" -" functions in EvoX: [`jit_class`](#evox.core.module.jit_class), " +"For better understanding of this part, we need to explain three important " +"functions in EvoX: [`jit_class`](#evox.core.module.jit_class), " "[`vmap`](#evox.core.jit_util.vmap) and [`jit`](l#evox.core.jit_util.jit)." -msgstr "为了更好地理解这一部分,我们需要解释EvoX中的三个重要函数:[`jit_class`](#evox.core.module.jit_class)、[`vmap`](#evox.core.jit_util.vmap)和[`jit`](#evox.core.jit_util.jit)。" +msgstr "" +"为了更好地理解这一部分,我们需要解释EvoX中的三个重要函数:[`jit_class`](#evox.core.module.jit_class)、[`vmap`](#evox.core.jit_util.vmap)和[`jit`](#evox.core.jit_util.jit)。" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:210002 msgid "[`jit_class`](#evox.core.module.jit_class) Function" @@ -8086,15 +7938,15 @@ msgid "" "Just-In-Time (JIT) script of " "[`torch.jit.script`](https://pytorch.org/docs/stable/generated/torch.jit.script.html)" " or trace " -"([`torch.jit.trace_module`](https://pytorch.org/docs/stable/generated/torch.jit.trace_module.html" -"#torch-jit-trace-module)) all member methods of the input class." +"([`torch.jit.trace_module`](https://pytorch.org/docs/stable/generated/torch.jit.trace_module.html#torch-" +"jit-trace-module)) all member methods of the input class." msgstr "" -"[`jit_class`](#evox.core.module.jit_class) 是一个辅助函数,用于对输入类的所有成员方法进行 Just-" -"In-Time (JIT) 脚本化的 " +"[`jit_class`](#evox.core.module.jit_class) 是一个辅助函数,用于对输入类的所有成员方法进行 Just-In-" +"Time (JIT) 脚本化的 " "[`torch.jit.script`](https://pytorch.org/docs/stable/generated/torch.jit.script.html)" " 或跟踪 " -"([`torch.jit.trace_module`](https://pytorch.org/docs/stable/generated/torch.jit.trace_module.html" -"#torch-jit-trace-module))。" +"([`torch.jit.trace_module`](https://pytorch.org/docs/stable/generated/torch.jit.trace_module.html#torch-" +"jit-trace-module))。" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:220004 msgid "[`jit_class`](#evox.core.module.jit_class) has two parameters:" @@ -8105,26 +7957,26 @@ msgid "`cls`: the original class whose member methods are to be lazy JIT." msgstr "`cls`: 原始类,其成员方法将被懒惰 JIT。" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:220007 -#, fuzzy msgid "" "`trace`: whether to trace the module or to script the module. Default to " "`False`." -msgstr "是否在工作流开始时清除监视器历史记录。默认值为 `True`。" +msgstr "`trace`: 是否追踪模块或将模块脚本化。默认值为 `False`。" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:220010 msgid "" "In many cases, it is not necessary to wrap your custom algorithms or " -"problems with [`jit_class`](#evox.core.module.jit_class), the workflow(s)" -" will do the trick for you." -msgstr "在许多情况下,不需要用[`jit_class`](#evox.core.module.jit_class)包装您的自定义算法或问题,工作流将为您解决问题。" +"problems with [`jit_class`](#evox.core.module.jit_class), the workflow(s) " +"will do the trick for you." +msgstr "" +"在许多情况下,不需要用[`jit_class`](#evox.core.module.jit_class)包装您的自定义算法或问题,工作流将为您解决问题。" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:220011 msgid "" "With `trace=True`, all the member functions are effectively modified to " -"return `self` additionally since side-effects cannot be traced. If you " -"want to preserve the side effects, please set `trace=False` and use the " -"`use_state` function to wrap the member method to generate pure-" -"functional (the `use_state` function will be explained in the next part)." +"return `self` additionally since side-effects cannot be traced. If you want " +"to preserve the side effects, please set `trace=False` and use the " +"`use_state` function to wrap the member method to generate pure-functional " +"(the `use_state` function will be explained in the next part)." msgstr "" "在 `trace=True` 的情况下,所有成员函数都会被有效地修改为额外返回 `self`,因为副作用无法被追踪。如果你想保留副作用,请设置 " "`trace=False` 并使用 `use_state` 函数来包装成员方法以生成纯函数(`use_state` 函数将在下一部分中解释)。" @@ -8137,10 +7989,10 @@ msgstr "[`vmap`](#evox.core.jit_util.vmap) 函数" msgid "" "[`vmap`](#evox.core.jit_util.vmap) function vectorized map the given " "function to its mapped version. Based on " -"[`torch.vmap`](https://pytorch.org/docs/main/generated/torch.vmap.html), " -"we made many improvements, and you can see " -"[`torch.vmap`](https://pytorch.org/docs/main/generated/torch.vmap.html) " -"for more information." +"[`torch.vmap`](https://pytorch.org/docs/main/generated/torch.vmap.html), we " +"made many improvements, and you can see " +"[`torch.vmap`](https://pytorch.org/docs/main/generated/torch.vmap.html) for " +"more information." msgstr "" "[`vmap`](#evox.core.jit_util.vmap) 函数将给定函数矢量化映射到其映射版本。基于 " "[`torch.vmap`](https://pytorch.org/docs/main/generated/torch.vmap.html),我们进行了许多改进,您可以查看" @@ -8167,10 +8019,10 @@ msgstr "" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:260007 msgid "" -"With `trace=True`, `torch.jit.trace` cannot use SAME example input " -"arguments for function of DIFFERENT parameters,e.g., you cannot pass " -"`tensor_a, tensor_a` to `torch.jit.trace`d version of `f(x: torch.Tensor," -" y: torch.Tensor)`." +"With `trace=True`, `torch.jit.trace` cannot use SAME example input arguments" +" for function of DIFFERENT parameters,e.g., you cannot pass `tensor_a, " +"tensor_a` to `torch.jit.trace`d version of `f(x: torch.Tensor, y: " +"torch.Tensor)`." msgstr "" "在 `trace=True` 的情况下,`torch.jit.trace` 不能对具有不同参数的函数使用相同的示例输入参数,例如,你不能将 " "`tensor_a, tensor_a` 传递给 `torch.jit.trace` 版本的 `f(x: torch.Tensor, y: " @@ -8179,8 +8031,7 @@ msgstr "" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:260008 msgid "" "With `trace=False`, `torch.jit.script` cannot contain `vmap` expressions " -"directly, please wrap them with `jit(..., trace=True)` or " -"`torch.jit.trace`." +"directly, please wrap them with `jit(..., trace=True)` or `torch.jit.trace`." msgstr "" "在 `trace=False` 的情况下,`torch.jit.script` 不能直接包含 `vmap` 表达式,请使用 `jit(..., " "trace=True)` 或 `torch.jit.trace` 包装它们。" @@ -8188,12 +8039,11 @@ msgstr "" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:260011 msgid "" "In the [Working with Module in EvoX](#/guide/developer/1-modulebase), we " -"have briefly introduced some rules about the methods inside a subclass of" -" the [`ModuleBase`](#evox.core.module.ModuleBase) . Now that " +"have briefly introduced some rules about the methods inside a subclass of " +"the [`ModuleBase`](#evox.core.module.ModuleBase) . Now that " "[`jit_class`](#evox.core.module.jit_class), " -"[`vmap`](#evox.core.jit_util.vmap) and [`jit`](#evox.core.jit_util.jit) " -"have been explained, we will explain more rules and provide some specific" -" hints." +"[`vmap`](#evox.core.jit_util.vmap) and [`jit`](#evox.core.jit_util.jit) have" +" been explained, we will explain more rules and provide some specific hints." msgstr "" "在 [EvoX 中的模块工作](#/guide/developer/1-modulebase) 中,我们简要介绍了关于 " "[`ModuleBase`](#evox.core.module.ModuleBase) 子类中方法的一些规则。现在 " @@ -8214,8 +8064,8 @@ msgstr "在子类中定义非静态方法" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:300002 msgid "" -"If a method with **Python dynamic control flows** like `if` were to be " -"JIT, a separated static method with `jit(..., trace=False)` or " +"If a method with **Python dynamic control flows** like `if` were to be JIT, " +"a separated static method with `jit(..., trace=False)` or " "`torch.jit.script_if_tracing` shall be used:" msgstr "" "如果一个方法使用了**Python动态控制流**,例如`if`,并且需要进行JIT,那么应使用一个独立的静态方法,并使用`jit(..., " @@ -8224,14 +8074,13 @@ msgstr "" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:300035 msgid "" "Dynamic control flow in Python refers to control structures that change " -"dynamically based on conditions at runtime. `if...elif...else` " -"Conditional Statements, `for`loop and `while` loop are all dynamic " -"control flows. If you have to use them when defining non-static Methods " -"inside the subclass of [`ModuleBase`](#evox.core.module.ModuleBase), " -"please follow the above rule." -msgstr "" -"在Python中,动态控制流是指根据运行时的条件动态变化的控制结构。`if...elif...else` 条件语句、`for` 循环和 " -"`while` 循环都是动态控制流。如果在定义 [`ModuleBase`](#evox.core.module.ModuleBase) " +"dynamically based on conditions at runtime. `if...elif...else` Conditional " +"Statements, `for`loop and `while` loop are all dynamic control flows. If you" +" have to use them when defining non-static Methods inside the subclass of " +"[`ModuleBase`](#evox.core.module.ModuleBase), please follow the above rule." +msgstr "" +"在Python中,动态控制流是指根据运行时的条件动态变化的控制结构。`if...elif...else` 条件语句、`for` 循环和 `while` " +"循环都是动态控制流。如果在定义 [`ModuleBase`](#evox.core.module.ModuleBase) " "子类中的非静态方法时必须使用它们,请遵循上述规则。" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:310002 @@ -8250,9 +8099,9 @@ msgstr "自动为使用 `jit_class` 的子类进行 JIT 处理" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:340002 msgid "" -"[`ModuleBase`](#evox.core.module.ModuleBase) and its subclasses are " -"usually used with [`jit_class`](#evox.core.module.jit_class) to " -"automatically JIT all non-magic member methods:" +"[`ModuleBase`](#evox.core.module.ModuleBase) and its subclasses are usually" +" used with [`jit_class`](#evox.core.module.jit_class) to automatically JIT " +"all non-magic member methods:" msgstr "" "[`ModuleBase`](#evox.core.module.ModuleBase) 及其子类通常与 " "[`jit_class`](#evox.core.module.jit_class) 一起使用,以自动JIT所有非魔术成员方法:" @@ -8263,8 +8112,8 @@ msgstr "在子类中调用外部 Vmap 包装的方法" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:360002 msgid "" -"Inside the subclass, external vmap-wrapped methods can be invocated by " -"the class methods to be JIT:" +"Inside the subclass, external vmap-wrapped methods can be invocated by the " +"class methods to be JIT:" msgstr "在子类内部,外部 vmap 包装的方法可以通过类方法调用以实现 JIT:" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:360034 @@ -8279,18 +8128,19 @@ msgstr "子类内部的 Vmap 包装方法" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:380002 msgid "" -"Inside the subclass, internal vmap-wrapped methods can be JIT by using " -"the [`trace_impl`](#evox.core.module.trace_impl):" +"Inside the subclass, internal vmap-wrapped methods can be JIT by using the " +"[`trace_impl`](#evox.core.module.trace_impl):" msgstr "" "在子类内部,可以使用 [`trace_impl`](#evox.core.module.trace_impl) 对内部 vmap 包装的方法进行 " "JIT。" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:380040 msgid "" -"If a class method use [`trace_impl`](#evox.core.module.trace_impl), it " -"will be only available in the trace mode. More details about `trace_impl`" -" will be shown in the next part." -msgstr "如果一个类方法使用了[`trace_impl`](#evox.core.module.trace_impl),它将仅在追踪模式下可用。关于`trace_impl`的更多细节将在下一部分展示。" +"If a class method use [`trace_impl`](#evox.core.module.trace_impl), it will " +"be only available in the trace mode. More details about `trace_impl` will be" +" shown in the next part." +msgstr "" +"如果一个类方法使用了[`trace_impl`](#evox.core.module.trace_impl),它将仅在追踪模式下可用。关于`trace_impl`的更多细节将在下一部分展示。" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:390002 msgid "Using `@trace_impl` and `@vmap_impl`" @@ -8298,23 +8148,23 @@ msgstr "使用 `@trace_impl` 和 `@vmap_impl" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:390004 msgid "" -"When designing a function or method, you may not always consider whether " -"it is `JIT`-compatible. However, this property becomes crucial in " -"specific scenarios, such as solving Hyperparameter Optimization (HPO) " -"problems. For more details on deploying HPO with EvoX, refer to " -"[Efficient HPO with EvoX](#/guide/user/3-hpo)." +"When designing a function or method, you may not always consider whether it " +"is `JIT`-compatible. However, this property becomes crucial in specific " +"scenarios, such as solving Hyperparameter Optimization (HPO) problems. For " +"more details on deploying HPO with EvoX, refer to [Efficient HPO with " +"EvoX](#/guide/user/3-hpo)." msgstr "" "在设计函数或方法时,您可能并不总是考虑它是否与`JIT`兼容。然而,这一特性在特定场景中变得至关重要,例如解决超参数优化(HPO)问题。有关使用EvoX部署HPO的更多详细信息,请参阅[Efficient" " HPO with EvoX](#/guide/user/3-hpo)。" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:390006 msgid "" -"A typical characteristic of such problems is that only certain parts of " -"the algorithm need modification—for instance, the `step` method of an " -"algorithm. This allows you to avoid rewriting the entire algorithm. In " -"such cases, you can use the `@trace_impl` or `@vmap_impl` decorator to " -"rewrite the function as a trace-JIT-time or vmap-JIT-time proxy for the " -"specified `target` method." +"A typical characteristic of such problems is that only certain parts of the " +"algorithm need modification—for instance, the `step` method of an algorithm." +" This allows you to avoid rewriting the entire algorithm. In such cases, you" +" can use the `@trace_impl` or `@vmap_impl` decorator to rewrite the function" +" as a trace-JIT-time or vmap-JIT-time proxy for the specified `target` " +"method." msgstr "" "这类问题的一个典型特征是,只需要修改算法的某些部分——例如,算法的 `step` 方法。这使您可以避免重写整个算法。在这种情况下,您可以使用 " "`@trace_impl` 或 `@vmap_impl` 装饰器,将函数重写为指定 `target` 方法的 trace-JIT-time 或 " @@ -8322,10 +8172,10 @@ msgstr "" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:390008 msgid "" -"The decorators [`@trace_impl`](#trace_impl) and " -"[`@vmap_impl`](#vmap_impl) accept a single input parameter: the target " -"method invoked when not tracing/vmapping JIT. These decorators are " -"applicable **only** to member methods within a `jit_class`." +"The decorators [`@trace_impl`](#trace_impl) and [`@vmap_impl`](#vmap_impl) " +"accept a single input parameter: the target method invoked when not " +"tracing/vmapping JIT. These decorators are applicable **only** to member " +"methods within a `jit_class`." msgstr "" "装饰器 [`@trace_impl`](#trace_impl) 和 [`@vmap_impl`](#vmap_impl) " "接受一个输入参数:在不进行追踪/vmap JIT 时调用的目标方法。这些装饰器**仅**适用于 `jit_class` 中的成员方法。" @@ -8333,15 +8183,14 @@ msgstr "" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:390010 msgid "" "Since the annotated function serves as a rewritten version of the target " -"function, it must maintain identical input/output signatures (e.g., " -"number and types of arguments). Otherwise, the resulting behavior is " -"undefined." +"function, it must maintain identical input/output signatures (e.g., number " +"and types of arguments). Otherwise, the resulting behavior is undefined." msgstr "由于注释函数作为目标函数的重写版本,它必须保持相同的输入/输出签名(例如,参数的数量和类型)。否则,结果行为是未定义的。" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:390012 msgid "" -"If the annotated function is intended for use with `vmap`, it must " -"satisfy three additional constraints:" +"If the annotated function is intended for use with `vmap`, it must satisfy " +"three additional constraints:" msgstr "如果注释的函数打算与`vmap`一起使用,它必须满足三个额外的约束:" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:390014 @@ -8363,44 +8212,40 @@ msgstr "" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:390079 msgid "" -"**Avoid In-Place Operations on `self`:** Vectorized map in-place " -"operations on `self` are not well-defined and cannot be compiled. Even if" -" it is compiled successfully, you can still silently get incorrect " -"results." +"**Avoid In-Place Operations on `self`:** Vectorized map in-place operations " +"on `self` are not well-defined and cannot be compiled. Even if it is " +"compiled successfully, you can still silently get incorrect results." msgstr "" "**避免对 `self` 进行就地操作:** 向量化映射对 `self` " "的就地操作定义不明确,无法编译。即使成功编译,您仍可能会悄无声息地得到错误的结果。" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:390082 -#, fuzzy msgid "Using `use_state`" -msgstr "状态。" +msgstr "使用 `use_state`" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:390084 msgid "" "[`use_state`](#use_state) transforms a given stateful function (which " "performs in-place alterations on `nn.Module`s) into a pure-functional " -"version that receives an additional `state` parameter (of type `Dict[str," -" torch.Tensor]`) and returns the altered state." +"version that receives an additional `state` parameter (of type `Dict[str, " +"torch.Tensor]`) and returns the altered state." msgstr "" -"[`use_state`](#use_state) 将给定的有状态函数(对 `nn.Module` " -"进行就地更改)转换为纯函数版本,该版本接收一个额外的 `state` 参数(类型为 `Dict[str, " -"torch.Tensor]`),并返回更改后的状态。" +"[`use_state`](#use_state) 将给定的有状态函数(对 `nn.Module` 进行就地更改)转换为纯函数版本,该版本接收一个额外的" +" `state` 参数(类型为 `Dict[str, torch.Tensor]`),并返回更改后的状态。" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:390086 msgid "" -"The input `func` is the stateful function to be transformed or its " -"generator function, and `is_generator` specifies whether `func` is a " -"function or a function generator (e.g., a lambda that returns the " -"stateful function). It defaults to `True`." +"The input `func` is the stateful function to be transformed or its generator" +" function, and `is_generator` specifies whether `func` is a function or a " +"function generator (e.g., a lambda that returns the stateful function). It " +"defaults to `True`." msgstr "" "输入 `func` 是要转换的有状态函数或其生成器函数,而 `is_generator` 指定 `func` " "是一个函数还是一个函数生成器(例如,返回有状态函数的 lambda)。默认值为 `True" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:390088 -#, fuzzy msgid "Here is a simple example:" -msgstr "代码样例" +msgstr "以下是一个简单的例子:" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:390129 msgid "Using `core._vmap_fix`" @@ -8408,16 +8253,16 @@ msgstr "使用 `core._vmap_fix" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:390131 msgid "" -"The module [`_vmap_fix`](#_vmap_fix) provides useful functions. After the" -" automatic import, `_vmap_fix` enables `torch.vmap` to be correctly " -"traced by `torch.jit.trace`, while resolving issues such as random number" -" handling that couldn't be properly traced during the `vmap` process. It " -"also provides the `debug_print` function, which allows dynamic printing " -"of Tensor values during both `vmap` and tracing." +"The module [`_vmap_fix`](#_vmap_fix) provides useful functions. After the " +"automatic import, `_vmap_fix` enables `torch.vmap` to be correctly traced by" +" `torch.jit.trace`, while resolving issues such as random number handling " +"that couldn't be properly traced during the `vmap` process. It also provides" +" the `debug_print` function, which allows dynamic printing of Tensor values " +"during both `vmap` and tracing." msgstr "" -"模块 [`_vmap_fix`](#_vmap_fix) 提供了有用的函数。在自动导入后,`_vmap_fix` 使 `torch.vmap` " -"能够被 `torch.jit.trace` 正确追踪,同时解决了在 `vmap` 过程中无法正确追踪的随机数处理等问题。它还提供了 " -"`debug_print` 函数,允许在 `vmap` 和追踪过程中动态打印 Tensor 值。" +"模块 [`_vmap_fix`](#_vmap_fix) 提供了有用的函数。在自动导入后,`_vmap_fix` 使 `torch.vmap` 能够被 " +"`torch.jit.trace` 正确追踪,同时解决了在 `vmap` 过程中无法正确追踪的随机数处理等问题。它还提供了 `debug_print` " +"函数,允许在 `vmap` 和追踪过程中动态打印 Tensor 值。" #: ../../source/guide/developer/2-jit-vmap-tutorial.ipynb:390133 msgid "" @@ -8430,74 +8275,70 @@ msgid "Custom algorithms and problems in EvoX" msgstr "EvoX中的自定义算法和问题" #: ../../source/guide/developer/3-custom-alg-pro.md:3 -#, fuzzy msgid "" -"In this chapter, we will introduce how to implement your own algorithms " -"and problems in EvoX." -msgstr "在本章中,我们将介绍如何在 EvoX 中实现您自己的算法。" +"In this chapter, we will introduce how to implement your own algorithms and " +"problems in EvoX." +msgstr "在本章节中,我们将介绍如何在EvoX中实现您自己的算法和问题。" #: ../../source/guide/developer/3-custom-alg-pro.md:5 -#, fuzzy msgid "Layout of the algorithms and problems" -msgstr "自定义算法和问题" +msgstr "算法和问题的布局" #: ../../source/guide/developer/3-custom-alg-pro.md:7 -#, fuzzy msgid "" "In most traditional EC libraries, algorithms usually call the objective " "function internally, which gives the following layout:" -msgstr "在传统的EC库中,算法通常在内部调用目标函数,其布局如下" +msgstr "在大多数传统的进化计算(EC)库中,算法通常在内部调用目标函数,其布局如下:" #: ../../source/guide/developer/3-custom-alg-pro.md:15 -#, fuzzy msgid "**But in EvoX, we have a flat layout:**" -msgstr "但在 EvoX 中,我们采用了扁平布局" +msgstr "但在 EvoX 中,我们使用了扁平化布局:" #: ../../source/guide/developer/3-custom-alg-pro.md:21 msgid "" -"This layout makes both algorithms and problems more universal: an " -"algorithm can optimize different problems, while a problem can also be " -"suitable for many algorithms." +"This layout makes both algorithms and problems more universal: an algorithm " +"can optimize different problems, while a problem can also be suitable for " +"many algorithms." msgstr "这种布局使得算法和问题更加通用:一个算法可以优化不同的问题,而一个问题也可以适用于许多算法。" #: ../../source/guide/developer/3-custom-alg-pro.md:25 -#, fuzzy msgid "Algorithm class" -msgstr "算法类" +msgstr "Algorithm 类" #: ../../source/guide/developer/3-custom-alg-pro.md:27 msgid "" -"The [`Algorithm`](#evox.core.components.Algorithm) class is inherited " -"from [`ModuleBase`](#evox.core.module.ModuleBase)." +"The [`Algorithm`](#evox.core.components.Algorithm) class is inherited from " +"[`ModuleBase`](#evox.core.module.ModuleBase)." msgstr "" "[`Algorithm`](#evox.core.components.Algorithm) 类继承自 " "[`ModuleBase`](#evox.core.module.ModuleBase)。" #: ../../source/guide/developer/3-custom-alg-pro.md:29 msgid "" -"**In total,** **there are 5 methods (2 methods are optional) that we need" -" to implement:**" +"**In total,** **there are 5 methods (2 methods are optional) that we need to" +" implement:**" msgstr "总共有5个方法(其中2个方法是可选的)需要我们实现:" #: ../../source/guide/developer/3-custom-alg-pro.md msgid "" -"Initialize the algorithm instance, for example, the population size " -"(keeps constant during iteration), hyper-parameters (can only be set by " -"HPO problem wrapper or initialized here), and / or mutable tensors (can " -"be modified on the fly)." -msgstr "初始化算法实例,例如,种群大小(在迭代过程中保持不变)、超参数(只能通过HPO问题包装器设置或在此初始化)、和/或可变张量(可以动态修改)。" +"Initialize the algorithm instance, for example, the population size (keeps " +"constant during iteration), hyper-parameters (can only be set by HPO problem" +" wrapper or initialized here), and / or mutable tensors (can be modified on " +"the fly)." +msgstr "" +"初始化算法实例,例如,种群大小(在迭代过程中保持不变)、超参数(只能通过HPO问题包装器设置或在此初始化)、和/或可变张量(可以动态修改)。" #: ../../source/guide/developer/3-custom-alg-pro.md -#, fuzzy msgid "`setup` (optional)" -msgstr "init_ask (可选的)" +msgstr "`setup`(可选)" #: ../../source/guide/developer/3-custom-alg-pro.md msgid "" "Initialize the mutable submodule(s) of the algorithm. See " -"[`ModuleBase`](#evox.core.module.ModuleBase). Usually, it is not " -"necessary to overwrite this method." -msgstr "初始化算法的可变子模块。请参阅[`ModuleBase`](#evox.core.module.ModuleBase)。通常,不需要重写此方法。" +"[`ModuleBase`](#evox.core.module.ModuleBase). Usually, it is not necessary " +"to overwrite this method." +msgstr "" +"初始化算法的可变子模块。请参阅[`ModuleBase`](#evox.core.module.ModuleBase)。通常,不需要重写此方法。" #: ../../source/guide/developer/3-custom-alg-pro.md msgid "`step`" @@ -8512,58 +8353,56 @@ msgid "Perform a normal optimization iteration step of the algorithm." msgstr "执行算法的正常优化迭代步骤。" #: ../../source/guide/developer/3-custom-alg-pro.md -#, fuzzy msgid "`init_step` (optional)" -msgstr "init_tell (可选的 )" +msgstr "`init_step`(可选)" #: ../../source/guide/developer/3-custom-alg-pro.md msgid "" -"Perform the first step of the optimization of the algorithm. If this " -"method were not overwritten, the `step` method would be invoked instead." +"Perform the first step of the optimization of the algorithm. If this method " +"were not overwritten, the `step` method would be invoked instead." msgstr "执行算法优化的第一步。如果此方法未被覆盖,将调用 `step` 方法。" #: ../../source/guide/developer/3-custom-alg-pro.md:39 msgid "" -"The static initialization can still be written in the `__init__` while " -"the mutable submodule(s) initialization cannot. Therefore, multiple calls" -" of `setup` for repeated initializations are possible if the overwritten " -"`setup` method invokes the `setup()` of " +"The static initialization can still be written in the `__init__` while the " +"mutable submodule(s) initialization cannot. Therefore, multiple calls of " +"`setup` for repeated initializations are possible if the overwritten `setup`" +" method invokes the `setup()` of " "[`ModuleBase`](#evox.core.module.ModuleBase) first." -msgstr "静态初始化仍然可以在`__init__`中编写,而可变子模块的初始化则不能。因此,如果重写的`setup`方法首先调用[`ModuleBase`](#evox.core.module.ModuleBase)的`setup()`,则可以多次调用`setup`进行重复初始化。" +msgstr "" +"静态初始化仍然可以在`__init__`中编写,而可变子模块的初始化则不能。因此,如果重写的`setup`方法首先调用[`ModuleBase`](#evox.core.module.ModuleBase)的`setup()`,则可以多次调用`setup`进行重复初始化。" #: ../../source/guide/developer/3-custom-alg-pro.md:41 msgid "" -"If such `setup` method in [`ModuleBase`](#evox.core.module.ModuleBase) is" -" not suitable for your algorithm, you can override the `setup` method " -"when you create your own algorithm class." -msgstr "如果在[`ModuleBase`](#evox.core.module.ModuleBase)中的这种`setup`方法不适合你的算法,你可以在创建自己的算法类时重写`setup`方法。" +"If such `setup` method in [`ModuleBase`](#evox.core.module.ModuleBase) is " +"not suitable for your algorithm, you can override the `setup` method when " +"you create your own algorithm class." +msgstr "" +"如果在[`ModuleBase`](#evox.core.module.ModuleBase)中的这种`setup`方法不适合你的算法,你可以在创建自己的算法类时重写`setup`方法。" #: ../../source/guide/developer/3-custom-alg-pro.md:45 -#, fuzzy msgid "Problem class" msgstr "问题类" #: ../../source/guide/developer/3-custom-alg-pro.md:47 msgid "" -"The [`Problem`](#evox.core.components.Problem) class is also inherited " -"from [`ModuleBase`](#evox.core.module.ModuleBase)." +"The [`Problem`](#evox.core.components.Problem) class is also inherited from " +"[`ModuleBase`](#evox.core.module.ModuleBase)." msgstr "" "[`Problem`](#evox.core.components.Problem) 类也继承自 " "[`ModuleBase`](#evox.core.module.ModuleBase)。" #: ../../source/guide/developer/3-custom-alg-pro.md:49 -#, fuzzy msgid "" -"However, the Problem class is quite simple. **Beside the `__init__` " -"method, the only necessary method is the `evaluate` method.**" -msgstr "`Problem` 类相当简单,除了 `__init__` 和 `setup`,唯一必需的方法是 `evaluate`。" +"However, the Problem class is quite simple. **Beside the `__init__` method, " +"the only necessary method is the `evaluate` method.**" +msgstr "但是,Problem 类非常简单。**除了 `__init__` 方法,唯一必须的方法是 `evaluate` 方法。**" #: ../../source/guide/developer/3-custom-alg-pro.md:38 msgid "Initialize the settings of the problem." msgstr "为问题初始化设置。" #: ../../source/guide/developer/3-custom-alg-pro.md:38 -#, fuzzy msgid "`evaluate`" msgstr "评估" @@ -8572,14 +8411,13 @@ msgid "`(self, pop: torch.Tensor) -> torch.Tensor`" msgstr "`(self, pop: torch.Tensor) -> torch.Tensor" #: ../../source/guide/developer/3-custom-alg-pro.md:38 -#, fuzzy msgid "Evaluate the fitness of the given population." -msgstr "评估给定候选解的适应度。" +msgstr "评估给定种群的适应度。" #: ../../source/guide/developer/3-custom-alg-pro.md:56 msgid "" -"However, the type of `pop` argument in `evaluate` can be changed to other" -" JIT-compatible types in the overwritten method." +"However, the type of `pop` argument in `evaluate` can be changed to other " +"JIT-compatible types in the overwritten method." msgstr "然而,在重写的方法中,`evaluate` 中 `pop` 参数的类型可以更改为其他与 JIT 兼容的类型。" #: ../../source/guide/developer/3-custom-alg-pro.md:59 @@ -8588,38 +8426,34 @@ msgstr "样例" #: ../../source/guide/developer/3-custom-alg-pro.md:61 msgid "" -"Here we give an example of **implementing a PSO algorithm that solves the" -" Sphere problem**." +"Here we give an example of **implementing a PSO algorithm that solves the " +"Sphere problem**." msgstr "这里我们给出一个**实现一个解决Sphere问题的PSO算法的例子**。" #: ../../source/guide/developer/3-custom-alg-pro.md:63 -#, fuzzy msgid "Pseudo-code of the example" -msgstr "代码样例" +msgstr "示例的伪代码" #: ../../source/guide/developer/3-custom-alg-pro.md:65 -#, fuzzy msgid "Here is a pseudo-code:" -msgstr "这是一个遗传算法的伪代码。" +msgstr "以下是一段伪代码:" #: ../../source/guide/developer/3-custom-alg-pro.md:81 -#, fuzzy msgid "" -"And here is what each part of the algorithm and the problem corresponds " -"to in EvoX." -msgstr "这里是算法的每个部分在 EvoX 中对应的内容。" +"And here is what each part of the algorithm and the problem corresponds to " +"in EvoX." +msgstr "以下是算法和问题中每个部分在EvoX中的对应关系。" #: ../../source/guide/developer/3-custom-alg-pro.md:101 msgid "" "Particle Swarm Optimization (PSO) is a population-based meta-heuristic " -"algorithm inspired by the social behavior of birds and fish. It is widely" -" used for solving continuous and discrete optimization problems." +"algorithm inspired by the social behavior of birds and fish. It is widely " +"used for solving continuous and discrete optimization problems." msgstr "粒子群优化(PSO)是一种基于种群的元启发式算法,灵感来自鸟类和鱼类的社会行为。它被广泛用于解决连续和离散优化问题。" #: ../../source/guide/developer/3-custom-alg-pro.md:212 -#, fuzzy msgid "Now, you can initiate a workflow and run it." -msgstr "现在你可以组合出一个workflow并运行。" +msgstr "现在,您可以启动一个工作流并运行它。" #: ../../source/guide/developer/4-transfer-from-matlab.md:1 msgid "Transformation from MATLAB to PyTorch and EvoX" @@ -8628,11 +8462,12 @@ msgstr "从MATLAB到PyTorch和EvoX的转换" #: ../../source/guide/developer/4-transfer-from-matlab.md:3 msgid "" "This document aims to guide MATLAB users in transitioning to PyTorch and " -"EvoX for evolutionary computation. We will highlight the core differences" -" between MATLAB and PyTorch in terms of syntax, data structures, and " -"workflow. We will then illustrate these differences using a Particle " -"Swarm Optimization (PSO) example in both MATLAB and PyTorch." -msgstr "本文档旨在指导MATLAB用户过渡到PyTorch和EvoX进行演化计算。我们将重点介绍MATLAB和PyTorch在语法、数据结构和工作流方面的核心差异。然后,我们将通过在MATLAB和PyTorch中使用粒子群优化(PSO)示例来说明这些差异。" +"EvoX for evolutionary computation. We will highlight the core differences " +"between MATLAB and PyTorch in terms of syntax, data structures, and " +"workflow. We will then illustrate these differences using a Particle Swarm " +"Optimization (PSO) example in both MATLAB and PyTorch." +msgstr "" +"本文档旨在指导MATLAB用户过渡到PyTorch和EvoX进行演化计算。我们将重点介绍MATLAB和PyTorch在语法、数据结构和工作流方面的核心差异。然后,我们将通过在MATLAB和PyTorch中使用粒子群优化(PSO)示例来说明这些差异。" #: ../../source/guide/developer/4-transfer-from-matlab.md:5 msgid "Syntax Differences" @@ -8659,11 +8494,11 @@ msgstr "使用从1开始的索引。" #: ../../source/guide/developer/4-transfer-from-matlab.md:12 msgid "" "Vectors and matrices are declared using square brackets and semicolons " -"(e.g., `[1 2 3; 4 5 6]`). Random initialization with `rand()` returns " -"values in the interval $[0, 1)$." +"(e.g., `[1 2 3; 4 5 6]`). Random initialization with `rand()` returns values" +" in the interval $[0, 1)$." msgstr "" -"向量和矩阵使用方括号和分号声明(例如,`[1 2 3; 4 5 6]`)。使用 `rand()` 进行随机初始化时,返回的值在区间 $[0, " -"1)$ 内。" +"向量和矩阵使用方括号和分号声明(例如,`[1 2 3; 4 5 6]`)。使用 `rand()` 进行随机初始化时,返回的值在区间 $[0, 1)$ " +"内。" #: ../../source/guide/developer/4-transfer-from-matlab.md:13 msgid "" @@ -8676,9 +8511,8 @@ msgstr "切片使用 `(start:end)` 语法进行,并使用从1开始的索引 #: ../../source/guide/developer/4-transfer-from-matlab.md:49 #: ../../source/guide/developer/4-transfer-from-matlab.md:62 #: ../../source/guide/developer/4-transfer-from-matlab.md:74 -#, fuzzy msgid "PyTorch" -msgstr "安装ROCm" +msgstr "PyTorch" #: ../../source/guide/developer/4-transfer-from-matlab.md:17 msgid "Uses 0-based indexing." @@ -8687,8 +8521,8 @@ msgstr "使用从0开始的索引。" #: ../../source/guide/developer/4-transfer-from-matlab.md:18 msgid "" "Arrays (tensors) are typically created using constructors like " -"`torch.rand()`, `torch.zeros()`, or Python lists converted to tensors " -"with `torch.tensor()`." +"`torch.rand()`, `torch.zeros()`, or Python lists converted to tensors with " +"`torch.tensor()`." msgstr "" "数组(张量)通常使用构造函数创建,例如 `torch.rand()`、`torch.zeros()`,或将 Python 列表转换为张量的 " "`torch.tensor()" @@ -8698,16 +8532,16 @@ msgid "Slicing is done using `[start:end]` with 0-based indices." msgstr "切片使用 `[start:end]`,索引从0开始。" #: ../../source/guide/developer/4-transfer-from-matlab.md:21 -#, fuzzy msgid "Matrix Computation" -msgstr "种群。" +msgstr "矩阵计算" #: ../../source/guide/developer/4-transfer-from-matlab.md:25 msgid "Performs linear algebraic matrix multiplication by `*`." msgstr "通过 `*` 执行线性代数矩阵乘法。" #: ../../source/guide/developer/4-transfer-from-matlab.md:26 -msgid "Uses `.*` to multiply corresponding elements of matrices of the same size." +msgid "" +"Uses `.*` to multiply corresponding elements of matrices of the same size." msgstr "使用 `.*` 来逐元素相乘相同大小的矩阵。" #: ../../source/guide/developer/4-transfer-from-matlab.md:27 @@ -8726,20 +8560,19 @@ msgstr "张量中长度为1的尾部和头部维度将被**忽略**。" #: ../../source/guide/developer/4-transfer-from-matlab.md:30 msgid "" -"Automatically find broadcastable dimensions for element-wise operations " -"and perform **implicit** dimension extension." +"Automatically find broadcastable dimensions for element-wise operations and " +"perform **implicit** dimension extension." msgstr "自动查找元素级操作的可广播维度,并执行**隐式**维度扩展。" #: ../../source/guide/developer/4-transfer-from-matlab.md:34 msgid "" -"Performs linear algebraic matrix multiplication by `@` or " -"`torch.matmul()`." +"Performs linear algebraic matrix multiplication by `@` or `torch.matmul()`." msgstr "执行线性代数矩阵乘法通过 `@` 或 `torch.matmul()" #: ../../source/guide/developer/4-transfer-from-matlab.md:35 msgid "" -"Directly uses `*` to multiply corresponding elements of tensors of the " -"same shape or broadcastable shapes." +"Directly uses `*` to multiply corresponding elements of tensors of the same " +"shape or broadcastable shapes." msgstr "直接使用 `*` 来乘以相同形状或可广播形状的张量的对应元素。" #: ../../source/guide/developer/4-transfer-from-matlab.md:36 @@ -8752,14 +8585,14 @@ msgstr "`**` 表示元素级幂。" #: ../../source/guide/developer/4-transfer-from-matlab.md:38 msgid "" -"Dimension(s) of tensors with length 1 is/are **preserved** and treated as" -" **broadcast dimension**." +"Dimension(s) of tensors with length 1 is/are **preserved** and treated as " +"**broadcast dimension**." msgstr "张量长度为1的维度被**保留**并视为**广播维度**。" #: ../../source/guide/developer/4-transfer-from-matlab.md:39 msgid "" -"**Prevent** most implicit dimension extension, broadcast dimension(s) are" -" usually required." +"**Prevent** most implicit dimension extension, broadcast dimension(s) are " +"usually required." msgstr "**防止**大多数隐式维度扩展,通常需要广播维度。" #: ../../source/guide/developer/4-transfer-from-matlab.md:41 @@ -8772,8 +8605,8 @@ msgstr "一个函数由 `function` 关键字定义。" #: ../../source/guide/developer/4-transfer-from-matlab.md:46 msgid "" -"A file can contain multiple functions, but typically the primary function" -" shares the file name." +"A file can contain multiple functions, but typically the primary function " +"shares the file name." msgstr "一个文件可以包含多个函数,但通常主要函数与文件名相同。" #: ../../source/guide/developer/4-transfer-from-matlab.md:47 @@ -8784,8 +8617,8 @@ msgstr "匿名函数(例如,`@(x) sum(x.^2)`)用于简短的内联计算 #: ../../source/guide/developer/4-transfer-from-matlab.md:51 msgid "" -"Functions are defined using the def keyword, typically within a single " -"`.py` file or module." +"Functions are defined using the def keyword, typically within a single `.py`" +" file or module." msgstr "函数使用 `def` 关键字定义,通常在一个 `.py` 文件或模块中。" #: ../../source/guide/developer/4-transfer-from-matlab.md:52 @@ -8796,8 +8629,8 @@ msgstr "类用于以面向对象的方式封装数据和方法。" #: ../../source/guide/developer/4-transfer-from-matlab.md:53 msgid "" -"Lambdas serve as short anonymous functions (`lambda x: x.sum()`), but " -"multi-line lambdas are not allowed." +"Lambdas serve as short anonymous functions (`lambda x: x.sum()`), but multi-" +"line lambdas are not allowed." msgstr "Lambdas 作为简短的匿名函数使用(`lambda x: x.sum()`),但不允许使用多行 lambdas。" #: ../../source/guide/developer/4-transfer-from-matlab.md:55 @@ -8818,8 +8651,8 @@ msgstr "使用 `for i in range(N):`,采用从0开始的索引。" #: ../../source/guide/developer/4-transfer-from-matlab.md:65 msgid "" -"Indentation is significant for scoping in loops and conditionals (no " -"`end` keyword)." +"Indentation is significant for scoping in loops and conditionals (no `end` " +"keyword)." msgstr "缩进在循环和条件语句中对于确定作用域是重要的(没有 `end` 关键字)。" #: ../../source/guide/developer/4-transfer-from-matlab.md:67 @@ -8844,22 +8677,22 @@ msgstr "使用 `#` 进行单行注释。" #: ../../source/guide/developer/4-transfer-from-matlab.md:79 msgid "Multi-line Coding" -msgstr "" +msgstr "抱歉,我需要更多详细内容才能进行翻译。请提供具体的多行代码或完整的文本内容。" #: ../../source/guide/developer/4-transfer-from-matlab.md:83 msgid "" -"Uses `...` at the trailing of a line to indicate that the next line shall" -" be treated as the same line as." +"Uses `...` at the trailing of a line to indicate that the next line shall be" +" treated as the same line as." msgstr "使用 `...` 在行尾表示下一行应视为与当前行相同的一行。" #: ../../source/guide/developer/4-transfer-from-matlab.md:84 msgid "Python" -msgstr "" +msgstr "Python" #: ../../source/guide/developer/4-transfer-from-matlab.md:86 msgid "" -"Uses `\\` at the trailing of a line to indicate that the next line shall " -"be treated as the same line as." +"Uses `\\` at the trailing of a line to indicate that the next line shall be " +"treated as the same line as." msgstr "使用 `\\` 在行尾表示下一行应被视为与当前行相同的一行。" #: ../../source/guide/developer/4-transfer-from-matlab.md:87 @@ -8878,9 +8711,9 @@ msgstr "以下是PSO算法的MATLAB代码示例:" #: ../../source/guide/developer/4-transfer-from-matlab.md:154 msgid "" -"In MATLAB, function `init_pso()` initializes the algorithm, and a " -"separate function `step_pso()` performs an iteration step and the main " -"function `example_pso()` orchestrates the loop." +"In MATLAB, function `init_pso()` initializes the algorithm, and a separate " +"function `step_pso()` performs an iteration step and the main function " +"`example_pso()` orchestrates the loop." msgstr "" "在 MATLAB 中,函数 `init_pso()` 初始化算法,单独的函数 `step_pso()` 执行一个迭代步骤,主要函数 " "`example_pso()` 组织循环。" @@ -8895,33 +8728,35 @@ msgstr "在EvoX中,你可以通过以下方式构建PSO算法:" #: ../../source/guide/developer/4-transfer-from-matlab.md:159 msgid "" -"First, it is recommended to import necessary modules and functions from " -"EvoX and PyTorch." +"First, it is recommended to import necessary modules and functions from EvoX" +" and PyTorch." msgstr "首先,建议从 EvoX 和 PyTorch 导入必要的模块和函数。" #: ../../source/guide/developer/4-transfer-from-matlab.md:169 msgid "" -"Then, you can transform the MATLAB code to the python code " -"correspondingly according to the \"Syntax Differences\" section." +"Then, you can transform the MATLAB code to the python code correspondingly " +"according to the \"Syntax Differences\" section." msgstr "然后,您可以根据“语法差异”部分将MATLAB代码相应地转换为Python代码。" #: ../../source/guide/developer/4-transfer-from-matlab.md:238 msgid "" "It is worth noting that we use `[]` with `;` and `,` in MATLAB to " -"concatenate matrices and vectors along specific dimension; however, in " -"EvoX, the `torch.cat` must be invoked with argument `dim` to indicate the" -" concatenation dimension. Moreover, in PyTorch, tensors to be " -"concatenated must have the same number of dimensions; therefore, " -"additional `XXX.unsqueeze(0)` is applied to add a new dimension of length" -" 1 before the first dimension." -msgstr "值得注意的是,我们在MATLAB中使用`[]`与`;`和`,`来沿特定维度连接矩阵和向量;然而,在EvoX中,必须调用`torch.cat`并使用参数`dim`来指示连接的维度。此外,在PyTorch中,要连接的张量必须具有相同的维数;因此,额外的`XXX.unsqueeze(0)`被应用于在第一个维度之前添加一个长度为1的新维度。" +"concatenate matrices and vectors along specific dimension; however, in EvoX," +" the `torch.cat` must be invoked with argument `dim` to indicate the " +"concatenation dimension. Moreover, in PyTorch, tensors to be concatenated " +"must have the same number of dimensions; therefore, additional " +"`XXX.unsqueeze(0)` is applied to add a new dimension of length 1 before the " +"first dimension." +msgstr "" +"值得注意的是,我们在MATLAB中使用`[]`与`;`和`,`来沿特定维度连接矩阵和向量;然而,在EvoX中,必须调用`torch.cat`并使用参数`dim`来指示连接的维度。此外,在PyTorch中,要连接的张量必须具有相同的维数;因此,额外的`XXX.unsqueeze(0)`被应用于在第一个维度之前添加一个长度为1的新维度。" #: ../../source/guide/developer/4-transfer-from-matlab.md:242 msgid "" "In EvoX, the PSO logic is encapsulated within a class that inherits from " "`Algorithm`. This object-oriented design simplifies state management and " "iteration, and introduces following advantages:" -msgstr "在 EvoX 中,PSO 逻辑被封装在一个继承自 `Algorithm` 的类中。这种面向对象的设计简化了状态管理和迭代,并引入了以下优点:" +msgstr "" +"在 EvoX 中,PSO 逻辑被封装在一个继承自 `Algorithm` 的类中。这种面向对象的设计简化了状态管理和迭代,并引入了以下优点:" #: ../../source/guide/developer/4-transfer-from-matlab.md:243 msgid "" @@ -8940,30 +8775,28 @@ msgid "" msgstr "" "内置工作流集成\n" "\n" -"当您将您的 PSO 类注册到工作流 `StdWorkflow` 时,它会代表您处理对 [`step()`](#StdWorkflow.step) " -"的迭代调用。" +"当您将您的 PSO 类注册到工作流 `StdWorkflow` 时,它会代表您处理对 [`step()`](#StdWorkflow.step) 的迭代调用。" #: ../../source/guide/developer/4-transfer-from-matlab.md:248 msgid "" "By extending `Algorithm`, `__init__()` sets up all major PSO components " -"(population, velocity, local/global best, etc.) in a standard Python " -"class constructor." +"(population, velocity, local/global best, etc.) in a standard Python class " +"constructor." msgstr "" "通过扩展 `Algorithm`,`__init__()` 在标准的 Python 类构造函数中设置所有主要的 PSO " "组件(种群、速度、局部/全局最优等)。" #: ../../source/guide/developer/custom_hpo_prob.ipynb:10002 -#, fuzzy msgid "Deploy HPO with Custom Algorithms" -msgstr "2个CSO算法协同演化。" +msgstr "部署具有自定义算法的HPO" #: ../../source/guide/developer/custom_hpo_prob.ipynb:10004 msgid "" "In this chapter, we will focus on deploying HPO with custom algorithms, " "emphasizing the details rather than the overall workflow. A brief " "introduction to HPO deployment is provided in the previous chapter, " -"[Efficient HPO with EvoX](#/guide/user/3-hpo), and prior reading is " -"highly recommended." +"[Efficient HPO with EvoX](#/guide/user/3-hpo), and prior reading is highly " +"recommended." msgstr "" "在本章中,我们将专注于使用自定义算法部署HPO,强调细节而不是整体工作流。上一章[Efficient HPO with " "EvoX](#/guide/user/3-hpo)中提供了HPO部署的简要介绍,强烈建议事先阅读。" @@ -8982,8 +8815,8 @@ msgstr "由于我们需要将内部算法转化为问题,确保内部算法是 #: ../../source/guide/developer/custom_hpo_prob.ipynb:20006 msgid "" "To ensure the function is JIT-compilable, it must meet the conditions " -"outlined in [JIT components](#/guide/developer/2-jit-able). In addition " -"to these requirements, the algorithm must also satisfy the following two " +"outlined in [JIT components](#/guide/developer/2-jit-able). In addition to " +"these requirements, the algorithm must also satisfy the following two " "constraints:" msgstr "" "为了确保函数是 JIT 可编译的,它必须满足 [JIT components](#/guide/developer/2-jit-able) " @@ -9007,8 +8840,8 @@ msgstr "在 EvoX 中,我们可以通过 [`@trace_impl`](#trace_impl) 装饰器 #: ../../source/guide/developer/custom_hpo_prob.ipynb:20060 msgid "" -"The parameter of this decorator is a non-parallelizable function, and the" -" decorated function is a rewrite of the original function. Detailed " +"The parameter of this decorator is a non-parallelizable function, and the " +"decorated function is a rewrite of the original function. Detailed " "introduction of [`@trace_impl`](#trace_impl) can be found in [JIT " "Components](#/guide/developer/2-jit-able)." msgstr "" @@ -9017,9 +8850,9 @@ msgstr "" #: ../../source/guide/developer/custom_hpo_prob.ipynb:20062 msgid "" -"Under this mechanism, we can retain the original function for use outside" -" HPO tasks while enabling efficient computation within HPO tasks. " -"Moreover, this modification is highly convenient." +"Under this mechanism, we can retain the original function for use outside " +"HPO tasks while enabling efficient computation within HPO tasks. Moreover, " +"this modification is highly convenient." msgstr "在这种机制下,我们可以保留原始函数以便在 HPO 任务之外使用,同时在 HPO 任务中实现高效计算。此外,这种修改非常方便。" #: ../../source/guide/developer/custom_hpo_prob.ipynb:30002 @@ -9028,13 +8861,13 @@ msgstr "利用 HPOMonitor" #: ../../source/guide/developer/custom_hpo_prob.ipynb:30004 msgid "" -"In the HPO task, we should use the [`HPOMonitor`](#HPOMonitor) to track " -"the metrics of each inner algorithm. The [`HPOMonitor`](#HPOMonitor) adds" -" only one method, `tell_fitness`, compared to the standard " -"[`monitor`](#Monitor). This addition is designed to offer greater " -"flexibility in evaluating metrics, as HPO tasks often involve multi-" -"dimensional and complex metrics." -msgstr "在HPO任务中,我们应该使用[`HPOMonitor`](#HPOMonitor)来跟踪每个内部算法的指标。与标准的[`monitor`](#Monitor)相比,[`HPOMonitor`](#HPOMonitor)仅增加了一个方法,`tell_fitness`。此添加旨在提供更大的灵活性来评估指标,因为HPO任务通常涉及多维和复杂的指标。" +"In the HPO task, we should use the [`HPOMonitor`](#HPOMonitor) to track the " +"metrics of each inner algorithm. The [`HPOMonitor`](#HPOMonitor) adds only " +"one method, `tell_fitness`, compared to the standard [`monitor`](#Monitor). " +"This addition is designed to offer greater flexibility in evaluating " +"metrics, as HPO tasks often involve multi-dimensional and complex metrics." +msgstr "" +"在HPO任务中,我们应该使用[`HPOMonitor`](#HPOMonitor)来跟踪每个内部算法的指标。与标准的[`monitor`](#Monitor)相比,[`HPOMonitor`](#HPOMonitor)仅增加了一个方法,`tell_fitness`。此添加旨在提供更大的灵活性来评估指标,因为HPO任务通常涉及多维和复杂的指标。" #: ../../source/guide/developer/custom_hpo_prob.ipynb:30006 msgid "" @@ -9044,16 +8877,16 @@ msgstr "用户只需创建一个[`HPOMonitor`](#HPOMonitor)的子类,并重写 #: ../../source/guide/developer/custom_hpo_prob.ipynb:30008 msgid "" -"We also provide a simple [`HPOFitnessMonitor`](#HPOFitnessMonitor), which" -" supports calculating the 'IGD' and 'HV' metrics for multi-objective " +"We also provide a simple [`HPOFitnessMonitor`](#HPOFitnessMonitor), which " +"supports calculating the 'IGD' and 'HV' metrics for multi-objective " "problems, and the minimum value for single-objective problems." -msgstr "我们还提供了一个简单的[`HPOFitnessMonitor`](#HPOFitnessMonitor),支持计算多目标问题的“IGD”和“HV”指标,以及单目标问题的最小值。" +msgstr "" +"我们还提供了一个简单的[`HPOFitnessMonitor`](#HPOFitnessMonitor),支持计算多目标问题的“IGD”和“HV”指标,以及单目标问题的最小值。" #: ../../source/guide/developer/custom_hpo_prob.ipynb:40002 #: ../../source/guide/user/3-hpo.ipynb:50002 -#, fuzzy msgid "A simple example" -msgstr "代码样例" +msgstr "一个简单的示例" #: ../../source/guide/developer/custom_hpo_prob.ipynb:40004 msgid "" @@ -9061,8 +8894,7 @@ msgid "" "will use the [`PSO`](#PSO) algorithm to search for the optimal hyper-" "parameters of a basic algorithm to solve the sphere problem." msgstr "" -"在这里,我们将演示如何使用 EvoX 进行 HPO 的简单示例。我们将使用 [`PSO`](#PSO) " -"算法来搜索基本算法的最佳超参数,以解决球体问题。" +"在这里,我们将演示如何使用 EvoX 进行 HPO 的简单示例。我们将使用 [`PSO`](#PSO) 算法来搜索基本算法的最佳超参数,以解决球体问题。" #: ../../source/guide/developer/custom_hpo_prob.ipynb:40006 msgid "First, let's import the necessary modules." @@ -9070,8 +8902,8 @@ msgstr "首先,让我们导入必要的模块。" #: ../../source/guide/developer/custom_hpo_prob.ipynb:60002 msgid "" -"Next, we define an simple sphere problem. Note that this has no " -"difference from the common [`problems`](#evox.problems)." +"Next, we define an simple sphere problem. Note that this has no difference " +"from the common [`problems`](#evox.problems)." msgstr "接下来,我们定义一个简单的球体问题。请注意,这与常见的[`problems`](#evox.problems)没有区别。" #: ../../source/guide/developer/custom_hpo_prob.ipynb:80002 @@ -9080,7 +8912,8 @@ msgid "" "parallelizable, so we rewrite it using the [`@trace_impl`](#trace_impl) " "decorator to make it parallelizable. Specifically, we modify in-place " "operations and adjust the Python control flow." -msgstr "接下来,我们定义算法。原始的`step`函数是不可并行化的,因此我们使用[`@trace_impl`](#trace_impl)装饰器重写它以实现并行化。具体来说,我们修改了就地操作并调整了Python控制流。" +msgstr "" +"接下来,我们定义算法。原始的`step`函数是不可并行化的,因此我们使用[`@trace_impl`](#trace_impl)装饰器重写它以实现并行化。具体来说,我们修改了就地操作并调整了Python控制流。" #: ../../source/guide/developer/custom_hpo_prob.ipynb:100002 msgid "" @@ -9089,9 +8922,9 @@ msgid "" "Since, in tracing mode, variables outside the method may be incorrectly " "interpreted as static variables, we need to use state to track them. A " "detailed introduction to [`TracingCond`](#TracingCond), " -"[`TracingWhile`](#TracingWhile) and [`TracingSwitch`](#TracingSwitch) can" -" be found in [JIT Components](#/guide/developer/2-jit-able). Below, we " -"provide two equivalent implementations for the `trace_step` method." +"[`TracingWhile`](#TracingWhile) and [`TracingSwitch`](#TracingSwitch) can be" +" found in [JIT Components](#/guide/developer/2-jit-able). Below, we provide " +"two equivalent implementations for the `trace_step` method." msgstr "" "要处理 Python 控制流,我们使用 " "[`TracingCond`](#TracingCond)、[`TracingWhile`](#TracingWhile) 和 " @@ -9116,10 +8949,10 @@ msgstr "" #: ../../source/guide/developer/custom_hpo_prob.ipynb:120002 msgid "" -"We can test whether the [`HPOProblemWrapper`](#HPOProblemWrapper) " -"correctly recognizes the hyper-parameters we defined. Since we have made " -"no modifications to the hyper-parameters for the 7 instances, they should" -" be identical across all instances." +"We can test whether the [`HPOProblemWrapper`](#HPOProblemWrapper) correctly " +"recognizes the hyper-parameters we defined. Since we have made no " +"modifications to the hyper-parameters for the 7 instances, they should be " +"identical across all instances." msgstr "" "我们可以测试 [`HPOProblemWrapper`](#HPOProblemWrapper) " "是否正确识别了我们定义的超参数。由于我们没有对7个实例的超参数进行修改,它们在所有实例中应该是相同的。" @@ -9131,22 +8964,22 @@ msgid "" "[`HPOProblemWrapper`](#HPOProblemWrapper). The custom hyper-parameters " "should be provided as a dictionary whose values are wrapped in the " "[`Parameter`](#Parameter)." -msgstr "我们也可以指定自己的一组超参数值。请注意,超参数集的数量必须与[`HPOProblemWrapper`](#HPOProblemWrapper)中的实例数量相匹配。自定义超参数应作为字典提供,其值被包装在[`Parameter`](#Parameter)中。" +msgstr "" +"我们也可以指定自己的一组超参数值。请注意,超参数集的数量必须与[`HPOProblemWrapper`](#HPOProblemWrapper)中的实例数量相匹配。自定义超参数应作为字典提供,其值被包装在[`Parameter`](#Parameter)中。" #: ../../source/guide/developer/custom_hpo_prob.ipynb:160002 msgid "" -"Now, we use the [`PSO`](#PSO) algorithm to optimize the hyper-parameters " -"of `ExampleAlgorithm`. Note that the population size of the [`PSO`](#PSO)" -" must match the number of instances; otherwise, unexpected errors may " -"occur. In this case, we need to transform the solution in the outer " -"workflow, as the [`HPOProblemWrapper`](#HPOProblemWrapper) requires a " -"dictionary as input." -msgstr "现在,我们使用[`PSO`](#PSO)算法来优化`ExampleAlgorithm`的超参数。请注意,[`PSO`](#PSO)的种群大小必须与实例数量匹配,否则可能会发生意外错误。在这种情况下,我们需要在外部工作流中转换解决方案,因为[`HPOProblemWrapper`](#HPOProblemWrapper)需要一个字典作为输入。" +"Now, we use the [`PSO`](#PSO) algorithm to optimize the hyper-parameters of " +"`ExampleAlgorithm`. Note that the population size of the [`PSO`](#PSO) must " +"match the number of instances; otherwise, unexpected errors may occur. In " +"this case, we need to transform the solution in the outer workflow, as the " +"[`HPOProblemWrapper`](#HPOProblemWrapper) requires a dictionary as input." +msgstr "" +"现在,我们使用[`PSO`](#PSO)算法来优化`ExampleAlgorithm`的超参数。请注意,[`PSO`](#PSO)的种群大小必须与实例数量匹配,否则可能会发生意外错误。在这种情况下,我们需要在外部工作流中转换解决方案,因为[`HPOProblemWrapper`](#HPOProblemWrapper)需要一个字典作为输入。" #: ../../source/guide/developer/environment.md:1 -#, fuzzy msgid "Develop environment" -msgstr "环境名。" +msgstr "开发环境" #: ../../source/guide/developer/environment.md:3 msgid "Clone the repository and install it in editable mode (recommended)" @@ -9155,6 +8988,7 @@ msgstr "克隆仓库并以可编辑模式安装(推荐)" #: ../../source/guide/developer/environment.md:11 msgid "Nix" msgstr "" +"抱歉,我不清楚您提供的文本“Nix”是需要翻译的目标内容,还是一个占位符。如果您能够更明确地提供要翻译的实际文本内容,我很乐意为您翻译成中文。" #: ../../source/guide/developer/environment.md:13 msgid "Enable the Nix environment by running the following command:" @@ -9162,21 +8996,21 @@ msgstr "启用 Nix 环境,请运行以下命令:" #: ../../source/guide/developer/environment.md:17 msgid "" -"This will create a shell with all the necessary dependencies and a " -"`.venv` directory with the Python environment." +"This will create a shell with all the necessary dependencies and a `.venv` " +"directory with the Python environment." msgstr "这将创建一个包含所有必要依赖项的 shell 和一个带有 Python 环境的 `.venv` 目录。" #: ../../source/guide/developer/environment.md:19 -#, fuzzy msgid "Style guide" -msgstr "用户指引" +msgstr "样式指南" #: ../../source/guide/developer/environment.md:21 msgid "EvoX's has the following style guide:" -msgstr "" +msgstr "EvoX 的风格指南如下:" #: ../../source/guide/developer/environment.md:22 -msgid "Make sure to use [ruff](https://docs.astral.sh/ruff/) to lint your code." +msgid "" +"Make sure to use [ruff](https://docs.astral.sh/ruff/) to lint your code." msgstr "确保使用 [ruff](https://docs.astral.sh/ruff/) 来检查你的代码。" #: ../../source/guide/developer/environment.md:23 @@ -9215,9 +9049,8 @@ msgid "Developer Guide" msgstr "开发者指引" #: ../../source/guide/experimental/index.md:1 -#, fuzzy msgid "Experimental Features" -msgstr "关键特征" +msgstr "实验性功能" #: ../../source/guide/install/index.md:1 msgid "Installation Guide" @@ -9232,43 +9065,39 @@ msgid "Install EvoX" msgstr "安装EvoX" #: ../../source/guide/install/install.md:5 -#, fuzzy msgid "EvoX is available at PyPI and can be installed via:" -msgstr "EvoX 可以在 PyPI 上找到,可以通过以下方式安装:" +msgstr "EvoX 可通过 PyPI 获取,并可通过以下方式安装:" #: ../../source/guide/install/install.md:16 -#, fuzzy msgid "" "You can also assign extra options during the installation, currently " "available extras are `gymnasium`, `neuroevolution`, `envpool`, " -"`distributed`, and `full`. For example, to install EvoX with all " -"features, run the following command:" +"`distributed`, and `full`. For example, to install EvoX with all features, " +"run the following command:" msgstr "" -"EvoX 提供多种可选特性,包括 " -"`gymnasium`、`neuroevolution`、`envpool`、`distributed`和`full`(包含所有特性)。例如,要安装包含所有特性的" -" EvoX,您可以使用以下命令:" +"您还可以在安装过程中指定额外选项,目前可用的额外选项包括 " +"`gymnasium`、`neuroevolution`、`envpool`、`distributed` 和 `full`。例如,要安装包含所有功能的 " +"EvoX,请运行以下命令:" #: ../../source/guide/install/install.md:22 -#, fuzzy msgid "Install PyTorch with accelerator support" -msgstr "安装支持GPU加速的JAX" +msgstr "安装支持加速器的 PyTorch" #: ../../source/guide/install/install.md:24 -#, fuzzy msgid "" "`evox` relies on `torch` to provide hardware acceleration. The overall " "architecture of these Python packages looks like this:" -msgstr "`EvoX`依赖于`JAX`来提供硬件加速的能力。这些Python包的整体架构如下:" +msgstr "`evox` 依赖于 `torch` 提供硬件加速。这些 Python 包的整体架构如下所示:" #: ../../source/guide/install/install.md:42 msgid "" -"To summarize, whether `evox` has CPU support or Nvidia GPU support (CUDA)" -" or AMD GPU support (ROCm) depends on the installed PyTorch version. " -"Please refer to the PyTorch official website for more installation help: " +"To summarize, whether `evox` has CPU support or Nvidia GPU support (CUDA) or" +" AMD GPU support (ROCm) depends on the installed PyTorch version. Please " +"refer to the PyTorch official website for more installation help: " "[`torch`](https://pytorch.org/)" msgstr "" -"总之,`evox` 是否支持 CPU、Nvidia GPU (CUDA) 或 AMD GPU (ROCm) 取决于安装的 PyTorch " -"版本。请参考 PyTorch 官方网站以获取更多安装帮助:[`torch`](https://pytorch.org/)" +"总之,`evox` 是否支持 CPU、Nvidia GPU (CUDA) 或 AMD GPU (ROCm) 取决于安装的 PyTorch 版本。请参考 " +"PyTorch 官方网站以获取更多安装帮助:[`torch`](https://pytorch.org/)" #: ../../source/guide/install/install.md:45 msgid "Nvidia GPU support on Windows" @@ -9282,8 +9111,8 @@ msgstr "EvoX通过PyTorch支持GPU加速。在Windows上使用PyTorch进行GPU #: ../../source/guide/install/install.md:50 msgid "" -"Using WSL 2 (Windows Subsystem for Linux) and install PyTorch on the " -"Linux side." +"Using WSL 2 (Windows Subsystem for Linux) and install PyTorch on the Linux " +"side." msgstr "使用 WSL 2(Windows Subsystem for Linux)并在 Linux 端安装 PyTorch。" #: ../../source/guide/install/install.md:51 @@ -9291,34 +9120,30 @@ msgid "Directly install PyTorch on Windows." msgstr "直接在 Windows 上安装 PyTorch。" #: ../../source/guide/install/install.md:53 -#, fuzzy msgid "" "We also provide a [one-click script](/_static/win-install.bat) for fast " "deployment on fresh installed windows 10/11 64bit with Nvidia GPUs. The " "script will not use WSL 2 and will install the native Pytorch version on " -"Windows. It will automatically install related applications like VSCode, " -"Git and MiniForge3." +"Windows. It will automatically install related applications like VSCode, Git" +" and MiniForge3." msgstr "" -"我们还提供了一个[一键脚本](https://github.com/EMI-Group/evox/blob/main/win-" -"install.bat),用于在全新安装的 Windows 10/11 64 位系统上快速部署,支持 Nvidia GPUs。该脚本不会使用 " -"WSL 2,而是在 Windows 上安装本地的 Pytorch 版本。它将自动安装相关应用程序,如 VSCode、Git 和 " -"MiniForge3。" +"我们还提供了一个[一键脚本](/_static/win-install.bat),用于在全新安装的 Windows 10/11 64 位系统(配备 " +"Nvidia GPUs)上快速部署。该脚本不会使用 WSL 2,而是在 Windows 上安装本地版本的 Pytorch。它会自动安装相关应用程序,例如" +" VSCode、Git 和 MiniForge3。" #: ../../source/guide/install/install.md:55 -#, fuzzy msgid "" "Ensure the [Nvidia " -"driver](https://www.nvidia.com/Download/index.aspx?lang=en-us) is " -"properly installed first. Otherwise the script will fall back to cpu " -"mode." +"driver](https://www.nvidia.com/Download/index.aspx?lang=en-us) is properly " +"installed first. Otherwise the script will fall back to cpu mode." msgstr "" -"下载 [最新的NVIDIA Windows " -"GPU驱动](https://www.nvidia.com/Download/index.aspx?lang=en-us),并安装." +"确保先正确安装 [Nvidia driver](https://www.nvidia.com/Download/index.aspx?lang=en-" +"us)。否则脚本将回退到 cpu 模式。" #: ../../source/guide/install/install.md:56 msgid "" -"When running the script, ensure a stable network (accessible to " -"`github.com` etc.)." +"When running the script, ensure a stable network (accessible to `github.com`" +" etc.)." msgstr "运行脚本时,确保网络稳定(可访问 `github.com` 等)。" #: ../../source/guide/install/install.md:57 @@ -9328,37 +9153,32 @@ msgid "" msgstr "如果脚本因网络故障而失败,请关闭并重新打开以继续安装。" #: ../../source/guide/install/install.md:59 -#, fuzzy msgid "Windows WSL 2 (optional)" -msgstr "Windows WSL 2" +msgstr "Windows WSL 2(可选)" #: ../../source/guide/install/install.md:61 -#, fuzzy msgid "" "Download the [latest NVIDIA Windows GPU " -"Driver](https://www.nvidia.com/Download/index.aspx?lang=en-us) and " -"install it. Then your WSL 2 will support Nvidia GPUs in its Linux " -"environments." +"Driver](https://www.nvidia.com/Download/index.aspx?lang=en-us) and install " +"it. Then your WSL 2 will support Nvidia GPUs in its Linux environments." msgstr "" -"下载 [最新的NVIDIA Windows " -"GPU驱动](https://www.nvidia.com/Download/index.aspx?lang=en-us),并安装." +"下载并安装[最新的 NVIDIA Windows GPU " +"驱动程序](https://www.nvidia.com/Download/index.aspx?lang=en-us)。然后,您的 WSL 2 将在其" +" Linux 环境中支持 Nvidia GPU。" #: ../../source/guide/install/install.md:64 -#, fuzzy msgid "" "Do **NOT** install any NVIDIA GPU Linux driver within WSL 2. Install the " "driver on the Windows side." -msgstr "" -"请**不要**在 WSL 2 内部安装任何 NVIDIA GPU Linux 驱动程序。GPU 驱动程序属于内核空间程序,应安装在 Windows" -" 主机系统上。" +msgstr "请**不要**在WSL 2中安装任何NVIDIA GPU Linux驱动。在Windows端安装驱动。" #: ../../source/guide/install/install.md:68 msgid "" "NVIDIA has a detailed [CUDA on WSL User " "Guide](https://docs.nvidia.com/cuda/wsl-user-guide/index.html)" msgstr "" -"NVIDIA官方有一个详细的教程 [CUDA on WSL User Guide](https://docs.nvidia.com/cuda" -"/wsl-user-guide/index.html)" +"NVIDIA官方有一个详细的教程 [CUDA on WSL User Guide](https://docs.nvidia.com/cuda/wsl-" +"user-guide/index.html)" #: ../../source/guide/install/install.md:71 msgid "AMD GPU (ROCm) support" @@ -9368,12 +9188,12 @@ msgstr "AMD GPU (ROCm) 支持" msgid "" "We recommend using a Docker container from " "[`rocm/pytorch`](https://hub.docker.com/r/rocm/pytorch)." -msgstr "我们建议使用来自[`rocm/pytorch`](https://hub.docker.com/r/rocm/pytorch)的Docker容器。" +msgstr "" +"我们建议使用来自[`rocm/pytorch`](https://hub.docker.com/r/rocm/pytorch)的Docker容器。" #: ../../source/guide/install/install.md:79 -#, fuzzy msgid "Verify the installation" -msgstr "验证安装是否正确" +msgstr "验证安装" #: ../../source/guide/install/install.md:81 msgid "Open a Python terminal, and run the following:" @@ -9385,12 +9205,11 @@ msgstr "Python安装教程" #: ../../source/guide/install/python.md:3 msgid "" -"EvoX is written in Python, so you will need to have Python installed on " -"your system. EvoX support Python 3.9 and above, and we recommend using " -"the latest version of Python." +"EvoX is written in Python, so you will need to have Python installed on your" +" system. EvoX support Python 3.9 and above, and we recommend using the " +"latest version of Python." msgstr "" -"EvoX是用Python写的,所以你需要先在你的系统上安装Python。EvoX支持Python " -"3.9及以上,同时我们推荐使用最新版的Python。" +"EvoX是用Python写的,所以你需要先在你的系统上安装Python。EvoX支持Python 3.9及以上,同时我们推荐使用最新版的Python。" #: ../../source/guide/install/python.md:6 msgid "Windows Version" @@ -9398,8 +9217,8 @@ msgstr "Windows 版本" #: ../../source/guide/install/python.md:8 msgid "" -"Go to [Download Python](https://www.python.org/downloads/) and download " -"the latest version of Python." +"Go to [Download Python](https://www.python.org/downloads/) and download the " +"latest version of Python." msgstr "访问[Download Python](https://www.python.org/downloads/) 来下载最新版的Python。" #: ../../source/guide/install/python.md:11 @@ -9415,8 +9234,7 @@ msgstr "Linux 版本" #: ../../source/guide/install/python.md:16 msgid "" "Different Linux distributions have different ways to install Python. It " -"depends on the package manager of your distribution. Here are some " -"examples:" +"depends on the package manager of your distribution. Here are some examples:" msgstr "不同的Linux发行版有不同的安装Python的方式。这取决于发行版所用的包管理器。这里有些例子:" #: ../../source/guide/install/python.md:19 @@ -9437,8 +9255,8 @@ msgstr "快速开始" #: ../../source/guide/user/1-start.ipynb:10004 msgid "" -"In this notebook, we will help you be familiar with EvoX through an " -"simple example." +"In this notebook, we will help you be familiar with EvoX through an simple " +"example." msgstr "在这个笔记本中,我们将通过一个简单的例子帮助您熟悉EvoX。" #: ../../source/guide/user/1-start.ipynb:10006 @@ -9453,50 +9271,50 @@ msgstr "EvoX中的基本运行过程" msgid "" "As a distributed GPU-accelerated framework for scalable evolutionary " "computation, EvoX can be used to do many kinds computations, so we say " -"\"EvoX is all you need\". Though many kinds of computations are different" -" more or less, in EvoX we standardize the basic running process:" -msgstr "作为一个分布式GPU加速框架,用于可扩展的演化计算,EvoX可以用于进行多种计算,因此我们说“EvoX是你所需要的一切”。尽管许多类型的计算或多或少有所不同,但在EvoX中,我们标准化了基本的运行过程:" +"\"EvoX is all you need\". Though many kinds of computations are different " +"more or less, in EvoX we standardize the basic running process:" +msgstr "" +"作为一个分布式GPU加速框架,用于可扩展的演化计算,EvoX可以用于进行多种计算,因此我们说“EvoX是你所需要的一切”。尽管许多类型的计算或多或少有所不同,但在EvoX中,我们标准化了基本的运行过程:" #: ../../source/guide/user/1-start.ipynb:40013 msgid "" -"EvoX offers a comprehensive suite of 50+ Evolutionary Algorithms (EAs) " -"and a wide range of 100+ Benchmark Problems/Environments, all benefiting " -"from distributed GPU-acceleration." +"EvoX offers a comprehensive suite of 50+ Evolutionary Algorithms (EAs) and a" +" wide range of 100+ Benchmark Problems/Environments, all benefiting from " +"distributed GPU-acceleration." msgstr "EvoX 提供了一个全面的套件,包括50多个演化算法(EAs)和100多个基准问题/环境,所有这些都受益于分布式GPU加速。" #: ../../source/guide/user/1-start.ipynb:40015 -#, fuzzy msgid "" "For more details, please refer to our API documentation: [List of " "Algorithms](#evox.algorithms) and [List of Problems](#evox.problems)." msgstr "" -"有关更详细的列表,请参阅我们的 API " -"文档。[算法列表](https://evox.readthedocs.io/en/latest/api/algorithms/index.html)" -" 和 [问题列表](https://evox.readthedocs.io/en/latest/api/problems/index.html)。" +"有关更多详细信息,请参阅我们的API文档:[List of Algorithms](#evox.algorithms) 和 [List of " +"Problems](#evox.problems)。" #: ../../source/guide/user/1-start.ipynb:40017 msgid "" -"Here we will create a [PSO](#evox.algorithms.pso_variants.pso) algorithm " -"and an [Ackley](#evox.problems.numerical.basic.Ackley) function problem." +"Here we will create a [PSO](#evox.algorithms.pso_variants.pso) algorithm and" +" an [Ackley](#evox.problems.numerical.basic.Ackley) function problem." msgstr "" "在这里,我们将创建一个 [PSO](#evox.algorithms.pso_variants.pso) 算法和一个 " "[Ackley](#evox.problems.numerical.basic.Ackley) 函数问题。" #: ../../source/guide/user/1-start.ipynb:60002 msgid "" -"Notice the algorithm and problem themselves do not contain the monitoring" -" of the steps, so we will not get any feed back only depending on them. " -"It turns out that we need a **monitor**." +"Notice the algorithm and problem themselves do not contain the monitoring of" +" the steps, so we will not get any feed back only depending on them. It " +"turns out that we need a **monitor**." msgstr "请注意,算法和问题本身并不包含步骤的监控,因此仅依靠它们我们不会得到任何反馈。事实证明,我们需要一个**monitor**。" #: ../../source/guide/user/1-start.ipynb:60006 -#, fuzzy msgid "" -"[`Monitor`](#evox.workflows.eval_monitor.EvalMonitor) is a standard class" -" in EvoX to monitor the intermediate values inside a optimization " -"process. Information like fitness or population can be easily obtained by" -" the monitor." -msgstr "监视器是监控优化过程中中间值的标准方法。像适应度或种群这样的信息可以通过监视器轻松获得。" +"[`Monitor`](#evox.workflows.eval_monitor.EvalMonitor) is a standard class in" +" EvoX to monitor the intermediate values inside a optimization process. " +"Information like fitness or population can be easily obtained by the " +"monitor." +msgstr "" +"[`Monitor`](#evox.workflows.eval_monitor.EvalMonitor) 是 EvoX " +"中的一个标准类,用于监视优化过程中的中间值。像适应度或种群这样的信息可以通过 Monitor 轻松获取。" #: ../../source/guide/user/1-start.ipynb:60008 msgid "Doing is better than saying, so let us create a “Evaluation monitor”:" @@ -9504,18 +9322,18 @@ msgstr "做比说更好,所以让我们创建一个“Evaluation monitor”: #: ../../source/guide/user/1-start.ipynb:80004 msgid "" -"A **workflow** outlines the series of steps required to accomplish a task" -" or project. In EvoX, a workflow represents the overall process of " -"evolutionary computation, putting the algorithm, problem and monitor " -"together." +"A **workflow** outlines the series of steps required to accomplish a task or" +" project. In EvoX, a workflow represents the overall process of evolutionary" +" computation, putting the algorithm, problem and monitor together." msgstr "一个**工作流**概述了完成任务或项目所需的一系列步骤。在 EvoX 中,工作流代表了演化计算的整体过程,将算法、问题和监控器结合在一起。" #: ../../source/guide/user/1-start.ipynb:80006 msgid "" -"If we want to run the algorithm to solve the problem with a monitor, we " -"need to create a workflow of the " -"[`Workflow`](#evox.core.components.Workflow) class." -msgstr "如果我们想运行算法来解决带有监视器的问题,我们需要创建一个[`Workflow`](#evox.core.components.Workflow)类的工作流。" +"If we want to run the algorithm to solve the problem with a monitor, we need" +" to create a workflow of the [`Workflow`](#evox.core.components.Workflow) " +"class." +msgstr "" +"如果我们想运行算法来解决带有监视器的问题,我们需要创建一个[`Workflow`](#evox.core.components.Workflow)类的工作流。" #: ../../source/guide/user/1-start.ipynb:100004 msgid "Now, we can run the workflow:" @@ -9523,28 +9341,28 @@ msgstr "现在,我们可以运行工作流:" #: ../../source/guide/user/1-start.ipynb:130002 msgid "" -"Congretulations if you can reproduce the Quick Start demo! Hope you enjoy" -" the EvoX!" +"Congretulations if you can reproduce the Quick Start demo! Hope you enjoy " +"the EvoX!" msgstr "恭喜你能够重现快速入门演示!希望你喜欢EvoX!" #: ../../source/guide/user/2-problems.ipynb:40002 -#, fuzzy msgid "Use EvoX to solve Neuroevolution Tasks" -msgstr "神经演化任务" +msgstr "使用 EvoX 解决 Neuroevolution 任务" #: ../../source/guide/user/2-problems.ipynb:40003 msgid "" -"Neuroevolution is an optimization method that combines neural networks " -"with evolutionary algorithms to evolve the structure and parameters of " -"neural networks. By simulating natural selection and genetic mechanisms, " -"Neuroevolution aims to optimize neural network architectures and weights," -" addressing complex problems such as game AI, robotic control, and more." -msgstr "神经演化是一种优化方法,它将神经网络与演化算法结合起来,以演化神经网络的结构和参数。通过模拟自然选择和遗传机制,神经演化旨在优化神经网络的架构和权重,解决复杂问题,如游戏AI、机器人控制等。" +"Neuroevolution is an optimization method that combines neural networks with " +"evolutionary algorithms to evolve the structure and parameters of neural " +"networks. By simulating natural selection and genetic mechanisms, " +"Neuroevolution aims to optimize neural network architectures and weights, " +"addressing complex problems such as game AI, robotic control, and more." +msgstr "" +"神经演化是一种优化方法,它将神经网络与演化算法结合起来,以演化神经网络的结构和参数。通过模拟自然选择和遗传机制,神经演化旨在优化神经网络的架构和权重,解决复杂问题,如游戏AI、机器人控制等。" #: ../../source/guide/user/2-problems.ipynb:40005 msgid "" -"In our example of neuroevolution tasks, Brax is needed. So it is " -"recommended to install Brax if you want to replicate this example." +"In our example of neuroevolution tasks, Brax is needed. So it is recommended" +" to install Brax if you want to replicate this example." msgstr "在我们的神经演化任务示例中,需要使用 Brax。因此,如果您想复制此示例,建议安装 Brax。" #: ../../source/guide/user/2-problems.ipynb:50007 @@ -9553,24 +9371,24 @@ msgid "" "information, you can browse the [Github of " "Brax](https://github.com/google/brax)." msgstr "" -"在这里,我们将演示Brax的“swimmer”环境。有关更多信息,您可以浏览" -"[Github of Brax](https://github.com/google/brax)。" +"在这里,我们将演示Brax的“swimmer”环境。有关更多信息,您可以浏览[Github of " +"Brax](https://github.com/google/brax)。" #: ../../source/guide/user/2-problems.ipynb:100006 msgid "" -"[`to_vector`](#evox.utils.parameters_and_vector.ParamsAndVector.to_vector)" -" can convert a parameters dictionary to a vector." +"[`to_vector`](#evox.utils.parameters_and_vector.ParamsAndVector.to_vector) " +"can convert a parameters dictionary to a vector." msgstr "" -"[`to_vector`](#evox.utils.parameters_and_vector.ParamsAndVector.to_vector)" -" 可以将参数字典转换为向量。" +"[`to_vector`](#evox.utils.parameters_and_vector.ParamsAndVector.to_vector) " +"可以将参数字典转换为向量。" #: ../../source/guide/user/2-problems.ipynb:100007 msgid "" -"[`to_params`](#evox.utils.parameters_and_vector.ParamsAndVector.to_params)" -" can convert a vector back to a parameters dictionary." +"[`to_params`](#evox.utils.parameters_and_vector.ParamsAndVector.to_params) " +"can convert a vector back to a parameters dictionary." msgstr "" -"[`to_params`](#evox.utils.parameters_and_vector.ParamsAndVector.to_params)" -" 可以将一个向量转换回参数字典。" +"[`to_params`](#evox.utils.parameters_and_vector.ParamsAndVector.to_params) " +"可以将一个向量转换回参数字典。" #: ../../source/guide/user/2-problems.ipynb:100009 msgid "There are also batched version conversion." @@ -9593,9 +9411,8 @@ msgstr "" " 可以将一批向量转换回批量参数字典。" #: ../../source/guide/user/3-hpo.ipynb:10002 -#, fuzzy msgid "Efficient HPO with EvoX" -msgstr "用EvoX解决Pong问题" +msgstr "高效超参数优化(HPO)使用 EvoX" #: ../../source/guide/user/3-hpo.ipynb:10004 msgid "" @@ -9606,15 +9423,15 @@ msgstr "在本章中,我们将探讨如何使用 EvoX 进行超参数优化 (H #: ../../source/guide/user/3-hpo.ipynb:10006 msgid "" "HPO plays a crucial role in many machine learning tasks but is often " -"overlooked due to its high computational cost, which can sometimes take " -"days to process, as well as the challenges involved in deployment." +"overlooked due to its high computational cost, which can sometimes take days" +" to process, as well as the challenges involved in deployment." msgstr "HPO 在许多机器学习任务中起着至关重要的作用,但由于其高计算成本(有时需要几天的处理时间)以及部署过程中涉及的挑战,常常被忽视。" #: ../../source/guide/user/3-hpo.ipynb:10008 msgid "" "With EvoX, we can simplify HPO deployment using the " -"[`HPOProblemWrapper`](#HPOProblemWrapper) and achieve efficient " -"computation by leveraging the `vmap` method and GPU acceleration." +"[`HPOProblemWrapper`](#HPOProblemWrapper) and achieve efficient computation " +"by leveraging the `vmap` method and GPU acceleration." msgstr "" "使用 EvoX,我们可以通过 [`HPOProblemWrapper`](#HPOProblemWrapper) 简化 HPO 部署,并通过利用 " "`vmap` 方法和 GPU 加速实现高效计算。" @@ -9624,19 +9441,19 @@ msgid "Transforming Workflow into Problem" msgstr "将工作流转化为问题" #: ../../source/guide/user/3-hpo.ipynb:20004 -#, fuzzy msgid "HPO structure" -msgstr "文档的结构" +msgstr "HPO 结构" #: ../../source/guide/user/3-hpo.ipynb:20010 msgid "" "The key to deploying HPO with EvoX is to transform the " -"[`workflows`](#evox.workflows) into [`problems`](#evox.problems) using " -"the [`HPOProblemWrapper`](#HPOProblemWrapper). Once transformed, we can " -"treat the [`workflows`](#evox.workflows) as standard " -"[`problems`](#evox.problems). The input to the 'HPO problem' consists of " -"the hyper-parameters, and the output is the evaluation metrics." -msgstr "将HPO与EvoX一起部署的关键是使用[`HPOProblemWrapper`](#HPOProblemWrapper)将[`workflows`](#evox.workflows)转换为[`problems`](#evox.problems)。一旦转换完成,我们可以将[`workflows`](#evox.workflows)视为标准的[`problems`](#evox.problems)。'HPO问题'的输入由超参数组成,输出是评估指标。" +"[`workflows`](#evox.workflows) into [`problems`](#evox.problems) using the " +"[`HPOProblemWrapper`](#HPOProblemWrapper). Once transformed, we can treat " +"the [`workflows`](#evox.workflows) as standard [`problems`](#evox.problems)." +" The input to the 'HPO problem' consists of the hyper-parameters, and the " +"output is the evaluation metrics." +msgstr "" +"将HPO与EvoX一起部署的关键是使用[`HPOProblemWrapper`](#HPOProblemWrapper)将[`workflows`](#evox.workflows)转换为[`problems`](#evox.problems)。一旦转换完成,我们可以将[`workflows`](#evox.workflows)视为标准的[`problems`](#evox.problems)。'HPO问题'的输入由超参数组成,输出是评估指标。" #: ../../source/guide/user/3-hpo.ipynb:30002 msgid "The Key Component -- `HPOProblemWrapper`" @@ -9645,9 +9462,9 @@ msgstr "关键组件 -- `HPOProblemWrapper" #: ../../source/guide/user/3-hpo.ipynb:30004 msgid "" "To ensure the [`HPOProblemWrapper`](#HPOProblemWrapper) recognizes the " -"hyper-parameters, we need to wrap them using [`Parameter`](#Parameter). " -"With this straightforward step, the hyper-parameters will be " -"automatically identified." +"hyper-parameters, we need to wrap them using [`Parameter`](#Parameter). With" +" this straightforward step, the hyper-parameters will be automatically " +"identified." msgstr "" "为了确保 [`HPOProblemWrapper`](#HPOProblemWrapper) 识别超参数,我们需要使用 " "[`Parameter`](#Parameter) 来包装它们。通过这个简单的步骤,超参数将被自动识别。" @@ -9659,17 +9476,17 @@ msgstr "利用 `HPOFitnessMonitor" #: ../../source/guide/user/3-hpo.ipynb:40004 msgid "" "We provide an [`HPOFitnessMonitor`](#HPOFitnessMonitor) that supports " -"calculating 'IGD' and 'HV' metrics for multi-objective problems, as well " -"as the minimum value for single-objective problems." -msgstr "我们提供了一个[`HPOFitnessMonitor`](#HPOFitnessMonitor),支持计算多目标问题的“IGD”和“HV”指标,以及单目标问题的最小值。" +"calculating 'IGD' and 'HV' metrics for multi-objective problems, as well as " +"the minimum value for single-objective problems." +msgstr "" +"我们提供了一个[`HPOFitnessMonitor`](#HPOFitnessMonitor),支持计算多目标问题的“IGD”和“HV”指标,以及单目标问题的最小值。" #: ../../source/guide/user/3-hpo.ipynb:40006 msgid "" -"It is important to note that the " -"[`HPOFitnessMonitor`](#HPOFitnessMonitor) is a basic monitor designed for" -" HPO problems. You can also create your own customized monitor flexibly " -"using the approach outlined in [Deploy HPO with Custom " -"Algorithms](#/guide/developer/custom_hpo_prob)." +"It is important to note that the [`HPOFitnessMonitor`](#HPOFitnessMonitor) " +"is a basic monitor designed for HPO problems. You can also create your own " +"customized monitor flexibly using the approach outlined in [Deploy HPO with " +"Custom Algorithms](#/guide/developer/custom_hpo_prob)." msgstr "" "请注意,[`HPOFitnessMonitor`](#HPOFitnessMonitor) 是一个为 HPO " "问题设计的基本监视器。您还可以使用[使用自定义算法部署 " @@ -9678,9 +9495,8 @@ msgstr "" #: ../../source/guide/user/3-hpo.ipynb:50004 msgid "" "Here, we'll demonstrate a simple example of using EvoX for HPO. " -"Specifically, we will use the [PSO](#PSO) algorithm to optimize the " -"hyper-parameters of the [PSO](#PSO) algorithm for solving the sphere " -"problem." +"Specifically, we will use the [PSO](#PSO) algorithm to optimize the hyper-" +"parameters of the [PSO](#PSO) algorithm for solving the sphere problem." msgstr "" "在这里,我们将演示一个使用 EvoX 进行 HPO 的简单示例。具体来说,我们将使用 [PSO](#PSO) 算法来优化 [PSO](#PSO) " "算法的超参数,以解决球体问题。" @@ -9720,18 +9536,16 @@ msgid "The [`HPOProblemWrapper`](#HPOProblemWrapper) takes 4 arguments:" msgstr "`HPOProblemWrapper` 接受 4 个参数:" #: ../../source/guide/user/3-hpo.ipynb:110003 -#, fuzzy msgid "" -"`iterations`: The number of iterations to be executed in the optimization" -" process." -msgstr "注意:外部迭代次数需要设置为最大代数(Maximum Generation)的两倍加一。" +"`iterations`: The number of iterations to be executed in the optimization " +"process." +msgstr "`iterations`:在优化过程中要执行的迭代次数。" #: ../../source/guide/user/3-hpo.ipynb:110004 -#, fuzzy msgid "" -"`num_instances`: The number of instances to be executed in parallel in " -"the optimization process." -msgstr "注意:外部迭代次数需要设置为最大代数(Maximum Generation)的两倍加一。" +"`num_instances`: The number of instances to be executed in parallel in the " +"optimization process." +msgstr "`num_instances`: 在优化过程中的并行执行实例数量。" #: ../../source/guide/user/3-hpo.ipynb:110005 msgid "" @@ -9742,37 +9556,37 @@ msgstr "`workflow`: 在优化过程中使用的工作流。必须由[`jit_class` #: ../../source/guide/user/3-hpo.ipynb:110006 msgid "" "`copy_init_state`: Whether to copy the initial state of the workflow for " -"each evaluation. Defaults to `True`. If your workflow contains operations" -" that IN-PLACE modify the tensor(s) in initial state, this should be set " -"to `True`. Otherwise, you can set it to `False` to save memory." +"each evaluation. Defaults to `True`. If your workflow contains operations " +"that IN-PLACE modify the tensor(s) in initial state, this should be set to " +"`True`. Otherwise, you can set it to `False` to save memory." msgstr "" "`copy_init_state`: 是否为每次评估复制工作流的初始状态。默认为 " -"`True`。如果你的工作流包含对初始状态中的张量进行原地修改的操作,则应将其设置为 `True`。否则,可以将其设置为 `False` " -"以节省内存。" +"`True`。如果你的工作流包含对初始状态中的张量进行原地修改的操作,则应将其设置为 `True`。否则,可以将其设置为 `False` 以节省内存。" #: ../../source/guide/user/3-hpo.ipynb:110008 msgid "" "We can verify whether the [`HPOProblemWrapper`](#HPOProblemWrapper) " -"correctly recognizes the hyper-parameters we define. Since no " -"modifications are made to the hyper-parameters across the 5 instances, " -"they should remain identical for all instances." +"correctly recognizes the hyper-parameters we define. Since no modifications " +"are made to the hyper-parameters across the 5 instances, they should remain " +"identical for all instances." msgstr "" "我们可以验证 [`HPOProblemWrapper`](#HPOProblemWrapper) " "是否正确识别我们定义的超参数。由于在这5个实例中没有对超参数进行修改,它们在所有实例中应该保持一致。" #: ../../source/guide/user/3-hpo.ipynb:130002 msgid "" -"We can also define a custom set of hyperparameter values. It is important" -" to ensure that the number of hyperparameter sets matches the number of " -"instances in the [`HPOProblemWrapper`](#HPOProblemWrapper). Additionally," -" custom hyper-parameters must be provided as a dictionary whose values " -"are wrapped using the [`Parameter`](#Parameter)." -msgstr "我们也可以定义一组自定义的超参数值。确保超参数集的数量与[`HPOProblemWrapper`](#HPOProblemWrapper)中的实例数量匹配是很重要的。此外,自定义超参数必须以字典形式提供,其值需要使用[`Parameter`](#Parameter)进行包装。" +"We can also define a custom set of hyperparameter values. It is important to" +" ensure that the number of hyperparameter sets matches the number of " +"instances in the [`HPOProblemWrapper`](#HPOProblemWrapper). Additionally, " +"custom hyper-parameters must be provided as a dictionary whose values are " +"wrapped using the [`Parameter`](#Parameter)." +msgstr "" +"我们也可以定义一组自定义的超参数值。确保超参数集的数量与[`HPOProblemWrapper`](#HPOProblemWrapper)中的实例数量匹配是很重要的。此外,自定义超参数必须以字典形式提供,其值需要使用[`Parameter`](#Parameter)进行包装。" #: ../../source/guide/user/3-hpo.ipynb:150002 msgid "" -"Now, we use the [PSO](#PSO) algorithm to optimize the hyperparameters of " -"the [PSO](#PSO) algorithm." +"Now, we use the [PSO](#PSO) algorithm to optimize the hyperparameters of the" +" [PSO](#PSO) algorithm." msgstr "现在,我们使用[PSO](#PSO)算法来优化[PSO](#PSO)算法的超参数。" #: ../../source/guide/user/3-hpo.ipynb:150004 @@ -9783,10 +9597,11 @@ msgstr "确保[PSO](#PSO)的种群大小与实例数量匹配非常重要,否 #: ../../source/guide/user/3-hpo.ipynb:150006 msgid "" -"Additionally, the solution needs to be transformed in the outer workflow," -" as the [`HPOProblemWrapper`](#HPOProblemWrapper) requires the input to " -"be in the form of a dictionary." -msgstr "此外,解决方案需要在外部工作流中进行转换,因为[`HPOProblemWrapper`](#HPOProblemWrapper)要求输入为字典形式。" +"Additionally, the solution needs to be transformed in the outer workflow, as" +" the [`HPOProblemWrapper`](#HPOProblemWrapper) requires the input to be in " +"the form of a dictionary." +msgstr "" +"此外,解决方案需要在外部工作流中进行转换,因为[`HPOProblemWrapper`](#HPOProblemWrapper)要求输入为字典形式。" #: ../../source/guide/user/index.md:1 ../../source/index.md:4 msgid "User Guide" @@ -9814,8 +9629,8 @@ msgstr "" #: ../../source/index.md:33 msgid "" -"EvoX is a distributed GPU-accelerated framework for scalable evolutionary" -" computation." +"EvoX is a distributed GPU-accelerated framework for scalable evolutionary " +"computation." msgstr "EvoX是一个可以对大规模演化计算进行分布式GPU加速的框架。" #: ../../source/index.md:37 @@ -9872,8 +9687,8 @@ msgstr "拥抱优雅的**函数式编程**,化繁为简,轻松构建复杂 #: ../../source/index.md:50 msgid "" -"Benefit from **Hierarchical State Management**, ensuring modular and " -"clean programming." +"Benefit from **Hierarchical State Management**, ensuring modular and clean " +"programming." msgstr "得益于**层次化状态管理**,体验模块化和清爽的编程体验。" #: ../../source/index.md:53 @@ -9882,152 +9697,145 @@ msgstr "

" #: ../../source/index.md:60 msgid "" -" Installation " "Guide" msgstr "" -" 安装教程" #: ../../source/index.md:66 msgid "" -" User Guide" msgstr "" -" 用户教程" #: ../../source/index.md:72 msgid "" -" Developer Guide" -msgstr "" -" 开发者教程" +" Developer Guide" +msgstr "" +" 开发者教程" #: ../../source/index.md:82 msgid "" -" Algorithms" -msgstr "" -" 算法" +" " +"Algorithms" +msgstr "" +" 算法" #: ../../source/index.md:88 msgid "" -" Problems" -msgstr "" -" 问题" +" " +"Problems" +msgstr "" +" 问题" #: ../../source/index.md:95 msgid "" -" Metrics" -msgstr "" -" 指标" +" " +"Metrics" +msgstr "" +" 指标" #: ../../source/miscellaneous/selecting_gpu.md:1 msgid "Selecting GPU / CPU" @@ -10039,8 +9847,7 @@ msgid "" "`CUDA_VISIBLE_DEVICES` environment variable. For example, to run your " "program on the second GPU, you can use:" msgstr "" -"要在特定的 GPU 上运行程序,您可以使用 `CUDA_VISIBLE_DEVICES` 环境变量。例如,要在第二个 GPU " -"上运行程序,您可以使用:" +"要在特定的 GPU 上运行程序,您可以使用 `CUDA_VISIBLE_DEVICES` 环境变量。例如,要在第二个 GPU 上运行程序,您可以使用:" #: ../../source/miscellaneous/selecting_gpu.md:9 msgid "To run your program on multiple GPUs, you can use:" @@ -10051,9 +9858,8 @@ msgid "To disable GPU usage (use CPU), you can use:" msgstr "如果要禁用GPU(即使用CPU),你可以用:" #~ msgid "" -#~ "(Optional) You can uncomment and execute" -#~ " the following code to print a " -#~ "table to view the hotspot functions." +#~ "(Optional) You can uncomment and execute the following code to print a table" +#~ " to view the hotspot functions." #~ msgstr "(可选)您可以取消注释并执行以下代码以打印表格查看热点函数。" #~ msgid "Solving Supervised Learning Tasks with Neuroevolution in EvoX" @@ -10063,75 +9869,56 @@ msgstr "如果要禁用GPU(即使用CPU),你可以用:" #~ msgstr "处理扩展应用" #~ msgid "" -#~ "EvoX facilitates efficient exploration of " -#~ "complex optimization landscapes, effective " -#~ "tackling of black-box optimization " -#~ "challenges, and deep dives into " -#~ "neuroevolution with Brax. Thus, it is" -#~ " talented in extended applications. Here" -#~ " we will show an example of " -#~ "Neuroevolution Tasks using EvoX and " -#~ "Brax." +#~ "EvoX facilitates efficient exploration of complex optimization landscapes, " +#~ "effective tackling of black-box optimization challenges, and deep dives into" +#~ " neuroevolution with Brax. Thus, it is talented in extended applications. " +#~ "Here we will show an example of Neuroevolution Tasks using EvoX and Brax." #~ msgstr "" -#~ "EvoX 促进了复杂优化景观的高效探索,有效解决黑箱优化挑战,并深入研究使用 Brax " -#~ "的神经演化。因此,它在扩展应用中表现出色。这里我们将展示一个使用 EvoX 和 Brax " -#~ "的神经演化任务示例。" +#~ "EvoX 促进了复杂优化景观的高效探索,有效解决黑箱优化挑战,并深入研究使用 Brax 的神经演化。因此,它在扩展应用中表现出色。这里我们将展示一个使用" +#~ " EvoX 和 Brax 的神经演化任务示例。" #~ msgid "Through the `SimpleMLP` class, we can initiate a MLP model." #~ msgstr "通过 `SimpleMLP` 类,我们可以初始化一个 MLP 模型。" #~ msgid "" -#~ "We can compute the total number of" -#~ " the model parameters, and check if" -#~ " the model id initialized correctly. " -#~ "If everything goes well, we will " -#~ "see the total number is 63." +#~ "We can compute the total number of the model parameters, and check if the " +#~ "model id initialized correctly. If everything goes well, we will see the " +#~ "total number is 63." #~ msgstr "我们可以计算模型参数的总数,并检查模型是否正确初始化。如果一切顺利,我们将看到总数是63。" #~ msgid "" -#~ "We can also test the dimoension of" -#~ " the inputs and outputs. If " -#~ "everything goes well, 11 inputs will " -#~ "obtain 3 outputs." +#~ "We can also test the dimoension of the inputs and outputs. If everything " +#~ "goes well, 11 inputs will obtain 3 outputs." #~ msgstr "我们也可以测试输入和输出的维度。如果一切顺利,11个输入将获得3个输出。" #~ msgid "" -#~ "If we check the weights data of" -#~ " this network, we will see the " -#~ "data is in the dictionary form, " -#~ "and many EC algorithms cannot directly" -#~ " work with such a format:" +#~ "If we check the weights data of this network, we will see the data is in the" +#~ " dictionary form, and many EC algorithms cannot directly work with such a " +#~ "format:" #~ msgstr "然而,如果我们检查这个网络的权重,我们会发现它是一组参数集,而进化计算(EC)算法无法直接处理这种格式的数据。" #~ msgid "" -#~ "Fortunately, EvoX provides some useful " -#~ "utilities to help us bridge the " -#~ "gap, and in this case, we have " -#~ "[`ParamsAndVector`](#evox.utils.parameters_and_vector.ParamsAndVector)" -#~ " class to help us convert a " -#~ "tree-like struct into a vector and" -#~ " back." -#~ msgstr "幸运的是,EvoX提供了一些有用的工具来帮助我们弥合这一差距,在这种情况下,我们有`TreeAndVector`来帮助我们将树状结构转换成向量,然后再转换回来。" +#~ "Fortunately, EvoX provides some useful utilities to help us bridge the gap, " +#~ "and in this case, we have " +#~ "[`ParamsAndVector`](#evox.utils.parameters_and_vector.ParamsAndVector) class" +#~ " to help us convert a tree-like struct into a vector and back." +#~ msgstr "" +#~ "幸运的是,EvoX提供了一些有用的工具来帮助我们弥合这一差距,在这种情况下,我们有`TreeAndVector`来帮助我们将树状结构转换成向量,然后再转换回来。" #~ msgid "" -#~ "For some algorithms designed for " -#~ "neuroevolution, that is, algorithms that " -#~ "directly accept the batched parameters " -#~ "dictionary, adapter is not necessary and" -#~ " should be removed to improve " -#~ "performance." +#~ "For some algorithms designed for neuroevolution, that is, algorithms that " +#~ "directly accept the batched parameters dictionary, adapter is not necessary " +#~ "and should be removed to improve performance." #~ msgstr "对于一些为神经演化设计的算法,即直接接受批处理参数字典的算法,适配器不是必需的,应将其移除以提高性能。" #~ msgid "" -#~ "We still initiate a " -#~ "[PSO](#evox.algorithms.pso_variants.pso.PSO) algorithm, " +#~ "We still initiate a [PSO](#evox.algorithms.pso_variants.pso.PSO) algorithm, " #~ "and the problem is a [Brax " -#~ "problem](#evox.problems.neuroevolution.brax.BraxProblem) in " -#~ "\"hopper\" environment." +#~ "problem](#evox.problems.neuroevolution.brax.BraxProblem) in \"hopper\" " +#~ "environment." #~ msgstr "" -#~ "我们仍然启动一个 [PSO](#evox.algorithms.pso_variants.pso.PSO) " -#~ "算法,问题是在“hopper”环境中的 [Brax " -#~ "problem](#evox.problems.neuroevolution.brax.BraxProblem)。" +#~ "我们仍然启动一个 [PSO](#evox.algorithms.pso_variants.pso.PSO) 算法,问题是在“hopper”环境中的 " +#~ "[Brax problem](#evox.problems.neuroevolution.brax.BraxProblem)。" #~ msgid "`max_episode_length` is the maximum number of steps for each episode." #~ msgstr "运行的最大的时间步的数量。" @@ -10140,20 +9927,16 @@ msgstr "如果要禁用GPU(即使用CPU),你可以用:" #~ msgstr "用于评估每个个体的幕数量。" #~ msgid "" -#~ "The following block will take around " -#~ "1 minute to run. The time may " -#~ "vary depending on your hardware." +#~ "The following block will take around 1 minute to run. The time may vary " +#~ "depending on your hardware." #~ msgstr "以下这段代码将需要大概10分钟来运行。具体的运行时间取决于您的硬件。" #~ msgid "" -#~ "The PSO wasn’t specialized for this " -#~ "type of tasks, so its performance " -#~ "limitations here are expected. Here we" -#~ " just show an example." +#~ "The PSO wasn’t specialized for this type of tasks, so its performance " +#~ "limitations here are expected. Here we just show an example." #~ msgstr "PSO 并不是专门为这类任务设计的,因此在这里的性能限制是可以预期的。这里我们只是展示一个例子。" #~ msgid "" -#~ "Hope you can use a quantity of " -#~ "more effective algorithms in EvoX and" -#~ " enjoy your time!" +#~ "Hope you can use a quantity of more effective algorithms in EvoX and enjoy " +#~ "your time!" #~ msgstr "希望您能在 EvoX 中使用更多有效的算法,并享受您的时光!"