Я обучил модель в torch, а затем преобразовал ее в caffe, а затем в tf. Как его теперь сконвертировать в onnx?

Я обучил модель Resnet в факеле. Затем я преобразовал его в caffe и в tflite. теперь я хочу преобразовать его в onnx. Как мне это сделать? Я пробую эту команду:

      python3 -m tf2onnx.convert --tflite  resnet.lite --output resnet.lite.onnx --opset 13 --verbose

потому что текущий формат модели tflite,

и получил эту ошибку:

      return packer_type.unpack_from(memoryview_type(buf), head)[0]
struct.error: unpack_from requires a buffer of at least 11202612 bytes for unpacking 4 bytes at offset 11202608 (actual buffer size is 2408448)

Спасибо.

2 ответа

Вы должны попробовать проверить файл модели, возможно, у вас неправильный файл, и эта ошибка из-за этого. попробуйте снова скопировать/загрузить файлы, а затем попробовать преобразование tf:

      python3 -m tf2onnx.convert --tflite  resnet.lite --output resnet.lite.onnx --opset 13 --verbose

вы можете попробовать что-то вроде этой ссылки для оформления заказа , возможно, вам нужно заморозить слои модели перед началом преобразования.

      pip install onnxruntime
pip install git+https://github.com/onnx/tensorflow-onnx
python -m tf2onnx.convert --saved-model ./checkpoints/yolov4.tf --output model.onnx --opset 11 --verbose

вы можете попробовать это также ссылка

      pip install tf2onnx 
      import tensorflow as tf
import tf2onnx
import onnx

model = tf.keras.Sequential()
model.add(tf.keras.layers.Dense(4, activation="relu"))

input_signature = [tf.TensorSpec([3, 3], tf.float32, name='x')]
# Use from_function for tf functions
onnx_model, _ = tf2onnx.convert.from_keras(model, input_signature, opset=13)
onnx.save(onnx_model, "dst/path/model.onnx")
Другие вопросы по тегам