|
|
1
0
简而言之,答案是否定的,操作没有封闭在设备上。下面是发生的情况:当您调用eval()时,调用转到C++,如果可能的话,C++会在设备上执行操作。当从C++中出来时,CNTK检查
如果调用prod.eval(as\u numpy=False),则调用
此外,CNTK使用时间戳,因此上述评估仅在GPU上发生一次。所有后续
最后,我不希望从这个基准中学到很多有意义的教训:CNTK和Theano都在调用同一个CuDNN实现,CNTK的优势更多地体现在更高层次的事情上,例如(a)带有高级库(b)用户不必担心批次和序列轴,除了一些专门的操作(c)高效的递归网络(d)高效的输入/输出(e)易于分布式训练。
回答你关于设置时间的问题:我的理解是,如果你只评估一次函数,它就会编译出来。CNTK实际上有两种编译:如果你只是
|