web-dev-qa-db-fra.com

Python tensorflow lite error : Cannot set tensor: Got tensor of type 1 but got type 3 for input 88

je me demande actuellement comment je vais extraire le tensor-flow lite et tester mon ensemble de données. mais je sens que j'ai rencontré une erreur de compilation python: enter image description here

Voici mon code:

interpreter = tf.contrib.lite.Interpreter(model_path=
    "/mnt/ficusspain/cqli/tensorflow_models/Quantized_Models/mobilenet_v1_0.25_128_quant/mobilenet_v1_0.25_128_quant.tflite")
interpreter.allocate_tensors()

print("can we get here?")

# Get input and output tensors.
input_details = interpreter.get_input_details()
output_details = interpreter.get_output_details()

print("can we get here")

# Test model on random input data.
input_shape = input_details[0]['shape']
print(input_shape)
print(input_details[0]['index'])
print(output_details[0]['index'])


input_data = np.array(np.random.random_sample(input_shape), dtype=np.float32)
interpreter.set_tensor(input_details[0]['index'], input_data)

interpreter.invoke()
output_data = interpreter.get_tensor(output_details[0]['index'])
print(output_data)
7
user144600

Vous devez changer le dtype de np.float32 en np.uint8:

input_data = np.array(np.random.random_sample(input_shape), dtype=np.uint8)

Vous pouvez toujours vérifier avec

print(interpreter.get_input_details())

quel dtype est requis

6
Maracana