| |
|
| | import os |
| | import numpy as np |
| | import argparse |
| | from manipulate import Manipulator |
| | import torch |
| | from PIL import Image |
| | |
| |
|
| | if __name__ == "__main__": |
| | parser = argparse.ArgumentParser(description='Process some integers.') |
| | |
| | parser.add_argument('--dataset_name',type=str,default='ffhq', |
| | help='name of dataset, for example, ffhq') |
| |
|
| | parser.add_argument('--real', action='store_true') |
| |
|
| | args = parser.parse_args() |
| | dataset_name=args.dataset_name |
| | |
| | if not os.path.isdir('./data/'+dataset_name): |
| | os.system('mkdir ./data/'+dataset_name) |
| | |
| | M=Manipulator(dataset_name=dataset_name) |
| | np.set_printoptions(suppress=True) |
| | print(M.dataset_name) |
| | |
| | |
| | names=os.listdir('./data/'+dataset_name+'/') |
| | for name in names: |
| | if '.jpg' in name: |
| | os.system('rm ./data/'+dataset_name+'/'+name) |
| | |
| | |
| | |
| | if args.real: |
| | latents=torch.load('./data/'+dataset_name+'/latents.pt') |
| | w_plus=latents.cpu().detach().numpy() |
| | else: |
| | w=np.load('./npy/'+dataset_name+'/W.npy') |
| | tmp=w[:50] |
| | tmp=tmp[:,None,:] |
| | w_plus=np.tile(tmp,(1,M.Gs.components.synthesis.input_shape[1],1)) |
| | np.save('./data/'+dataset_name+'/w_plus.npy',w_plus) |
| | |
| | |
| | tmp=M.W2S(w_plus) |
| | M.dlatents=tmp |
| | |
| | M.img_index=0 |
| | M.num_images=len(w_plus) |
| | M.alpha=[0] |
| | M.step=1 |
| | lindex,bname=0,0 |
| | |
| | M.manipulate_layers=[lindex] |
| | codes,out=M.EditOneC(bname) |
| | |
| | |
| | for i in range(len(out)): |
| | img=out[i,0] |
| | img=Image.fromarray(img) |
| | img.save('./data/'+dataset_name+'/'+str(i)+'.jpg') |
| | |
| |
|
| | |
| | |