в данный момент я изо всех сил стараюсь не отчаянно пытаться преобразовать это (из https://cntk.ai/pythondocs/gettingstarted.html#overview-and-first-run)
cntk.minus([1, 2, 3], [4, 5, 6]).eval()
, что дает массив " ([- 3., -3., -3.], dtype = float32)"
до
public static void Test1()
{
var device = DeviceDescriptor.GPUDevice(0);
var v1 = CNTKLib.InputVariable(new int[] { 1 }, DataType.Float, "e1");
var v2 = CNTKLib.InputVariable(new int[] { 1 }, DataType.Float, "e2");
var o1 = CNTKLib.InputVariable(new int[] { 1 }, DataType.Float, "o1");
var o2 = CNTKLib.InputVariable(new int[] { 1 }, DataType.Float, "o2");
var features1 = new float[] { 1, 2, 3 };
var features2 = new float[] { 4, 5, 6 };
var vv1 = Value.CreateBatch<float>(new int[] { 1 }, features1, device);
var vv2 = Value.CreateBatch<float>(new int[] { 1 }, features2, device);
var d1 = new Dictionary<Variable, Value>()
{
{ v1, vv1 },
{ v2, vv2 },
};
var d2 = new Dictionary<Variable, Value>();
d2.Add(o1, null);
var fun = CNTK.CNTKLib.Minus(v1, v2);
fun.Evaluate(d1, d2, device);
}
, что приводит к следующей ошибке:
" Значения для 1 обязательных аргументов 'Вход ('o1', [1], [, #]) ', от которого зависят запрошенные выходные данные' Вход ('o1', [1], [, #]) ',не были предоставлены"
Я не могу понять, как документация для C # настолько пуста и как это может быть так просто в Python.
То же самое можно применить к следующему примеру
import numpy as np
x = cntk.input_variable(2)
y = cntk.input_variable(2)
x0 = np.asarray([[2., 1.]], dtype=np.float32)
y0 = np.asarray([[4., 6.]], dtype=np.float32)
cntk.squared_error(x, y).eval({x:x0, y:y0})
->array([ 29.], dtype=float32)
массивы numpy просто отлично разбираются как словари. Я пытался сделать то же самое в C # (едва следуя примерам в https://github.com/Microsoft/CNTK/blob/master/Examples/TrainingCSharp/Common/LogisticRegression.cs), но та же ошибка.
Кто-нибудь может помочь мне выяснить, что мне не хватает? Также, возможно, указать на некоторую документацию с основными примерами использования API в C #.
спасибо !!