])(x) input_T = Reshape((3, 3))(x) in_0 = MatMul()([input_points, input_T]) # forward net0 f_0 = Conv1D(64, 1, activation='relu')(in_0) f_0 = BatchNormalization()(f_0) f_0 = Conv1D(64, 1, activation='relu')(f_0) c_0 = Conv1D(256, 1, activation='relu')(in_0) c_0 = BatchNormalization()(c_0) c_0 = Conv1D(256, 1, activation='relu')(c_0) i_0 = GumbelSoftmax(temperature=1, hard=True)(c_0) for _ in range(2): i_0_t = GumbelSoftmax(temperature=1, hard=True)(c_0) i_0 = GumbelIntegration('max')([i_0, i_0_t]) out_0 = GumbelPooling(pool_way='max')([f_0, i_0]) '''''' global_feature = MaxPooling1D(pool_size=256)(out_0) c = Dense(512, activation='relu')(global_feature) c = BatchNormalization()(c) c = Dropout(0.5)(c) c = Dense(256, activation='relu')(c) c = BatchNormalization()(c) c = Dropout(0.5)(c) c = Dense(40, activation='softmax')(c) prediction = Flatten()(c) ''' model = Model(inputs=input_points, outputs=[prediction]) xx = np.random.rand(32,2048, 3) - 0.5 y = model.predict_on_batch(xx) '''
np.eye(64).flatten().astype(np.float32) ])(f) feature_T0 = Reshape((64, 64))(f) in_0 = MatMul()([g, feature_T0]) # forward net0 f_0 = Conv1D(64, 1, activation='relu')(in_0) f_0 = BatchNormalization()(f_0) f_0 = Conv1D(64, 1, activation='relu')(f_0) f_0 = BatchNormalization()(f_0) c_0 = Conv1D(128, 1, activation='relu')(in_0) c_0 = BatchNormalization()(c_0) c_0 = Conv1D(128, 1, activation='relu')(c_0) c_0 = BatchNormalization()(c_0) i_0 = Activation('hard_sigmoid')(c_0) out_0 = GumbelPooling(pool_way='mean')([f_0, i_0]) # feature transform net in_1 = Conv1D(64, 1, activation='relu')(out_0) in_1 = BatchNormalization()(in_1) in_1 = Conv1D(128, 1, activation='relu')(in_1) in_1 = BatchNormalization()(in_1) in_1 = Conv1D(1024, 1, activation='relu')(in_1) in_1 = BatchNormalization()(in_1) in_1 = MaxPooling1D(pool_size=128)(in_1) in_1 = Dense(512, activation='relu')(in_1) in_1 = BatchNormalization()(in_1) in_1 = Dense(256, activation='relu')(in_1) in_1 = BatchNormalization()(in_1) in_1 = Dense(64 * 64, weights=[