Базовая операция CNTK с c # в следующем примере Python дает ошибку - PullRequest
0 голосов
/ 21 февраля 2019

в данный момент я изо всех сил стараюсь не отчаянно пытаться преобразовать это (из 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 #.

спасибо !!

1 Ответ

0 голосов
/ 22 февраля 2019

вы можете захотеть взглянуть на этот репозиторий github .В нем, вероятно, есть все, что вам нужно.

...