本文整理汇总了Python中layer.Layer.set_delta方法的典型用法代码示例。如果您正苦于以下问题:Python Layer.set_delta方法的具体用法?Python Layer.set_delta怎么用?Python Layer.set_delta使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类layer.Layer
的用法示例。
在下文中一共展示了Layer.set_delta方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: NeuroNet
# 需要导入模块: from layer import Layer [as 别名]
# 或者: from layer.Layer import set_delta [as 别名]
#.........这里部分代码省略.........
self.layers.append(layer)
self.connect_layers(prev_layer, layer)
layer.modify(-1) # add random weight
return True
"""
Получить слой из общей карты слоев, включая:
- входной (0);
- промежуточные (1..n);
- выходной (n+1); """
def get_layer(self, num):
if num == 0:
return self.input_layer
if num == len(self.layers) + 1:
return self.output_layer
return self.layers[num - 1]
"""
Удалить слой, заданный объектом
"""
def del_layer(self, layer):
layer.remove_connections()
if layer in self.layers:
self.layers.remove(layer)
return True
"""
Удалить слой, заданный индексом
"""
def delete(self, num):
if len(self.layers) <= MIN_LAYERS_NUM:
return False
if 0 <= num <= len(self.layers) - 1:
# try:
self.del_layer(self.layers[num])
# except Exception, e:
# print self.layers[num].history
# raise e
return True
else:
return False
"""
Изменение случайного слоя
"""
def rand_modify_layer(self, tp):
random.choice(self.layers).modify(tp)
return True
"""
Добавление случайного слоя
"""
def rand_add_layer(self, layer=None, np=0): # 0 - both, 1 - only directly, 2 - only backward
pli, nli = random.sample(range(len(self.layers) + 2), 2)
print pli, nli
if ((np == 1) and (nli < pli)) or ((np == 2) and (nli > pli)):
pli, nli = nli, pli
self.add_layer(layer, self.get_layer(pli), self.get_layer(nli))
return True
"""
Удаление случайного слоя
"""
def rand_del_layer(self):
return self.delete(random.randint(0, len(self.layers) - 1))
"""
Изменение параметров нейросети
tp - type of modify neuronet; 1-add,2-del,3-modify layers
atp1 - additional type
"""
def modify(self, tp, atp=0, atp1=0):
# print tp,atp,atp1
if tp == 0:
self.rand_add_layer(np=atp)
elif tp == 1:
self.rand_del_layer()
elif tp == 2:
self.rand_modify_layer(atp)
return True
def set_input_delta(self, const):
self.input_layer.set_delta(const)
# self.input_layer.neurons[n].constant_input = float(const)
def __str__(self):
s = ''
s += PST + 'Input Layer:'.ljust(14) + `self.input_layer` + '\n' + str(self.input_layer) + '\n\n'
s += PST + 'Output Layer:'.ljust(14) + `self.output_layer` + '\n' + str(self.output_layer) + '\n\n'
s += PST + 'Other Layers:\n'
for n, i in enumerate(self.layers):
s += PST + '>Layer' + `n` + ': ' + `i` + '\n' + str(i) + '\n'
return s