【问题标题】:AttributeError: 'ConvertModel' object has no attribute 'seek'AttributeError:“ConvertModel”对象没有“seek”属性
【发布时间】:2021-05-24 00:28:54
【问题描述】:

我尝试使用 ONNX 将 MATLAB 模型转换为 PyTorch,就像 Andrew Naguib 在此处提出的那样:

How to import deep learning models from MATLAB to PyTorch?

我尝试使用以下代码运行模型:

import onnx
from onnx2pytorch import ConvertModel
import torch

onnx_model = onnx.load ('resnet50.onnx')

pytorch_model = ConvertModel(onnx_model)

model = torch.load(pytorch_model)

但是我收到了这个错误:

AttributeError:“ConvertModel”对象没有“seek”属性。你可以 只有 torch.load 来自可搜索的文件。请预加载数据 放入像 io.BytesIO 这样的缓冲区,然后尝试从中加载。

请问我该如何解决?关于如何“将数据预加载到像 io.BytesIO 这样的缓冲区”的任何想法?

【问题讨论】:

    标签: python pytorch attributeerror seek onnx


    【解决方案1】:

    假设my_data.dat 是一个包含二进制数据的文件,以下代码将其加载到可查找的ioBytesIO 缓冲区中:

    import io
    
    with open('my_data.dat', 'rb') as f:
        buf = io.BytesIO(f.read())
    

    你现在可以写类似的东西

        buf.seek(4)
    

        x = buf.read(1)
    

    当然,在你的情况下,你正在经历一个onnx.load 方法,我不知道那是什么。但如果确实在二进制文件上返回一个文件对象,那么上面的内容可能会对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2021-11-24
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 1970-01-01
      • 2020-04-28
      • 2012-12-01
      • 2021-04-19
      相关资源
      最近更新 更多