用于在CNTK中将LSTM NDL转换为Python的原语

2024-09-29 22:24:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将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。我找不到任何支持或例子。


Tags: 网络参数定义状态单元eg原语lstm
1条回答
网友
1楼 · 发布于 2024-09-29 22:24:24

找到了CNTK团队的答案-https://github.com/Microsoft/CNTK/wiki/Port-LSTM-NDL-primitives-to-Python

  1. 您需要使用占位符\u变量,然后调用来替换\u占位符。下面是一个简单的示例用法:https://github.com/Microsoft/CNTK/wiki/Implement-an-attention-mechanism

  2. 使用拼接

  3. 使用元素乘法(也称为*)

  4. 使用常量。可以通过numpy数组指定初始值。有许多方法可以将文本(或其他)文件加载到numpy数组中。np.loadtxt文件应该有用,但我还没试过。

相关问题 更多 >

    热门问题