title: While conversion, invalid literal for float
body: <p>I'm trying to train my own data on the Yolo network, but before that I have to convert the bounding boxes co-ordinates to the form it wants.</p>
  
  <p>The file contents are like this:</p>
  
  <pre><code>0
  53 19 163 116
  </code></pre>
  
  <p>and I'm trying to convert it to the form the network works with the following.</p>
  
  <p>The code is:</p>
  
  <pre><code>import os
  from os import walk, getcwd
  from PIL import Image
  
  classes = ["stopsign"]
  
  def convert(size, box):
      dw = 1./size[0]
      dh = 1./size[1]
      x = (box[0] + box[1])/2.0
      y = (box[2] + box[3])/2.0
      w = box[1] - box[0]
      h = box[3] - box[2]
      x = x*dw
      w = w*dw
      y = y*dh
      h = h*dh
      return (x,y,w,h)
  
  
  """-------------------------------------------------------------------
  """ 
  
  """ Configure Paths"""   
  mypath = "/home/decentmakeover2/BBox-Label-Tool/Labels/002/"
  outpath = "/home/decentmakeover2/output/"
  
  cls = "stopsign"
  if cls not in classes:
      exit(0)
  cls_id = classes.index(cls)
  
  wd = getcwd()
  list_file = open('%s/%s_list.txt'%(wd, cls), 'w')
  
  """ Get input text file list """
  txt_name_list = []
  for (dirpath, dirnames, filenames) in walk(mypath):
      txt_name_list.extend(filenames)
      break
  print(txt_name_list)
  
  """ Process """
  for txt_name in txt_name_list:
      #txt_file =  open("Labels/stop_sign/001.txt", "r")
  
  """ Open input text files """
      txt_path = mypath + txt_name
      print("Input:" + txt_path)
      txt_file = open(txt_path, "r")
      lines = txt_file.read().split('\r\n')   #for ubuntu, use "\r\n" 
     instead of "\n"
  
  """ Open output text files """
  txt_outpath = outpath + txt_name
  print("Output:" + txt_outpath)
  txt_outfile = open(txt_outpath, "w")
  
  
  """ Convert the data to YOLO format """
  ct = 0
  for line in lines:
      #print('lenth of line is: ')
      #print(len(line))
      #print('\n')
      if(len(line) &gt;= 2):
          ct = ct + 1
          print(line + "\n")
          elems = line.split(' ')
          print(elems)
          xmin = elems[0]
          xmax = elems[2]
          ymin = elems[1]
          ymax = elems[3]
          #
          img_path = str('%s/images/%s/%s.JPEG'%(wd, cls, 
  os.path.splitext(txt_name)[0]))
          #t = magic.from_file(img_path)
          #wh= re.search('(\d+) x (\d+)', t).groups()
          im=Image.open(img_path)
          w= int(im.size[0])
          h= int(im.size[1])
          #w = int(xmax) - int(xmin)
          #h = int(ymax) - int(ymin)
          # print(xmin)
          print(w, h)
          b = (float(xmin), float(xmax), float(ymin), float(ymax))
          bb = convert((w,h), b)
          print(bb)
              txt_outfile.write(str(cls_id) + " " + " ".join([str(a) for 
  a 
  in bb]) + '\n')
  
      """ Save those images with bb into list"""
      if(ct != 0):
          list_file.write('%s/images/%s/%s.JPEG\n'%(wd, cls, 
  os.path.splitext(txt_name)[0]))
  
  list_file.close()         
  </code></pre>
  
  <p>and i get the error:
  first it prints out all the file names and the content of the data then,</p>
  
  <pre><code>['0\n53', '19', '163', '116\n']
  (262, 192)
  Traceback (most recent call last):
    File "text.py", line 84, in &lt;module&gt;
     b = (float(xmin), float(xmax), float(ymin), float(ymax))
  ValueError: invalid literal for float(): 0
  53
  </code></pre>
  
  <p>I'm not really sure what to do here.</p>
  
  <p>Any suggestions?</p>