【运行HiddenLayer报错module ‘torch.onnx‘ has no attribute ‘_optimize_trace‘】

项目场景:

`

运行HiddenLayer报错module ‘torch.onnx’ has no attribute ‘_optimize_trace’


问题描述

运行HiddenLayer报错module ‘torch.onnx’ has no attribute ‘_optimize_trace’


原因分析:

由于pytorch版本较新,hiddenLayer内部的API没有相应地更新,HiddenLayer还是调用的_optimize_trace,而新版pytorch已经改成了_optimize_graph。


解决方案:

只需要找到,hiddenlayer包里面的pytorch_builder.py程序:我的环境绝对路径是:D:\Anaconda3\setup\envs\AI\Lib\sitepackages\hiddenlayer\pytorch_builder.py,然后在71行改一下就行了,

def import_graph(hl_graph, model, args, input_names=None, verbose=False):
    # TODO: add input names to graph

    # Run the Pytorch graph to get a trace and generate a graph from it
    trace, out = torch.jit._get_trace_graph(model, args)
    # torch_graph = torch.onnx._optimize_trace(trace, torch.onnx.OperatorExportTypes.ONNX)
    torch_graph = torch.onnx._optimize_graph(trace, torch.onnx.OperatorExportTypes.ONNX)   # 这里改动过

【运行HiddenLayer报错module ‘torch.onnx‘ has no attribute ‘_optimize_trace‘】_第1张图片

你可能感兴趣的:(pytorch,深度学习,python)