zhe*_*ang 2 python function call
此功能具有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())
Run Code Online (Sandbox Code Playgroud)
在添加连接变异的实践中,我需要使用这三种模式。每种模式不要说33.33%。
因此,我计划在此功能中添加模式“自动”。为了将以上三种模式称为“随机”。
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 .......
Run Code Online (Sandbox Code Playgroud)
但是我不确定这是否是一个好主意。您能否提出实现我的建议的更好方法?谢谢〜
尽管递归函数经常有很好的用法,但实际上并不需要。只需重新分配mode参数即可。
def mutate_add_connection(self, mode = 'hh'):
if mode == 'auto':
mode = random.choice(['hh','ih','ho'])
# the code above .......
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
42 次 |
| 最近记录: |