我正在尝试将lstmndl配置转换为Python,但是找不到对以下NDL原语的支持
延迟—如何在网络中稍后定义的变量的延迟中传递参数?例如对于peep hole LSTM,单元状态变量Eg c\u t在后面定义,但是需要延迟来获得c\u t\u减1单元状态Eg c\u t\u减1=延迟(c\t)。但是,Python不允许先使用变量(例如c挈t)然后再定义。
RowStack,RowSlice–这些原语有替代品吗?如果没有,如何在python中实现它们?我们能把变量当作numpy数组来操作吗?
DiagTime vs ElementTimes–向量元素乘法的它们之间有什么区别吗?python也支持DiagTimes吗?
参数初始化–如何从python中的文件初始化参数并将computegradent设置为false。我找不到任何支持或例子。
找到了CNTK团队的答案-https://github.com/Microsoft/CNTK/wiki/Port-LSTM-NDL-primitives-to-Python
您需要使用占位符\u变量,然后调用来替换\u占位符。下面是一个简单的示例用法:https://github.com/Microsoft/CNTK/wiki/Implement-an-attention-mechanism
使用拼接
使用元素乘法(也称为*)
使用常量。可以通过numpy数组指定初始值。有许多方法可以将文本(或其他)文件加载到numpy数组中。np.loadtxt文件应该有用,但我还没试过。
相关问题 更多 >
编程相关推荐