@@ -13,126 +13,10 @@ class Program
13
13
static void Main ( string [ ] args )
14
14
{
15
15
//Console.WriteLine("Runnin XOR Example......");
16
- //XORGate.Run();
16
+ XORGate . Run ( ) ;
17
+ //CrashCourse_NDArray.GetStarted();
17
18
//CrashCourse_NN.Run();
18
19
//LogisticRegressionExplained.Run();
19
- var methods = mx . GetAllRegisteredOperators ( ) ;
20
- //var y = np.full(new Shape(3, 3), 0.6);
21
- //var x = np.random.power(y, new Shape(3, 3));
22
- //var fc = npx.fully_connected(x, y, null, 3);
23
- //var z = np.linalg.cholesky(x);
24
- for ( int i = 0 ; i < 3 ; i ++ )
25
- {
26
- DateTime start = DateTime . Now ;
27
- var x = np . random . uniform ( size : new Shape ( 30000 , 10000 ) ) ;
28
- var y = np . random . uniform ( size : new Shape ( 30000 , 10000 ) ) ;
29
- var d = 0.5f * np . sqrt ( x ) + np . sin ( y ) * np . log ( x ) - np . exp ( y ) ;
30
- //var d = np.dot(x, y);
31
- //npx.waitall();
32
- Console . WriteLine ( d . shape ) ;
33
- Console . WriteLine ( "Duration: " + ( DateTime . Now - start ) . TotalMilliseconds / 1000 ) ;
34
- }
35
- }
36
-
37
- private static void GenerateFOps ( )
38
- {
39
- var methods = typeof ( F ) . GetMethods ( ) ;
40
- StringBuilder fclass = new StringBuilder ( ) ;
41
- foreach ( var method in methods )
42
- {
43
- var parameters = method . GetParameters ( ) ;
44
- string paramstr = "" ;
45
- string ndcall = $ "nd_np_ops.{ method . Name } (";
46
- string symcall = $ "sym_np_ops.{ method . Name } (";
47
- bool is_symbol = false ;
48
- if ( parameters . Length > 0 )
49
- {
50
- foreach ( var item in parameters )
51
- {
52
- if ( item . ParameterType . Name == "is_symbol" )
53
- {
54
- is_symbol = true ;
55
- continue ;
56
- }
57
-
58
- if ( item . ParameterType . Name == "NDArray" )
59
- {
60
- paramstr += $ "NDArrayOrSymbol { item . Name } ,";
61
- ndcall += $ "{ item . Name } ,";
62
- symcall += $ "{ item . Name } ,";
63
- }
64
- else if ( item . ParameterType . Name == "NDArrayList" )
65
- {
66
- paramstr += $ "NDArrayOrSymbolList { item . Name } ,";
67
- ndcall += $ "{ item . Name } .NDArrays,";
68
- symcall += $ "{ item . Name } .Symbols,";
69
- }
70
- else if ( item . ParameterType . Name == "Nullable`1" )
71
- {
72
- paramstr += $ "{ item . ParameterType . GenericTypeArguments [ 0 ] . Name } ? { item . Name } ,";
73
- ndcall += $ "{ item . Name } ,";
74
- symcall += $ "{ item . Name } ,";
75
- }
76
- else if ( item . ParameterType . Name == "Tuple`1" )
77
- {
78
- paramstr += $ "Tuple<{ item . ParameterType . GenericTypeArguments [ 0 ] . Name } > { item . Name } ,";
79
- ndcall += $ "{ item . Name } ,";
80
- symcall += $ "{ item . Name } ,";
81
- }
82
- else
83
- {
84
- paramstr += $ "{ item . ParameterType . Name } { item . Name } ,";
85
- ndcall += $ "{ item . Name } ,";
86
- symcall += $ "{ item . Name } ,";
87
- }
88
- }
89
-
90
- paramstr = paramstr . Remove ( paramstr . LastIndexOf ( ',' ) ) ;
91
- ndcall = ndcall . Remove ( ndcall . LastIndexOf ( ',' ) ) + ");" ;
92
- symcall = symcall . Remove ( symcall . LastIndexOf ( ',' ) ) + ");" ;
93
- }
94
-
95
- string returnType = method . ReturnType . Name ;
96
- if ( returnType == "NDArray" )
97
- returnType = "NDArrayOrSymbol" ;
98
- else if ( returnType == "NDArrayList" )
99
- returnType = "NDArrayOrSymbolList" ;
100
-
101
- string methodBody = $ "public static { returnType } { method . Name } ({ paramstr } )";
102
- methodBody += "\n {" ;
103
-
104
- string firstNdParam = "" ;
105
- var ndparam = parameters . FirstOrDefault ( x => x . ParameterType . Name == "NDArrayOrSymbol" ) ;
106
- if ( ndparam == null )
107
- {
108
- ndparam = parameters . FirstOrDefault ( x => x . ParameterType . Name == "NDArrayOrSymbolList" ) ;
109
- }
110
-
111
- if ( is_symbol )
112
- {
113
- methodBody += $ "if (!is_symbol)";
114
- methodBody += "\n {\n " ;
115
- methodBody += "return " + ndcall + "\n }\n " ;
116
- methodBody += "return " + symcall ;
117
- methodBody += "\n }" ;
118
-
119
- fclass . AppendLine ( methodBody ) ;
120
- }
121
- else if ( ndparam != null )
122
- {
123
- firstNdParam = ndparam . ParameterType . Name == "NDArrayList" ? $ "{ ndparam . Name } [0]" : ndparam . Name ;
124
-
125
- methodBody += $ "if ({ firstNdParam } .IsNDArray)";
126
- methodBody += "\n {\n " ;
127
- methodBody += "return " + ndcall + "\n }\n " ;
128
- methodBody += "return " + symcall ;
129
- methodBody += "\n }" ;
130
-
131
- fclass . AppendLine ( methodBody ) ;
132
- }
133
- }
134
-
135
- string all = fclass . ToString ( ) ;
136
20
}
137
21
}
138
22
}
0 commit comments