Exemple #1
0
def get_transformations(transform_spec):
    transformer = transformers.TransformerSequence(*[
        TRANSFORMER_STRING_MAP[trans_name](networks.EquivariantPosePredictor,
                                           1, 32)
        for trans_name in transform_spec
    ])

    transforms = T.TransformSequence(
        *[TRANSFORM_STRING_MAP[trans_name]() for trans_name in transform_spec])
    return transforms, transformer
Exemple #2
0
        writer.close()


if __name__ == "__main__":
    csv = "gz2_data/gz_amended.csv"
    img = "gz2_data/"
    a01 = "t01_smooth_or_features_a01_smooth_count"
    a02 = "t01_smooth_or_features_a02_features_or_disk_count"
    a03 = "t01_smooth_or_features_a03_star_or_artifact_count"
    list_of_ans = [a01, a02, a03]

    data = Gz2_data(csv_dir=csv,
                    image_dir=img,
                    list_of_interest=list_of_ans,
                    crop=80,
                    resize=80)

    trans = transformers.TransformerSequence(
        transformers.Translation(networks.EquivariantPosePredictor, 1, 32),
        transformers.Rotation(networks.EquivariantPosePredictor, 1, 32))
    encoder_args = {'insize': 80, 'z_dim': 100, 'transformer': trans}
    decoder_args = {'z_dim': 100, 'outsize': 80}

    test_proportion = 0.1
    train_loader, test_loader  = return_data_loader(data, test_proportion, batch_size=2, shuffle=True)
    optimizer = Adam({"lr": 1e-4})
    pvae = PoseVAE(Encoder, Decoder, 10, encoder_args, decoder_args, use_cuda=False)
    svi = SVI(pvae.model, pvae.guide, optimizer, loss=Trace_ELBO())

    train_log("test/", pvae, svi, train_loader, test_loader, 1, use_cuda=False)