, but one of: (,) is expected I am trying to use a s...">

Back to top build_imagenet_data.py TypeError: "RGB" is of type <class 'str'>, but one of: (<class 'bytes'>,) is expected

I am trying to use a small version of the _convert_to_example () function in build_imagenet_data.py :

def _convert_to_example(filename, image_buffer, label, bboxes, height, width):

  xmin = []
  ymin = []
  xmax = []
  ymax = []
  for b in bboxes:
    assert len(b) == 4
    # pylint: disable=expression-not-assigned
    [l.append(point) for l, point in zip([xmin, ymin, xmax, ymax], b)]
    # pylint: enable=expression-not-assigned

    colorspace = 'RGB'
    channels = 3
    image_format = 'JPEG'

    example = tf.train.Example(features=tf.train.Features(feature={
      'image/height': _int64_feature(height),
      'image/width': _int64_feature(width),
      'image/colorspace': _bytes_feature(colorspace),
      'image/channels': _int64_feature(channels),
      'image/class/label': _int64_feature(label),
      'image/object/bbox/xmin': _float_feature(xmin),
      'image/object/bbox/xmax': _float_feature(xmax),
      'image/object/bbox/ymin': _float_feature(ymin),
      'image/object/bbox/ymax': _float_feature(ymax),
      'image/object/bbox/label': _int64_feature(label),
      'image/format': _bytes_feature(image_format),
      'image/filename': _bytes_feature(os.path.basename(filename)),
      'image/encoded': _bytes_feature(image_buffer)}))
  return example

I get an error related to a color space variable:

TypeError: 'RGB' has the class type 'str', but the expected one is from: (class 'bytes',)

If I comment on the image / colorspace function, I get the same error for the image / format. Similarly for the image / file name. If I comment on these three functions, the function seems to work as expected. What am I doing wrong?

+4
source share
2 answers

Python 2/3. colorspace image_format bytes, b :

colorspace = b'RGB'
# ...
image_format = b'JPEG'
+3

.

o     #shuffled_index = range(len(filenames))
o     shuffled_index = list(range(len(filenames)))
o     #for i in xrange(len(spacing) - 1):
o     for i in range(len(spacing) - 1):
o         'image/class/text': _bytes_feature(text.encode()),
o         'image/filename': _bytes_feature(os.path.basename(filename.encode())),
o     colorspace = 'RGB'.encode()
o     channels = 3
o     image_format = 'JPEG'.encode()
+3

Source: https://habr.com/ru/post/1648890/


All Articles