Cannot compile model for inferentia: ValueError: Attempt to convert a value (None) with an unsupported type (<class 'NoneType'>) to a Tensor.


Currently, I host my model with tensorflow_model_server. Here is how I export my model:

model = tf.keras.models.load_model("model.hdf5")

def __decode_images(images, nch):
    o = tf.vectorized_map(lambda x: tf.image.decode_jpeg(x, nch), images)
    o = tf.image.resize(o, (128,128))
    o = tf.cast(o, dtype=tf.float16) / 255
    o = tf.reverse(o, axis=[-1])  # RGB2BGR
    return o

def __encode_images(images):
    images = tf.image.convert_image_dtype(images, tf.uint8, saturate=True)
    o = tf.vectorized_map(tf.image.encode_jpeg, images)
    return o

@tf.function(input_signature=[tf.TensorSpec(shape=[None], dtype=tf.string, name='image')])
def serving(img):
    img = __decode_images(img, 3)
    o = model([img], training=False)
    o = __encode_images(o)
    return {
        'output': o,
    }, export_dir=args.output, signatures=serving

Now, I want to compile my model for inferentia. Here is that I come up with:

mage_path = '1.jpg' 
with, 'rb') as f:
    image_data =
sample_input = tf.constant([image_data])
model_neuron = tfn.trace(serving, sample_input)

But I get the following error:

    model_neuron = tfn.trace(serving, sample_input)
  File "/home/mosi/miniconda3/envs/inf/lib/python3.8/site-packages/tensorflow_neuron/python/", line 215, in trace
    graph_def = gdu.inline_shape_inputs_in_subgraphs(graph_def)
  File "/home/mosi/miniconda3/envs/inf/lib/python3.8/site-packages/tensorflow_neuron/python/", line 245, in inline_shape_inputs_in_subgraphs
    shape_tensor = convert_to_tensor(tensor_content, dtype)
  File "/home/mosi/miniconda3/envs/inf/lib/python3.8/site-packages/tensorflow/python/profiler/", line 183, in wrapped
    return func(*args, **kwargs)
  File "/home/mosi/miniconda3/envs/inf/lib/python3.8/site-packages/tensorflow/python/framework/", line 1638, in convert_to_tensor
    ret = conversion_func(value, dtype=dtype, name=name, as_ref=as_ref)
  File "/home/mosi/miniconda3/envs/inf/lib/python3.8/site-packages/tensorflow/python/framework/", line 343, in _constant_tensor_conversion_function
    return constant(v, dtype=dtype, name=name)
  File "/home/mosi/miniconda3/envs/inf/lib/python3.8/site-packages/tensorflow/python/framework/", line 267, in constant
    return _constant_impl(value, dtype, shape, name, verify_shape=False,
  File "/home/mosi/miniconda3/envs/inf/lib/python3.8/site-packages/tensorflow/python/framework/", line 279, in _constant_impl
    return _constant_eager_impl(ctx, value, dtype, shape, verify_shape)
  File "/home/mosi/miniconda3/envs/inf/lib/python3.8/site-packages/tensorflow/python/framework/", line 304, in _constant_eager_impl
    t = convert_to_eager_tensor(value, ctx, dtype)
  File "/home/mosi/miniconda3/envs/inf/lib/python3.8/site-packages/tensorflow/python/framework/", line 102, in convert_to_eager_tensor
    return ops.EagerTensor(value, ctx.device_name, dtype)
ValueError: Attempt to convert a value (None) with an unsupported type (<class 'NoneType'>) to a Tensor.

asked 7 months ago529 views
1 Answer

It looks like the image_data is None. Can you try assert image_data is not None, "Image data is None"

answered 7 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions