I made a working script in python to train a CNTK Model with some data samples. Now I'm trying to translate it to C# in CNTK V2.2 but I'm getting different results.
This is what I got in Python to create a model:
def create_model_function(num_hidden_layers,hidden_layers_dim,num_output_classes):
return Sequential([For(range(num_hidden_layers)
, lambda i: Dense(hidden_layers_dim
, activation=cntk.tanh))
, Dense(num_classes,init=cntk.glorot_uniform()
, activation=cntk.softmax)])
Thanks
My C# function looks like this:
private Function CreateModel(DeviceDescriptor device, int HiddenLayerCount, int HiddenLayerDimension,int OutputClassesCount, Variable Input)
{
Function[] HiddenLayers= new Function[HiddenLayerCount];
for (int i = 1; i < HiddenLayerCount - 1; i++)
{
HiddenLayers[i] = Dense(HiddenLayers[i - 1], HiddenLayerDimension, device, Activation.Tanh, "");
}
return Dense(HiddenLayers[HiddenLayerCount-1], OutputClassesCount, device, Activation.Sigmoid, "");
}
I'm just not sure this is the equivalent of the Python sequential.