Giter VIP home page Giter VIP logo

vocalist's People

Contributors

venkateshkadandale avatar vskadandale avatar xjchengit avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

vocalist's Issues

Why is the test result not an image or video?

Thanks for sharing your groundbreaking research. Why is the test result not an image or a video?

D:\anaconda\python.exe D:/work/vgan/vocalist-main/t1est_lrs2.py
use_cuda: True
total trainable params 80106561
K5:0.1553,K7:0.1748,K9:0.1553,K11:0.1553,K13:0.1650,K15:0.1553: : 1it [00:15, 15.05s/it]

Process finished with exit code 0

4: Padding size should be less than the corresponding input dimension, but got: padding (400, 400) at dimension 2 of input [1, 191488, 2]

D:\anaconda\python.exe D:/work/vgan/vocalist-main/t1est_lrs2.py
use_cuda: True
total trainable params 80106561
0it [00:00, ?it/s]Traceback (most recent call last):
File "D:/work/vgan/vocalist-main/t1est_lrs2.py", line 290, in
eval_model(test_data_loader, device, model)
File "D:/work/vgan/vocalist-main/t1est_lrs2.py", line 146, in eval_model
for step, (vid, aud, lastframe) in prog_bar:
File "D:\anaconda\lib\site-packages\tqdm\std.py", line 1107, in iter
for obj in iterable:
File "D:\anaconda\lib\site-packages\torch\utils\data\dataloader.py", line 530, in next
data = self._next_data()
File "D:\anaconda\lib\site-packages\torch\utils\data\dataloader.py", line 570, in _next_data
data = self._dataset_fetcher.fetch(index) # may raise StopIteration
File "D:\anaconda\lib\site-packages\torch\utils\data_utils\fetch.py", line 49, in fetch
data = [self.dataset[idx] for idx in possibly_batched_index]
File "D:\anaconda\lib\site-packages\torch\utils\data_utils\fetch.py", line 49, in
data = [self.dataset[idx] for idx in possibly_batched_index]
File "D:/work/vgan/vocalist-main/t1est_lrs2.py", line 109, in getitem
window=torch.hann_window(hparams.win_size), return_complex=True)
File "D:\anaconda\lib\site-packages\torch\functional.py", line 693, in stft
input = F.pad(input.view(extended_shape), [pad, pad], pad_mode)
File "D:\anaconda\lib\site-packages\torch\nn\functional.py", line 4369, in _pad
return torch._C._nn.reflection_pad1d(input, pad)
RuntimeError: Argument #4: Padding size should be less than the corresponding input dimension, but got: padding (400, 400) at dimension 2 of input [1, 191488, 2]
0it [00:00, ?it/s]

Getting the acappella dataset.

How do I download the acappella dataset, the link given in the paper only gives the CSV files with links and such for testing. Is there a package that I can use to download the files and process them, A beginner in the field hence the silly question.

Acappella

请问,Acappella数据集该如何下载呢

Question of Evaluation protocol

Hi, I was impressed with your paper and code.
Well , I have a question in your paper .
The AVST[13] Accuracy , in table 1. Accuracy of lip synchronisation models in LRS2 , is different from AVST[13] paper's accuracy.
As far as I know, AVST[13] code is not released.

So did you get the AVST[13] accuracy by coding youself?

I'd appreciate it if you could reply.

Dataset

Hello,
I have downloaded and unzipped the LRS2 dataset, which includes two folders: "main" and "pretrain".
I want to know if it is only necessary to use preprocess.py in WavLip to process the files of these two folders separately, output them as pretrain and main folders and put these two folders into the project, and modify data_root to be the pretrain file folder path, test_data_root is the path of main.

Loss not decreasing on increasing time step

In the default configuration when number of video frames are 5 and corresponding audio frames are 3200 in number I am able to replicate the results. But on increasing video frames to 10 and audio frames to 6400 my training loss is not decreasing by much. I have kept all other settings the same as in the codebase and have made no changes. Does some parameter needs to be tweaked when we increase the number of video frames?

Having some gaps in understanding the working of the code.

Hi,
I'm going through the code after I went through the paper for this project, and I'm having some doubts when trying to relate the code back to the things mentioned in the paper. For some context, I'm using the acapella dataset and the trained model weights on that.

  1. The paper mentions the input image size is 3,48,96,t_v, but in the code implementation, the image size that goes in the model as input is: torch.Size([31, 15, 48, 96]).
  2. Second and the more important question is, that the input images/frames to the model are repeated win_size times (31 by default), while the mel spectrograms for the 15 preceding and succeding frames are taken, am I correct in interpreting that, if yes, what is the reason behind that since the spectrograms are from actual frames, while the input frames are just repeats.
    raw_sync_scores = model(lim_in[i].unsqueeze(0).repeat(win_size, 1, 1, 1).to(device), feat2p[i:i + win_size, :].to(device))

The label of Dataset

Hello, in the "class Dataset(object)", there is the following piece of code for correctly selecting samples and assigning corresponding labels. I wonder if this is because the training data is unlabeled. Will assigning in this way lead to label assignment errors. If I know the positive and negative labels of the data set, can I directly modify the following code to assign the label to "y".

        if random.choice([True, False]):
            y = torch.ones(1).float()
            wav = pos_wav
        else:
            y = torch.zeros(1).float()
            try_counter = 0
            while True:
                neg_frame_id = random.randint(interval_st, interval_end - v_context)
                if neg_frame_id != pos_frame_id:
                    wav = self.get_wav(wavpath, neg_frame_id)
                    if rms_pos_wav > 0.01:
                        break
                    else:
                        if self.rms(wav) > 0.01 or try_counter>10:
                            break
                    try_counter += 1

            if try_counter > 10:
                continue
        aud_tensor = torch.FloatTensor(wav)

About training loss on my custom datasets

Hi, thanks for sharing this excellent work. I want to train this work on my own dataset, Can u tell me how the loss changes during training and testing? I'm looking forward to your suggestions at your earliest convenience.

Used with wav2lip?

Can this replace syncnet in wav2lip and be used as the discriminator? would the core wav2lip architecture need to change?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.