예제 #1
0
    public Model()
    {
        float[,] aX = LoadCsv("dataX.csv");
        float[,] aY = LoadCsv("dataY.csv");
        _dataX      = new TFTensor(aX);
        _dataY      = new TFTensor(aY);

        _session = new TFSession();
        _graph   = _session.Graph;
        _input   = _graph.Placeholder(TFDataType.Float);
        _output  = _graph.Placeholder(TFDataType.Float);
        _y_out   = new LinearLayer(_graph, _input, (int)_dataX.Shape[0], 1);
        cost     = _graph.ReduceMean(_graph.SigmoidCrossEntropyWithLogits(_y_out.Result, _output));
        _gradientDescentOptimizer = new GradientDescentOptimizer(_graph, _cost, _y_out.W, _y_out.b);
        _gradientDescentOptimizer.ApplyGradientDescent(_graph);
        var runner = _session.GetRunner();

        runner.AddTarget(_y_out.InitB.Operation);
        runner.Run();
    }