python - 将 Numpy 数组提供给 CNTK LSTM 模型

标签 python arrays numpy deep-learning cntk

我想看看是否有办法将序列数据作为 Numpy 数组提供给 CTNK 中定义的文本 LSTM 模型。我数据集中的每个实例都是一个映射回单词的整数序列,每个序列的长度都不同。似乎可以将他们的原始文本数据转换为 CTF 格式,并通过创建生成小批量的 reader 函数将此数据提供给模型,如 this 所示。例子。但是,我想知道是否有办法将 Numpy 数组提供给同一个模型。

在此示例的下方,讨论了 feeding sequences with Numpy ,我希望这能解决我的问题。但是,该示例处理的是图像序列而不是可变长度的单词序列。在示例的情况下,我们将得到一个 n 元素的张量,每个元素都是 3 x 32 x 32,我们可以设置一个输入变量期望这些维度。然而,在每个序列具有不同长度的单词序列的情况下,这个例子就失效了。

对于基于文本的 LSTM/RNN 的 CTNK 和 Numpy 之间互操作的任何帮助,我们将不胜感激。

最佳答案

您可能正在寻找:

x = cntk.sequence.input_variable(shape=())

这是一个示例小程序,​​演示了它如何使用可变序列长度:

import numpy as np
import cntk

# define the model
x = cntk.sequence.input_variable(shape=())
z = cntk.sequence.last(x)

# define the data
a = [[1,2,3], [4,5], [6,7,8,9], [0]]
b = [np.array(i, dtype=np.float32) for i in a]

# evaluate
res = z.eval({x: b})
print(res)

关于python - 将 Numpy 数组提供给 CNTK LSTM 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45392053/

相关文章:

python:numpy列表到数组和vstack

python - 使用 numpy 高效地将 16 位图像数据转换为 8 位显示,具有强度缩放

python - 替换 N-d numpy 数组中的字符串

python - 在给定文件路径的情况下在 Google 云端硬盘中查找文件 ID(例如 : "MyDrive/Folder1/Folder2")

Python3有条件地装饰?

python - 使用 Python 进行 NVMe 吞吐量测试

python - 为什么在 self.assertEqual 签名中调用字典键时出现 KeyError ?

javascript - jquery延迟函数与IF语句

c - C中简单平均计算的错误值输出

python - 计算时间戳与月份的差异