def MakeModel(self, layer): params = Params() params.num_scales = self.NUM_SCALES params.s1_num_orientations = self.NUM_ORIENTATIONS model = Model(params = params) L = model.Layer if layer in (L.S2, L.C2, L.IT): # Make uniform-random S2 kernels kernel_shape = (self.NUM_PROTOTYPES,) + model.s2_kernel_shape kernels = np.random.uniform(0, 1, size = kernel_shape) for k in kernels: k /= np.linalg.norm(k) model.s2_kernels = kernels return model