在哪里可以找到使用CNTK C#(多对多,多对一,回归,分类)的LSTM模型的详细记录样本?它们存在吗?
我已经尝试在C#中使用CNTK大约4个月了,而且很难在C#中找到好的文档。到目前为止,我已经找到了这些:
非常难以理解。一些命名法可以在(优秀)帖子中找到:http://colah.github.io/posts/2015-08-Understanding-LSTMs/
但有些参数令人困惑。什么是LSTMDim,它在函数LSTMPComponentWithSelfStabilization中变为outputShape?它似乎是隐藏状态的长度而不是整个网络的输出。 cellDim似乎是内存状态的维度。 CNTKLib.SequenceLast究竟做了什么?
此示例使用Github中的LSTM Helper,并且是Python版本的端口。它在button1_Click事件中使用cellDim = inDim = 5。我将inDim更改为15和10以尝试一些新配置,并在此过程中遇到许多错误。
答案 0 :(得分:1)
与Python相比,CNTK C#支持相当差。将会有越来越多的示例,但是它们仅仅是将相同的代码从Python转换为C#的尝试。 Python具有用于创建深度学习内容的内置,简洁且整洁的工具(例如,name fav_animal
x 1,2,3
y 2,3
z 3,4
模块实际上具有您需要的任何东西)。在C#中,您必须通过#storing all the id's of x frist
list_id = []
name_animal = []
for i in list_ids:
name_animal.append(df1.loc[df1.id == i, 'A'].values.to_list()
,list_id = [1,2,3]
name_animal = ['cat','dog','mamal']
等基本工具编写自己的计算块(或大部分为图层),或使用their helpers。不过,由于Python API是bit more advanced,因此您可以实现不同的性能/融合率。
回到问题:
cntk.layers
参数是该图层的输出尺寸 CNTK.Parameter
是单元格状态的维度您会看到CNTK.Function
和LSTMDim
设置为25。在Python cellDim
中,默认值为LSTMDim
,并且输出形状和单元格形状可能不同。 / p>
cellDim
返回序列的最后一个元素cellDim
表单的开头设置None
,才能开始使用它。即将发布2.7版本,但是已经使用CNTK超过一年了(Python和C#),所以我决定坚持使用Python API,因为它实际上比C#中的任何内容都具有优势