Skip to content
This repository was archived by the owner on Oct 31, 2023. It is now read-only.
This repository was archived by the owner on Oct 31, 2023. It is now read-only.

The model must use a single boolean attribute only #7

@hma02

Description

@hma02

Hi, thanks for providing the source code of the paper.

I just tried training on the default settings except I ran preprocess.py to generate 128_128 images.

I see the default settings of train.py have Smiling and Male set as attributes, which I assume are the attributes to separate entanglement between during training. (OR maybe I understand it incorrectly, the code always automatically disentangles between all attributes available in list_attr_celeba.txt no matter what is set for --attr)

parser.add_argument("--attr", type=attr_flag, default="Smiling,Male",
                    help="Attributes to classify")
fadernetworks $ python train.py
INFO - 03/19/18 13:50:56 - 0:00:00 - ============ Initialized logger ============
INFO - 03/19/18 13:50:56 - 0:00:00 - ae_optimizer: adam,lr=0.0002
                                     ae_reload:
                                     attr: [('Male', 2), ('Smiling', 2)]
                                     batch_size: 32
                                     clf_dis_reload:
                                     clip_grad_norm: 5
                                     debug: False
                                     dec_dropout: 0.0
                                     deconv_method: convtranspose
                                     dis_optimizer: adam,lr=0.0002
                                     dump_path: ./models/default/aq8phwtw2o
                                     epoch_size: 50000
                                     eval_clf: models/classifier128.pth
                                     h_flip: True
                                     hid_dim: 512
                                     img_fm: 3 
                                     img_sz: 128
                                     init_fm: 32
                                     instance_norm: False
                                     lambda_ae: 1
                                     lambda_clf_dis: 0
                                     lambda_lat_dis: 0.0001
                                     lambda_ptc_dis: 0
                                     lambda_schedule: 500000
                                     lat_dis_dropout: 0.3
                                     lat_dis_reload:
                                     max_fm: 512
                                     n_attr: 4 
                                     n_clf_dis: 0
                                     n_epochs: 1000
                                     n_lat_dis: 1
                                     n_layers: 6
                                     n_ptc_dis: 0
                                     n_skip: 0 
                                     name: default
                                     ptc_dis_reload:
                                     smooth_label: 0.2
                                     v_flip: False

Then I used my saved snapshots after training, male_smiling.pth, to interpolate images with the default settings of interpolate.py and got the following error. Any ideas how to run this interpolate.py, or what should I change?

models $ cp default/aq8phwtw2o/best_rec_ae.pth ./male_smiling.pth
models $ cd ..
fadernetworks $ python interpolate.py 
Traceback (most recent call last):
  File "interpolate.py", line 60, in <module>
    raise Exception("The model must use a single boolean attribute only.")
Exception: The model must use a single boolean attribute only.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions