Skip to content

ValueError: invalid literal for int() with base 10: 'post1' #94

@jfitzg7

Description

@jfitzg7

I ran into this error while running the command ./core/gdrn_modeling/train_gdrn.sh configs/gdrn/ycbv/convnext_a6_AugCosyAAEGray_BG05_mlL1_DMask_amodalClipBox_classAware_ycbv.py 0,1 --strategy ddp --eval-only which seems to be related to imageio:

[1228_181318@eval_calc_errors.py:284] Calculating error vsd - method: convnext-a6-AugCosyAAEGray-BG05-mlL1-DMask-amodalClipBox-classAware-ycbv-test-iter0, dat
aset: ycbv, scene: 48, im: 0                                                                                                                                  
> /home/jack/anaconda3/envs/gdrnpp/lib/python3.8/site-packages/imageio/plugins/pillow.py(48)pillow_version()                                                  
-> return tuple(int(x) for x in pil_version.split("."))                                                                                                       
(Pdb) x for x in pil_version.split(".")                                                                                                                       
*** SyntaxError: invalid syntax                                                                                                                               
(Pdb) [x for x in pil_version.split(".")]                                                                                                                     
['9', '0', '0', 'post1']                                                                                                                                      
(Pdb) c                                                                                                                                                       
Traceback (most recent call last):                                                                                                                            
  File "/data2/6d-pose-estimation/gdrnpp_bop2022/lib/pysixd/scripts/eval_calc_errors.py", line 303, in <module>                                               
    depth_im = inout.load_depth(depth_path)                                                                                                                   
  File "/data2/6d-pose-estimation/gdrnpp_bop2022/lib/pysixd/scripts/../../../lib/pysixd/inout.py", line 56, in load_depth                                     
    d = imageio.imread(path)                                                                                                                                  
  File "/home/jack/anaconda3/envs/gdrnpp/lib/python3.8/site-packages/imageio/__init__.py", line 97, in imread                                                 
    return imread_v2(uri, format=format, **kwargs)                                                                                                            
  File "/home/jack/anaconda3/envs/gdrnpp/lib/python3.8/site-packages/imageio/v2.py", line 360, in imread                                                      
    result = file.read(index=0, **kwargs)                                                                                                                     
  File "/home/jack/anaconda3/envs/gdrnpp/lib/python3.8/site-packages/imageio/plugins/pillow.py", line 254, in read                                            
    image = self._apply_transforms(                                                                                                                           
  File "/home/jack/anaconda3/envs/gdrnpp/lib/python3.8/site-packages/imageio/plugins/pillow.py", line 313, in _apply_transforms                               
    major, minor, patch = pillow_version()                                                                                                                    
  File "/home/jack/anaconda3/envs/gdrnpp/lib/python3.8/site-packages/imageio/plugins/pillow.py", line 48, in pillow_version                                   
    return tuple(int(x) for x in pil_version.split("."))                                                                                                      
  File "/home/jack/anaconda3/envs/gdrnpp/lib/python3.8/site-packages/imageio/plugins/pillow.py", line 48, in <genexpr>                                        
    return tuple(int(x) for x in pil_version.split("."))                                                                                                      
ValueError: invalid literal for int() with base 10: 'post1'                                                                                                   
Traceback (most recent call last):                                                                                                                            
  File "lib/pysixd/scripts/eval_pose_results_more.py", line 301, in <module>                                                                                  
    raise RuntimeError("Calculation of pose errors failed.")                                                                                                  
RuntimeError: Calculation of pose errors failed. 

The line of code return tuple(int(x) for x in pil_version.split(".")) grabs the pillow version which is 9.0.0.post1 and doesn't parse the post1 part correctly.

I've downgraded to imageio==2.23.0 which works, but I just arbitrarily chose that. It may be worth explicitly setting the imageio version to one that works in the requirements.txt, since the latest version (2.33.1) will throw this error.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions