def _set_inverse_parameters(self, patterns=None):
self.trainable_layers = [self.inverse_map[l]
for l in L.get_all_layers(self.output_layer)
if type(l) in [L.Conv2DLayer, L.DenseLayer]]
if patterns is not None:
if type(patterns) is list:
patterns = patterns[0]
for i,layer in enumerate(self.trainable_layers):
pattern = patterns['A'][i]
if pattern.ndim == 4:
pattern = pattern.transpose(1,0,2,3)
elif pattern.ndim == 2:
pattern = pattern.T
layer.W.set_value(pattern)
else:
print("Patterns not given, explanation is random.")
评论列表
文章目录