Exemple #1
0
    loss = 0.0

    loss += l2_loss

    loss += square_loss

    netDist = NetDist(x, x_reconstructed, config)

    if config['style_weight'] > 0.0:
        style_loss, style_out_1, style_out_2 = netDist.get_dist_style()
        style_loss *= config['style_weight']
    else:
        style_loss = style_out_1 = style_out_2 = theano.shared(np.asarray(0.0).astype('float32'))

    if config['content_weight'] > 0.0:
        content_loss = config['content_weight'] * netDist.get_dist_content()
    else:
        content_loss = theano.shared(np.asarray(0.0).astype('float32'))

    #128 x 3 x 96 x 96
    imgGrad = T.grad(style_loss + content_loss, x_reconstructed)[0,:,:,0]

    loss += style_loss + content_loss

    loss += 1.0 * variational_loss

    all_grads = T.grad(loss, params)

    scaled_grads = lasagne.updates.total_norm_constraint(all_grads, 5.0)

    updates = lasagne.updates.adam(scaled_grads, params, learning_rate = 0.001)
Exemple #2
0
    loss = 0.0

    loss += l2_loss

    loss += square_loss

    netDist = NetDist(x, x_reconstructed, config)

    if config['style_weight'] > 0.0:
        style_loss, style_out_1, style_out_2 = netDist.get_dist_style()
        style_loss *= config['style_weight']
    else:
        style_loss = style_out_1 = style_out_2 = theano.shared(np.asarray(0.0).astype('float32'))

    if config['content_weight'] > 0.0:
        content_loss_values, varLst = netDist.get_dist_content()
        content_loss = sum(content_loss_values.values()) * config['content_weight']
        params += varLst
    else:
        content_loss = theano.shared(np.asarray(0.0).astype('float32'))
        content_loss_values, varLst = netDist.get_dist_content() 

    #128 x 3 x 96 x 96

    loss += style_loss + content_loss

    loss += 1.0 * variational_loss

    loss += 1.0 * smoothness_penalty

    all_grads = T.grad(loss, params)