Pytorch CNTK:“;无法根据输入和新形状大小计算推断尺寸。”;

Pytorch CNTK:“;无法根据输入和新形状大小计算推断尺寸。”;,pytorch,cntk,onnx,Pytorch,Cntk,Onnx,我已经使用Pytorch为CIFAR-10建立了一个模型,并将其保存为ONNX文件 但看起来我无法从CNTK加载它 我已经从同一源代码加载了另一个ONNX文件(错误),所以依赖项看起来还可以。调用Function.Load()时出现问题 我收到此异常(未处理的异常): System.ApplicationException:“重塑:无法根据输入和新形状大小计算推断尺寸。 [调用堆栈] -CNTK::TrainingParameterSchedule::GetMinibatchSize -CNT

我已经使用Pytorch为CIFAR-10建立了一个模型,并将其保存为ONNX文件

但看起来我无法从CNTK加载它

我已经从同一源代码加载了另一个ONNX文件(错误),所以依赖项看起来还可以。调用Function.Load()时出现问题

我收到此异常(未处理的异常):

System.ApplicationException:“重塑:无法根据输入和新形状大小计算推断尺寸。 [调用堆栈] -CNTK::TrainingParameterSchedule::GetMinibatchSize -CNTK::XavierInitializer(x6) -CNTK::函数::加载 -CSharp\u CNTK\u函数\u加载\u开关\u 0 -00007FFB0C41C307(SymFromAddr()错误:Le模块spécifiéest可插入。)
看起来无法在CNTK中加载此模型。CNTK对导出(保存)到ONNX有很好的支持,导入(加载)对于某些操作可能会有问题

CNTK开发已冻结,您使用它的动机是什么


现在推荐的方法是使用ONNX运行时进行推理,它对ONNX有一流的支持。

谢谢Sergey。我已经看到CNTK将不再获得更新(但这最后一次更新是非常新的),最近的许多博客帖子(主要写在2018年)都在谈论CNTK的各种优势。因此,使用CNTK的主要动机是它看起来是将ONNX模型加载到.Net应用程序中的理想方式。我以前从未听说过ONNX运行时,但我想我现在要花很多时间来使用它!
var deviceDescriptor = DeviceDescriptor.CPUDevice; ;
var function = Function.Load(ONNX_PATH, deviceDescriptor, ModelFormat.ONNX);
System.ApplicationException : 'Reshape: inferred dimension cannot be calculated from input and new shape size. [CALL STACK] - CNTK::TrainingParameterSchedule:: GetMinibatchSize - CNTK:: XavierInitializer (x6) - CNTK::Function::Load - CSharp_CNTK_Function__Load__SWIG_0 - 00007FFB0C41C307 (SymFromAddr() error: Le module spécifié est introuvable.)