GaParmar / clean-fid

PyTorch - FID calculation with proper image resizing and quantization steps [CVPR 2022]
https://www.cs.cmu.edu/~clean-fid/
MIT License
943 stars 72 forks source link

cuda error? #46

Open lcxsnow opened 1 year ago

lcxsnow commented 1 year ago

UserWarning: A NumPy version >=1.16.5 and <1.23.0 is required for this version of SciPy (detected version 1.24.3) warnings.warn(f"A NumPy version >={np_minversion} and <{np_maxversion} is required for this version of " compute FID between two folders Found 8091 images in the folder /dataset/flickr/images/ FID : 0%| | 0/506 [00:02<?, ?it/s] Traceback (most recent call last): File "/home/m11113013/ProjectCode/MasterProject4/model/metric.py", line 11, in score = calculate_fid(p1, p1) File "/home/m11113013/ProjectCode/MasterProject4/model/metric.py", line 4, in calculate_fid return fid.compute_fid(x_dir, y_dir, mode='clean', num_workers=0, batch_size=16) File "/home/m11113013/miniconda3/envs/pytorch/lib/python3.8/site-packages/cleanfid/fid.py", line 478, in compute_fid score = compare_folders(fdir1, fdir2, feat_model, File "/home/m11113013/miniconda3/envs/pytorch/lib/python3.8/site-packages/cleanfid/fid.py", line 269, in compare_folders np_feats1 = get_folder_features(fdir1, feat_model, num_workers=num_workers, File "/home/m11113013/miniconda3/envs/pytorch/lib/python3.8/site-packages/cleanfid/fid.py", line 147, in get_folder_features np_feats = get_files_features(files, model, num_workers=num_workers, File "/home/m11113013/miniconda3/envs/pytorch/lib/python3.8/site-packages/cleanfid/fid.py", line 119, in get_files_features l_feats.append(get_batch_features(batch, model, device)) File "/home/m11113013/miniconda3/envs/pytorch/lib/python3.8/site-packages/cleanfid/fid.py", line 88, in get_batch_features feat = model(batch.to(device)) File "/home/m11113013/miniconda3/envs/pytorch/lib/python3.8/site-packages/cleanfid/features.py", line 25, in model_fn def model_fn(x): return model(x) File "/home/m11113013/miniconda3/envs/pytorch/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl return forward_call(*input, kwargs) File "/home/m11113013/miniconda3/envs/pytorch/lib/python3.8/site-packages/torch/nn/parallel/data_parallel.py", line 168, in forward outputs = self.parallel_apply(replicas, inputs, kwargs) File "/home/m11113013/miniconda3/envs/pytorch/lib/python3.8/site-packages/torch/nn/parallel/data_parallel.py", line 178, in parallel_apply return parallel_apply(replicas, inputs, kwargs, self.device_ids[:len(replicas)]) File "/home/m11113013/miniconda3/envs/pytorch/lib/python3.8/site-packages/torch/nn/parallel/parallel_apply.py", line 86, in parallel_apply output.reraise() File "/home/m11113013/miniconda3/envs/pytorch/lib/python3.8/site-packages/torch/_utils.py", line 461, in reraise raise exception RuntimeError: Caught RuntimeError in replica 1 on device 1. Original Traceback (most recent call last): File "/home/m11113013/miniconda3/envs/pytorch/lib/python3.8/site-packages/torch/nn/parallel/parallel_apply.py", line 61, in _worker output = module(*input, *kwargs) File "/home/m11113013/miniconda3/envs/pytorch/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl return forward_call(input, kwargs) File "/home/m11113013/miniconda3/envs/pytorch/lib/python3.8/site-packages/cleanfid/inception_torchscript.py", line 54, in forward features = self.layers.forward(x2, ).view((bs, 2048)) RuntimeError: The following operation failed in the TorchScript interpreter. Traceback of TorchScript, serialized code (most recent call last): File "code/torch/torch/nn/modules/container/___torch_mangle_9.py", line 45, in forward _17 = self.mixed_10 _18 = self.pool2 input0 = (_0).forward(input, )


    input1 = (_1).forward(input0, )
    input2 = (_2).forward(input1, )
  File "code/__torch__.py", line 74, in forward
    _22 = self.stride
    _23 = self.padding
    x3 = torch.conv2d(x, _21, None, [_22, _22], [_23, _23], [1, 1], 1)
         ~~~~~~~~~~~~ <--- HERE
    x4 = _20(x3, self.mean, self.var, None, self.beta, False, 0.10000000000000001, 0.001, )
    x5 = __torch__.torch.nn.functional.relu(x4, False, )

Traceback of TorchScript, original code (most recent call last):
  File "C:\Users\tkarras\Anaconda3\lib\site-packages\torch\nn\modules\container.py", line 117, in forward
    def forward(self, input):
        for module in self:
            input = module(input)
                    ~~~~~~ <--- HERE
        return input
  File "c:\p4research\research\tkarras\dnn\gan3support\feature_detectors\inception.py", line 28, in forward
    def forward(self, x):
        x = torch.nn.functional.conv2d(x, self.weight.to(x.dtype), stride=self.stride, padding=self.padding)
            ~~~~~~~~~~~~~~~~~~~~~~~~~~ <--- HERE
        x = torch.nn.functional.batch_norm(x, running_mean=self.mean, running_var=self.var, bias=self.beta, eps=1e-3)
        x = torch.nn.functional.relu(x)
RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED

from cleanfid import fid

def calculate_fid(x_dir, y_dir):
    return fid.compute_fid(x_dir, y_dir, mode='clean', num_workers=0, batch_size=16)

if __name__ == "__main__":
    p1 = '/dataset/flickr/images/' 
    score = calculate_fid(p1, p1)
    print(score)

python version: 3.8.16
pytorch version: 1.12.1
cuda version:11.3
GaParmar commented 10 months ago

Could you provide more details about your system? It looks like your machine does not have a GPU?