Browse Source

change loss_value to float and move data to PrepareData

tags/v0.9
haiping008 6 years ago
parent
commit
abdae57124
1 changed files with 14 additions and 20 deletions
  1. +14
    -20
      test/TensorFlowNET.Examples/NeuralNetXor.cs

+ 14
- 20
test/TensorFlowNET.Examples/NeuralNetXor.cs View File

@@ -18,6 +18,8 @@ namespace TensorFlowNET.Examples

public int num_steps = 5000;

private NDArray data;

private (Operation, Tensor, RefVariable) make_graph(Tensor features,Tensor labels, int num_hidden = 8)
{
var stddev = 1 / Math.Sqrt(2);
@@ -46,6 +48,8 @@ namespace TensorFlowNET.Examples

public bool Run()
{
PrepareData();

var graph = tf.Graph().as_default();
var features = tf.placeholder(tf.float32, new TensorShape(4, 2));
@@ -58,29 +62,11 @@ namespace TensorFlowNET.Examples
// Start tf session
with(tf.Session(graph), sess =>
{
// init.run()
sess.run(init);
var step = 0;
//TODO: make the type conversion and jagged array initializer work with numpy
//var xy = np.array(new bool[,]
//{
// {true, false},
// {true, true },
// {false, false },
// {false, true},
//}, dtype: np.float32);
var xy = np.array(new float[]
{
1, 0,
1, 1,
0, 0,
0, 1
}, np.float32).reshape(4,2);
//var y_ = np.array(new[] {true, false, false, true}, dtype: np.int32);
var y_ = np.array(new int[] { 1, 0, 0, 1 }, dtype: np.int32);
NDArray loss_value=null;
float loss_value = 0;
while (step < num_steps)
{
// original python:
@@ -88,18 +74,26 @@ namespace TensorFlowNET.Examples
// [train_op, gs, loss],
// feed_dict={features: xy, labels: y_}
// )
loss_value = sess.run(loss, new FeedItem(features, xy), new FeedItem(labels, y_));
loss_value = sess.run(loss, new FeedItem(features, data), new FeedItem(labels, y_));
step++;
if (step%1000==0)
Console.WriteLine($"Step {step} loss: {loss_value}");
}
Console.WriteLine($"Final loss: {loss_value}");
});

return true;
}

public void PrepareData()
{
data = new float[,]
{
{1, 0 },
{1, 1 },
{0, 0 },
{0, 1 }
};
}
}
}

Loading…
Cancel
Save