ligoudaner377 / font_translator_gan

88 stars 9 forks source link

Running code on Windows #13

Closed vevive0216 closed 1 year ago

vevive0216 commented 1 year ago

can i run this code on windows

ligoudaner377 commented 1 year ago

Hi, Windows is not tested. But you can try

python train.py --dataroot "./datasets/font" --model "font_translator_gan" --dataset_mode "font" --name "anyname" --phase train --no_dropout
vevive0216 commented 1 year ago

Thanks! I tried it. Something went wrong.

Traceback (most recent call last): File "train.py", line 25, in for i, data in enumerate(dataset): # inner loop within one epoch File "H:\1\font style transfer\font_translator_gan-master\data__init.py", line 86, in iter for i, data in enumerate(self.dataloader): File "E:\anaconda3\envs\IIC3\lib\site-packages\torch\utils\data\dataloader.py", line 345, in next data = self._next_data() File "E:\anaconda3\envs\IIC3\lib\site-packages\torch\utils\data\dataloader.py", line 856, in _next_data return self._process_data(data) File "E:\anaconda3\envs\IIC3\lib\site-packages\torch\utils\data\dataloader.py", line 881, in _process_data data.reraise() File "E:\anaconda3\envs\IIC3\lib\site-packages\torch_utils.py", line 395, in reraise raise self.exc_type(msg) IndexError: Caught IndexError in DataLoader worker process 0. Original Traceback (most recent call last): File "E:\anaconda3\envs\IIC3\lib\site-packages\torch\utils\data_utils\worker.py", line 178, in _worker_loop data = fetcher.fetch(index) File "E:\anaconda3\envs\IIC3\lib\site-packages\torch\utils\data_utils\fetch.py", line 44, in fetch data = [self.dataset[idx] for idx in possibly_batched_index] File "E:\anaconda3\envs\IIC3\lib\site-packages\torch\utils\data_utils\fetch.py", line 44, in data = [self.dataset[idx] for idx in possibly_batched_index] File "H:\1\font style transfer\font_translator_gan-master\data\font_dataset.py", line 53, in getitem__ style_paths = self.get_style_paths(parts) File "H:\1\font style transfer\font_translator_gan-master\data\font_dataset.py", line 72, in get_style_paths english_font_path = os.path.join(parts[0], parts[1], parts[2], parts[3], self.style_language, parts[5]) IndexError: list index out of range

ligoudaner377 commented 1 year ago

Can you print the parameter "parts"? and by the way, where did you put your training dataset? Currently, the code only supports you putting the dataset at ./datasets/font

vevive0216 commented 1 year ago

my dataset is in the right place,the parameter is

['./datasets/font', 'train', 'chinese', 'Time Flies Anna Chinese Font-Simplified Chinese Fonts+', '居.png'] ['./datasets/font', 'train', 'chinese', 'Sharp Bloom Bold Figure Chinese Fontt-Simplified Chinese Fonts', '钱.png'] ['./datasets/font', 'train', 'chinese', 'Take off&Good luck Tie shan Regular script character font-Simplified Chinese', '眼.png'] ['./datasets/font', 'train', 'chinese', 'Hua Kang Longmen Stone tablets(DFLungMen-B5) Font-Traditional Chinese', '新.png'] ['./datasets/font', 'train', 'chinese', 'Han yi Yan ling ti Font-Simplified Chinese', '叫.png'] ['./datasets/font', 'train', 'chinese', 'Chen ji shi Ying bi Xing shu Font-Simplified Chinese', '劳.png']

ligoudaner377 commented 1 year ago

I see, os.sep for Linux is "/" and for Windows is "\" So the data root path './datasets/font' was not separated correctly. try

python train.py --dataroot ".\\datasets\\font" --model "font_translator_gan" --dataset_mode "font" --name "anyname" --phase train --no_dropout
vevive0216 commented 1 year ago

Yes, that's helpful. Thank you very much for your help.