TypeError:无法腌制cv2.CLAHE对象

问题描述

我正在尝试在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",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                 
   
         

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

解决方法

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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...