model.py 文件源码

python
阅读 20 收藏 0 点赞 0 评论 0

项目:sdp 作者: tansey 项目源码 文件源码
def create_model(model, x_shape, y_shape, variable_scope='pixels-', dimsize=256, **kwargs):
    with tf.variable_scope(variable_scope):
        X_image = tf.placeholder(tf.float32, [None] + list(x_shape[1:]), name='X')
        conv1 = Convolution2D(32, 3, 3, border_mode='same', activation=K.relu, W_regularizer=l2(0.01),
                                        input_shape=x_shape[1:])(X_image)
        pool1 = MaxPooling2D(pool_size=(2,2), border_mode='same')(conv1)
        drop1 = Dropout(0.5)(pool1)
        conv2 = Convolution2D(64, 5, 5, border_mode='same', activation=K.relu, W_regularizer=l2(0.01))(drop1)
        pool2 = MaxPooling2D(pool_size=(2,2), border_mode='same')(conv2)
        drop2 = Dropout(0.5)(pool2)
        drop2_flat = tf.reshape(drop2, [-1, 3*3*64])
        hidden1 = Dense(1024, W_regularizer=l2(0.01), activation=K.relu)(drop2_flat)
        drop_h1 = Dropout(0.5)(hidden1)
        hidden2 = Dense(128, W_regularizer=l2(0.01), activation=K.relu)(drop_h1)
        drop_h2 = Dropout(0.5)(hidden2)
        hidden3 = Dense(32, W_regularizer=l2(0.01), activation=K.relu)(drop_h2)
        drop_h3 = Dropout(0.5)(hidden3)

        num_classes = tuple([dimsize]*y_shape[1])
        print(num_classes)
        if model == 'multinomial':
            dist_model = MultinomialLayer(drop_h3, 32, num_classes, **kwargs)
        elif model == 'gmm':
            dist_model = DiscreteParametricMixtureLayer(drop_h3, 32, num_classes, **kwargs)
        elif model == 'lmm':
            dist_model = DiscreteLogisticMixtureLayer(drop_h3, 32, num_classes, **kwargs)
        elif model == 'sdp':
            dist_model = LocallySmoothedMultiscaleLayer(drop_h3, 32, num_classes, **kwargs)
        else:
            raise Exception('Unknown model type: {0}'.format(model))

        return X_image, dist_model
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号