CNTK 中的原始函数和复合函数有什么区别?

What's the difference between primitive and composite function in CNTK?

据我了解,as_block 函数用于将复合函数转换为原始函数。但是两者有什么区别呢?什么情况下需要使用这个功能?感谢您的帮助!

复合函数的参数与原始函数的参数不同。原始函数的参数是用作直接输入的变量,而复合函数则追溯到图形的开头。

例如,如果您有如下代码: a = b * c s = a + d 如果您检查 s.arguments,您会发现 b、c 和 d。这是因为原始函数 Plus 被包裹在 as_composite 中。但是您可以检查 s.owner.arguments,它会显示 a 和 d,它们是 Plus 的直接输入。