Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Confused in dataloader #1

Open
ziqihuang233 opened this issue Oct 17, 2019 · 17 comments
Open

Confused in dataloader #1

ziqihuang233 opened this issue Oct 17, 2019 · 17 comments

Comments

@ziqihuang233
Copy link

Hello,I'm very interested in this. But I ran the code, there are so many options. And I aslo download the database.But I am not sure which args means non-make up picture,please help

@et148
Copy link

et148 commented Oct 20, 2019

Can you run the code successfully?

@ziqihuang233
Copy link
Author

@et148 No,first,the dataloader should read the txt,I tried to guess and pass. But the author use the vgg net in net.py, and it must read the conv args. I downloaded the parameters in the pytorch pretained model zoo,but failed to match.. If you can run,please help!

@wtjiang98
Copy link
Owner

Sorry for the late reply. Since the DDL of CVPR is coming, we have no time for this repo. We will update it in November.

@et148
Copy link

et148 commented Oct 22, 2019

@CrystalWong2
Yes,the vgg pretrained model found on the network cannont match because the auther has made some modifications to the vgg network and the parameter names are different。If you want to run successfully,you can use the vgg network that comes with torch,just "self.vgg=models.vgg16(pretrained=True).features[:28]" or you can modify the network and model parameters to make them match

@et148
Copy link

et148 commented Oct 22, 2019

@CrystalWong2
Notice that "import torchvision.models as models"

@CodingMice
Copy link

@et148 No,first,the dataloader should read the txt,I tried to guess and pass. But the author use the vgg net in net.py, and it must read the conv args. I downloaded the parameters in the pytorch pretained model zoo,but failed to match.. If you can run,please help!

You can download the vgg model in "https://bethgelab.org/media/uploads/pytorch_models/vgg_conv.pth".

@et148
Copy link

et148 commented Oct 23, 2019

@CodingMice
Thank you!By the way,can you use multi-gpu training? I have tried many times but still failed

@ziqihuang233
Copy link
Author

@CodingMice

I downloaded and tried,but I think if need to match the author‘s network it need more work.
image

@CodingMice
Copy link

@CodingMice

I downloaded and tried,but I think if need to match the author‘s network it need more work.
image

I have run it successfully. It is the model of vgg loss in "addings", not the pretrained model of Beautygan.

@CodingMice
Copy link

@CodingMice
Thank you!By the way,can you use multi-gpu training? I have tried many times but still failed

I do not use the muti-gpu training. If I have more gpus, I will try it.

@ziqihuang233
Copy link
Author

@CodingMice Thank you so muc. I can run it successfully. I am not very familiar with pytorch. I tried to train the model with my own database. But it seems to fail to train.Because in the solver_makeup.py,the params self.i always be 0. I don't know why. If you know,please help.
@et148 @CodingMice

image

@CodingMice
Copy link

@CodingMice Thank you so muc. I can run it successfully. I am not very familiar with pytorch. I tried to train the model with my own database. But it seems to fail to train.Because in the solver_makeup.py,the params self.i always be 0. I don't know why. If you know,please help.
@et148 @CodingMice

image

Maybe you should firstly check self.data_loader_train. In other word, the dataloader is what you want.

@TalentedMUSE
Copy link

@CodingMice @CrystalWong2 I have downloaded the code and the BeautyGAN dataset(named makeup_dataset). So how to run the code successfully? I am new to this area and I quite wonder what the "train_xxx.txt" means(error: No such file or directory: './data/images/train_SYMIX.txt'). Do I need to create such txt and what should the txt contain? Thanks a lot.

@Jian-danai
Copy link

@CrystalWong2
Yes,the vgg pretrained model found on the network cannont match because the auther has made some modifications to the vgg network and the parameter names are different。If you want to run successfully,you can use the vgg network that comes with torch,just "self.vgg=models.vgg16(pretrained=True).features[:28]" or you can modify the network and model parameters to make them match

feature[:28] or feature[:18]?

@DanielMao2015
Copy link

@TalentedMUSE Hey is it any chance for you to share with your code?

@DateBro
Copy link

DateBro commented May 1, 2020

@DanielMao2015 Here is my code to generate the txt file.

import os
import sys
import random

"""Among 3834 images, we randomly select 100 non-makeup images and 250 makeup images for test.
The remaining images are separated into training set and validation set."""

train_non_makeup_labels = 'train_SYMIX.txt'
train_makeup_labels = 'train_MAKEMIX.txt'
test_non_makeup_labels = 'test_SYMIX.txt'
test_makeup_labels = 'test_MAKEMIX.txt'

data_path = '/home/xxx/data/makeup_dataset/'
# Windows测试文件夹
# data_path = 'E:/Datasets/makeup_dataset/'
makeup_path = 'all/images/makeup/'
non_makeup_path = 'all/images/non-makeup/'

makeup_files = os.listdir(os.path.join(data_path, makeup_path))
non_makeup_files = os.listdir(os.path.join(data_path, non_makeup_path))

# 每次生成的文件都是随机的
random.shuffle(makeup_files)
random.shuffle(non_makeup_files)

test_non_makeup_files = non_makeup_files[:100]
train_non_makeup_files = non_makeup_files[100:]
test_makeup_files = makeup_files[:250]
train_makeup_files = makeup_files[250:]

with open(os.path.join(data_path, train_non_makeup_labels), 'wt') as f:
    for file_name in train_non_makeup_files:
        file_path = os.path.join(non_makeup_path, file_name)
        mask_file_path = file_path.replace('images', 'segs')
        f.write(file_path + ' ' + mask_file_path)
        f.write('\n')

with open(os.path.join(data_path, train_makeup_labels), 'wt') as f:
    for file_name in train_makeup_files:
        file_path = os.path.join(makeup_path, file_name)
        mask_file_path = file_path.replace('images', 'segs')
        f.write(file_path + ' ' + mask_file_path)
        f.write('\n')

with open(os.path.join(data_path, test_non_makeup_labels), 'wt') as f:
    for file_name in test_non_makeup_files:
        file_path = os.path.join(non_makeup_path, file_name)
        mask_file_path = file_path.replace('images', 'segs')
        f.write(file_path + ' ' + mask_file_path)
        f.write('\n')

with open(os.path.join(data_path, test_makeup_labels), 'wt') as f:
    for file_name in test_makeup_files:
        file_path = os.path.join(makeup_path, file_name)
        mask_file_path = file_path.replace('images', 'segs')
        f.write(file_path + ' ' + mask_file_path)
        f.write('\n')

@Jian-danai
Copy link

Jian-danai commented May 7, 2020

@TalentedMUSE Hey is it any chance for you to share with your code?

txt file generator

import os
file_path = "/BeautyGAN_pytorch/data/images/makeup"
path_list = os.listdir(file_path)
path_name=[]
for i in path_list:
    path_name.append(i)
path_name.sort()
num=0
for file_name in path_name:
    num += 1
    if num>2400:#1115
        with open("/BeautyGAN_pytorch/data/test_MAKEMIX.txt","a") as f:
            f.write(str(file_name)+' '+ str(file_name) + "\n")
        f.close()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants