with open(f'./model/TargetSparsity_{final_sparsity:.1f}/TargetSparsity_{final_sparsity:.1f}_pruned_model_fp16.tflite', 'rb') as f:
model_data = f.read()
interpreter = tf.lite.Interpreter(model_content=model_data)
input_details = interpreter.get_input_details()
new_input_shape = [1, 320, 1] # 根据模型的要求调整输入形状
interpreter.resize_tensor_input(input_details[0]['index'], new_input_shape, strict=True)
interpreter.allocate_tensors()
test_accuracy = evaluate_model(interpreter, X_test, Y_test)
如题,我在分析之前生成的.tflite文件时采用allocate_tensor()分配内存,但是报错如下:
File "D:\purning\MIT_ECG_class_vgg16_byTargetSparsity_2\train_and_purne_with_sparsity.py", line 200, in train_and_prune_with_sparsity
interpreter.allocate_tensors()
File "C:\Users\11340\miniconda3\envs\TF_py37\lib\site-packages\tensorflow\lite\python\interpreter.py", line 513, in allocate_tensors
return self._interpreter.AllocateTensors()
ValueError: vector too long
请问问题出在哪里,应该如何解决呢,我的模型输入是一个一维的320 x 1的张量,输出是一个5 x 1的张量作为分类的输出
Input Details Before Resizing: [{'name': 'serving_default_input_1:0', 'index': 0, 'shape': array([ 1, 320, 1]), 'shape_signature': array([ -1, 320, 1]), 'dtype': <class 'numpy.float32'>, 'quantization': (0.0, 0), 'quantization_parameters': {'scales': array([], dtype=float32), 'zero_points': array([], dtype=int32), 'quantized_dimension': 0}, 'sparsity_parameters': {}}]