Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- input_data = Input(shape=(28, 28,1))
- first_layer = Conv2D(filters=16, kernel_size=(5,5), activation='relu', padding='same', input_shape = input_shape, use_bias = False)(input_data)
- avg_1 = AveragePooling2D(pool_size=(2,2), data_format= 'channels_last')(first_layer)
- add = []
- random_matrix = np.random.randint(0,15,(4,32))
- for i in range(32):
- group = []
- for j in range(4):
- group_channel = Lambda(lambda x: x[:,:,:,random_matrix[j][i],np.newaxis])(avg_1)
- conv_group = Conv2D(1, kernel_size=[5,5], strides=(stride,stride), activation = 'relu',padding='valid', data_format= 'channels_last',name = 'Conv_'+str(i*4+j)+'_Sparse', use_bias =False)(group_channel)
- group.append(conv_group)
- add_group = Add()(group)
- add.append(add_group)
- second_layer = Concatenate()(add)
- avg_2 = AveragePooling2D(pool_size=(2,2), data_format= 'channels_last')(second_layer)
- flatten = Flatten()(avg_2)
- dense = Dense(num_classes, name = 'dense_3', use_bias = False)(flatten)
- activation = Activation('softmax')(dense)
- model = Model(input_data, activation)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement