sczhou / CodeFormer

[NeurIPS 2022] Towards Robust Blind Face Restoration with Codebook Lookup Transformer
Other
15.4k stars 3.25k forks source link

About train stage2 #266

Open Iceeteeea opened 1 year ago

Iceeteeea commented 1 year ago

`2023-07-11 07:07:43,224 INFO: Start training from epoch: 0, iter: 1 Traceback (most recent call last): File "basicsr/train.py", line 225, in train_pipeline(root_path) File "basicsr/train.py", line 174, in train_pipeline train_data = prefetcher.next() File "/workspace/CodeFormer/basicsr/data/prefetch_dataloader.py", line 76, in next return next(self.loader) File "/root/miniconda3/envs/mycodeformer/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 517, in next data = self._next_data() File "/root/miniconda3/envs/mycodeformer/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1199, in _next_data return self._process_data(data) File "/root/miniconda3/envs/mycodeformer/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1225, in _process_data data.reraise() File "/root/miniconda3/envs/mycodeformer/lib/python3.8/site-packages/torch/_utils.py", line 429, in reraise raise self.exc_type(msg) cv2.error: Caught error in DataLoader worker process 0. Original Traceback (most recent call last): File "/root/miniconda3/envs/mycodeformer/lib/python3.8/site-packages/torch/utils/data/_utils/worker.py", line 202, in _worker_loop data = fetcher.fetch(index) File "/root/miniconda3/envs/mycodeformer/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 44, in fetch data = [self.dataset[idx] for idx in possibly_batched_index] File "/root/miniconda3/envs/mycodeformer/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 44, in data = [self.dataset[idx] for idx in possibly_batched_index] File "/workspace/CodeFormer/basicsr/data/ffhq_blinddataset.py", line 237, in getitem , encimg = cv2.imencode('.jpg', img_in * 255, encode_param) cv2.error: OpenCV(4.7.0) :-1: error: (-5:Bad argument) in function 'imencode'

Overload resolution failed:

  • Can't parse 'params'. Sequence item with index 1 has a wrong type
  • Can't parse 'params'. Sequence item with index 1 has a wrong type`
jameelhassan commented 1 year ago

In https://github.com/sczhou/CodeFormer/blob/4724c90b6b9d5183da383f2bdae6ddf9b0bf045d/basicsr/data/ffhq_blind_dataset.py#L234C17-L234C83
jpeg_p = np.random.uniform(self.jpeg_range[0], self.jpeg_range[1]) change it to np.random.randint

Peleg-Bruck commented 1 year ago

This seems to have solved it for me. Thank you!

In https://github.com/sczhou/CodeFormer/blob/4724c90b6b9d5183da383f2bdae6ddf9b0bf045d/basicsr/data/ffhq_blind_dataset.py#L234C17-L234C83 jpeg_p = np.random.uniform(self.jpeg_range[0], self.jpeg_range[1]) change it to np.random.randint

achangzx commented 6 months ago

In https://github.com/sczhou/CodeFormer/blob/4724c90b6b9d5183da383f2bdae6ddf9b0bf045d/basicsr/data/ffhq_blind_dataset.py#L234C17-L234C83 jpeg_p = np.random.uniform(self.jpeg_range[0], self.jpeg_range[1]) change it to np.random.randint

I tried your method, but still got the same error

FunnyGuy525 commented 3 weeks ago

It seems that you are supposed to change _, encimg = cv2.imencode('.jpg', img_in * 255., encode_param) to _, encimg = cv2.imencode('.jpg', (img_in * 255).astype(np.uint8), encode_param) at the same time.