Ошибка типа: не удается удалить объекты cv2.CLAHE

#python-3.x #pytorch #cv2

#python-3.x #pytorch #cv2

Вопрос:

Я пытаюсь запустить код на github(https://github.com/AayushKrChaudhary/RITnet )

Я не получил набор данных семантической сегментации OpenEDS, поэтому я попытался загрузить изображение png из Интернета и поместить его в Semantic_Segmentation_Datasettest для запуска тестовой программы.

Этот код выдает следующую ошибку:

 Traceback (most recent call last):
  File "test.py", line 59, in <module>
    for i, batchdata in tqdm(enumerate(testloader),total=len(testloader)):
  File "C:Usersb0743AppDataLocalContinuumanaconda3envsMachine_Learninglibsite-packagestorchutilsdatadataloader.py", line 291, in __iter__
    return _MultiProcessingDataLoaderIter(self)
  File "C:Usersb0743AppDataLocalContinuumanaconda3envsMachine_Learninglibsite-packagestorchutilsdatadataloader.py", line 737, in __init__
    w.start()
  File "C:Usersb0743AppDataLocalContinuumanaconda3envsMachine_Learninglibmultiprocessingprocess.py", line 105, in start
    self._popen = self._Popen(self)
  File "C:Usersb0743AppDataLocalContinuumanaconda3envsMachine_Learninglibmultiprocessingcontext.py", line 223, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
  File "C:Usersb0743AppDataLocalContinuumanaconda3envsMachine_Learninglibmultiprocessingcontext.py", line 322, in _Popen
    return Popen(process_obj)
  File "C:Usersb0743AppDataLocalContinuumanaconda3envsMachine_Learninglibmultiprocessingpopen_spawn_win32.py", line 65, in __init__
    reduction.dump(process_obj, to_child)
  File "C:Usersb0743AppDataLocalContinuumanaconda3envsMachine_Learninglibmultiprocessingreduction.py", line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
TypeError: can't pickle cv2.CLAHE objects

(Machine_Learning) C:Usersb0743DownloadsRITnet-masterRITnet-master>Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:Usersb0743AppDataLocalContinuumanaconda3envsMachine_Learninglibmultiprocessingspawn.py", line 105, in spawn_main
    exitcode = _main(fd)
  File "C:Usersb0743AppDataLocalContinuumanaconda3envsMachine_Learninglibmultiprocessingspawn.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:

Я буквально только что вошел в файл dataset python и прокомментировал все части, требующие opencv. Оказывается, это работает, но вы не получите этого сладкого clahe и других вещей, но это работает. если вам не нужен набор данных, просто создайте тензор из изображения размером 640 на 400 и поместите его в пустой массив, а затем поместите этот массив в массив, пока у вас не будет тензора 4d, и передайте его в dnn , а затем передайте вывод через функцию get predictions и viola, у вас есть массив функций eye.