TypeError:无法腌制cv2.CLAHE对象

时间:2020-09-08 09:04:21

标签: python-3.x pytorch cv2

我正在尝试在github(https://github.com/AayushKrChaudhary/RITnet)上运行代码

我没有获得OpenEDS的语义分割数据集,所以我尝试从Internet下载png图像并将其放在Semantic_Segmentation_Dataset\test\中以运行测试程序。

该代码给出以下错误:

Traceback (most recent call last):
  File "test.py", line 59, in <module>
    for i, batchdata in tqdm(enumerate(testloader),total=len(testloader)):
  File "C:\Users\b0743\AppData\Local\Continuum\anaconda3\envs\Machine_Learning\lib\site-packages\torch\utils\data\dataloader.py", line 291, in __iter__
    return _MultiProcessingDataLoaderIter(self)
  File "C:\Users\b0743\AppData\Local\Continuum\anaconda3\envs\Machine_Learning\lib\site-packages\torch\utils\data\dataloader.py", line 737, in __init__
    w.start()
  File "C:\Users\b0743\AppData\Local\Continuum\anaconda3\envs\Machine_Learning\lib\multiprocessing\process.py", line 105, in start
    self._popen = self._Popen(self)
  File "C:\Users\b0743\AppData\Local\Continuum\anaconda3\envs\Machine_Learning\lib\multiprocessing\context.py", line 223, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
  File "C:\Users\b0743\AppData\Local\Continuum\anaconda3\envs\Machine_Learning\lib\multiprocessing\context.py", line 322, in _Popen
    return Popen(process_obj)
  File "C:\Users\b0743\AppData\Local\Continuum\anaconda3\envs\Machine_Learning\lib\multiprocessing\popen_spawn_win32.py", line 65, in __init__
    reduction.dump(process_obj, to_child)
  File "C:\Users\b0743\AppData\Local\Continuum\anaconda3\envs\Machine_Learning\lib\multiprocessing\reduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
TypeError: can't pickle cv2.CLAHE objects

(Machine_Learning) C:\Users\b0743\Downloads\RITnet-master\RITnet-master>Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Users\b0743\AppData\Local\Continuum\anaconda3\envs\Machine_Learning\lib\multiprocessing\spawn.py", line 105, in spawn_main
    exitcode = _main(fd)
  File "C:\Users\b0743\AppData\Local\Continuum\anaconda3\envs\Machine_Learning\lib\multiprocessing\spawn.py", line 115, in _main
    self = reduction.pickle.load(from_parent)
EOFError: Ran out of input

我的环境是:

# Name                    Version                               
cudatoolkit               10.1.243             
cudnn                     7.6.5                         
keras-applications        1.0.8                    
keras-base                2.3.1                   
keras-gpu                 2.3.1                      
keras-preprocessing       1.1.0                                              
matplotlib                3.3.1                         
matplotlib-base           3.3.1                     
numpy                     1.19.1           
numpy-base                1.19.1                            
opencv                    3.3.1                                   
pillow                    7.2.0                                    
python                    3.6.10                            
pytorch                   1.6.0                                   
scikit-learn              0.23.2          
scipy                     1.5.2                                               
torchsummary              1.5.1                  
torchvision               0.7.0                   
tqdm                      4.48.2                 
   
         

我不知道这是否是一个愚蠢的问题,但我希望有人可以尝试为我回答。

1 个答案:

答案 0 :(得分:0)

我实际上只是进入数据集python文件并注释了所有需要opencv的部分。 事实证明它是可行的,但是您不会得到那个甜美的clahe和其他东西,但是它可行。 如果不需要数据集,只需在640 x 400图像中制作一个张量,然后将其放入一个空数组中,然后将该数组放入一个数组中,直到具有4d张量并将其传递到dnn中,然后放入通过获取预测功能和中提琴的输出,您可以获得一系列的眼睛特征。