Ejemplo n.º 1
0
def test_GramOperator_call():
    torch.manual_seed(0)
    target_image = torch.rand(1, 3, 128, 128)
    input_image = torch.rand(1, 3, 128, 128)
    encoder = enc.SequentialEncoder((nn.Conv2d(3, 3, 1), ))

    op = ops.GramOperator(encoder)
    op.set_target_image(target_image)

    actual = op(input_image)
    desired = mse_loss(
        pystiche.gram_matrix(encoder(input_image), normalize=True),
        pystiche.gram_matrix(encoder(target_image), normalize=True),
    )
    ptu.assert_allclose(actual, desired)
Ejemplo n.º 2
0
    def test_GramOperator_call(self):
        torch.manual_seed(0)
        target_image = torch.rand(1, 3, 128, 128)
        input_image = torch.rand(1, 3, 128, 128)
        encoder = SequentialEncoder((nn.Conv2d(3, 3, 1), ))

        op = ops.GramOperator(encoder)
        op.set_target_image(target_image)

        actual = op(input_image)
        desired = mse_loss(
            pystiche.batch_gram_matrix(encoder(input_image), normalize=True),
            pystiche.batch_gram_matrix(encoder(target_image), normalize=True),
        )
        self.assertTensorAlmostEqual(actual, desired)
def get_style_op(encoder, layer_weight):
    return ops.GramOperator(encoder, score_weight=layer_weight)