gpt4 book ai didi

python - 函数可以在其定义中使用不同的参数调用自身吗?

转载 作者:行者123 更新时间:2023-11-28 20:54:59 25 4
gpt4 key购买 nike

这个函数有 3 种模式,即 'hh' 'ih' 和 'ho'。

    def mutate_add_connection(self, mode = 'hh'):
if mode == 'hh': # hidden --> hidden
node_a = random.choice(self.hidden_nodes_dict.values())
node_b = random.choice(self.hidden_nodes_dict.values())
self.connect_node_pair(node_a,node_b, 'sort')
elif mode == 'ih': # input --> hidden
node_a = random.choice(self.input_nodes_dict.values())
node_b = random.choice(self.hidden_nodes_dict.values())
node_b.set_links((node_a,random.choice([-1, 1])))
elif mode == 'ho': # hidden --> output
node_b.set_links((node_a,random.choice([-1, 1])))
node_a = random.choice(self.hidden_nodes_dict.values())
node_b = random.choice(self.output_nodes_dict.values())

在add-connection mutate的实践中,我需要用到这3种模式的概率。假设每种模式为 33.33%。

所以我计划在此函数中添加一个“自动”模式。为了“随机”调用上面的3种模式。

    def mutate_add_connection(self, mode = 'hh'):
if mode == 'auto':
chosen_mode = random.choice(['hh','ih','ho'])
self.mutate_add_connection(mode=chosen_mode)
# the code above .......

但我不确定这是否是个好主意。你能建议一个更好的方法来实现我的建议吗?谢谢~

最佳答案

虽然递归函数通常有很好的用途,但这里并不真正需要它。只需重新分配 mode 参数即可。

    def mutate_add_connection(self, mode = 'hh'):
if mode == 'auto':
mode = random.choice(['hh','ih','ho'])
# the code above .......

关于python - 函数可以在其定义中使用不同的参数调用自身吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57900400/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com