forked from SciSharp/TensorFlow.NET
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEagerModeTestBase.cs
More file actions
65 lines (56 loc) · 1.55 KB
/
EagerModeTestBase.cs
File metadata and controls
65 lines (56 loc) · 1.55 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System;
using static Tensorflow.Binding;
namespace TensorFlowNET.UnitTest
{
public class EagerModeTestBase : PythonTest
{
[TestInitialize]
public void TestInit()
{
if (!tf.executing_eagerly())
tf.enable_eager_execution();
tf.Context.ensure_initialized();
}
public bool Equal(float f1, float f2)
{
var tolerance = .000001f;
return Math.Abs(f1 - f2) <= tolerance;
}
public bool Equal(long[] l1, long[] l2)
{
if (l1.Length != l2.Length)
return false;
for (var i = 0; i < l1.Length; i++)
{
if (l1[i] != l2[i])
return false;
}
return true;
}
public bool Equal(float[] f1, float[] f2)
{
bool ret = false;
var tolerance = .000001f;
for (var i = 0; i < f1.Length; i++)
{
ret = Math.Abs(f1[i] - f2[i]) <= tolerance;
if (!ret)
break;
}
return ret;
}
public bool Equal(double[] d1, double[] d2)
{
bool ret = false;
var tolerance = .000000000000001f;
for (var i = 0; i < d1.Length; i++)
{
ret = Math.Abs(d1[i] - d2[i]) <= tolerance;
if (!ret)
break;
}
return ret;
}
}
}