felipecode / coiltraine

Training framework for conditional imitation learning
MIT License
230 stars 68 forks source link

UnicodeDecodeError, during test in drive_TestT1_Town01 #19

Closed jonfranc closed 4 years ago

jonfranc commented 5 years ago

Hello,

I receive a runtime UnicodeDecodeError, during test in drive_TestT1_Town01.

I am using Ubuntu 18.04 with carla:0.8.2 docker, and I executed the following run command:

python3 coiltraine.py --folder sample --gpus 0 -de TestT1_Town01 -vd CoILVal1 --docker carlasim/carla:0.8.2

After finishing train and validation, the process displays the "Iterating" in test for quite some time:

coil_icra : CoILTrain_coil-icra_8conv_lowdropout_single_control_balancesteer_L1_noise_all_6_None_50hours           
     train                                                                                                         
        STATUS:  Finished                                                                                          
     validation_CoILVal1                                                                                           
        STATUS:  Finished                                                                                          
     drive_TestT1_Town01                                                                                           
        STATUS:  Iterating                                                                                         

After some time, the error is produced and the following traceback is displayed:

Traceback (most recent call last):                                                                                  
  File "coiltraine.py", line 187, in <module>                                                                       
    folder_execute(params)                                                                                          
  File "/home/user/coiltraine/coil_core/executer.py", line 173, in folder_execute                                   
    driving_environments)                                                                                           
  File "/home/user/coiltraine/logger/printer.py", line 126, in plot_folder_summaries                                
    names_list = get_names(exp_batch)                                                                               
  File "/home/user/coiltraine/configs/coil_global.py", line 122, in get_names                                       
    merge_with_yaml(os.path.join('configs', folder, experiment_alias))                                              
  File "/home/user/coiltraine/configs/coil_global.py", line 102, in merge_with_yaml                                 
    yaml_file = yaml.load(f)                                                                                        
  File "/home/user/anaconda3/envs/coiltraine/lib/python3.5/site-packages/yaml/__init__.py", line 70, in load        
    loader = Loader(stream)                                                                                         
  File "/home/user/anaconda3/envs/coiltraine/lib/python3.5/site-packages/yaml/loader.py", line 34, in __init__      
    Reader.__init__(self, stream)                                                                                   
  File "/home/user/anaconda3/envs/coiltraine/lib/python3.5/site-packages/yaml/reader.py", line 85, in __init__      
    self.determine_encoding()                                                                                       
  File "/home/user/anaconda3/envs/coiltraine/lib/python3.5/site-packages/yaml/reader.py", line 124, in determine_enc
oding                                                                                                               
    self.update_raw()                                                                                               
  File "/home/user/anaconda3/envs/coiltraine/lib/python3.5/site-packages/yaml/reader.py", line 178, in update_raw   
    data = self.stream.read(size)                                                                                   
  File "/home/user/anaconda3/envs/coiltraine/lib/python3.5/codecs.py", line 321, in decode                          
    (result, consumed) = self._buffer_decode(data, self.errors, final)                                              
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x9a in position 16: invalid start byte

Please advise!

jonfranc commented 4 years ago

Figured it out. The method merge_with_yaml() ({repo}/configs/coil_global.py:102) is erroneously attempting to read the swap file {repo}/configs/.*.yaml.swp, since I had my configuration file open in vim, on the Linux commandline, while initiating the training process.