tx · FW5PA4wXaJvFdUbFe4iU7VZQgY6XboWoXMhe3W5iUXmx 3N3n75UqB8G1GKmXFr4zPhKCjGcqJPRSuJY: -0.01000000 Waves 2024.03.24 18:25 [3032312] smart account 3N3n75UqB8G1GKmXFr4zPhKCjGcqJPRSuJY > SELF 0.00000000 Waves
{ "type": 13, "id": "FW5PA4wXaJvFdUbFe4iU7VZQgY6XboWoXMhe3W5iUXmx", "fee": 1000000, "feeAssetId": null, "timestamp": 1711293939384, "version": 2, "chainId": 84, "sender": "3N3n75UqB8G1GKmXFr4zPhKCjGcqJPRSuJY", "senderPublicKey": "2AWdnJuBMzufXSjTvzVcawBQQhnhF1iXR6QNVgwn33oc", "proofs": [ "3AoZn1s57vdLnLQZZuYpottVB4r43i5PV1sGTSEXTEhDWbWVVRaUMPbKG3BaRBGvBs9tPcosP5rGqNTE2WyYWWvu" ], "script": "base64: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", "height": 3032312, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: J63xWbm4vHe8K69nUjTn84N9HuR4NGt6i3fVHent4GN Next: 6ikdwN6r2UXQdkEA6cxgC4p7TaERghmy8jqXLicqgtRG Diff:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let a = [[ | |
4 | + | let a = [[4721113, -5002107], [6226846, -6353789]] | |
5 | 5 | ||
6 | - | let b = [- | |
6 | + | let b = [-2521378, 3389498] | |
7 | 7 | ||
8 | - | let c = [[ | |
8 | + | let c = [[8109936, -7559760]] | |
9 | 9 | ||
10 | - | let d = [ | |
10 | + | let d = [3490942] | |
11 | 11 | ||
12 | 12 | func e (f,g) = { | |
13 | 13 | let h = 2718281 | |
21 | 21 | } | |
22 | 22 | ||
23 | 23 | ||
24 | - | func m (n,o,p,g) = { | |
25 | - | let q = ((fraction(n[0], o[0][0], 1000000) + fraction(n[1], o[0][1], 1000000)) + p[0]) | |
26 | - | let r = ((fraction(n[0], o[1][0], 1000000) + fraction(n[1], o[1][1], 1000000)) + p[1]) | |
27 | - | let s = e(q, (g + "L1N0")) | |
28 | - | let t = s._1 | |
29 | - | let u = s._2 | |
30 | - | let v = e(r, (g + "L1N1")) | |
31 | - | let w = v._1 | |
32 | - | let x = v._2 | |
33 | - | $Tuple2([u, x], (t ++ w)) | |
24 | + | func m (n,o) = { | |
25 | + | let p = fraction(n[0], o[0], 1000000) | |
26 | + | let q = fraction(n[1], o[1], 1000000) | |
27 | + | (p + q) | |
34 | 28 | } | |
35 | 29 | ||
36 | 30 | ||
37 | - | func | |
38 | - | let | |
39 | - | let | |
40 | - | let | |
41 | - | let | |
42 | - | let | |
43 | - | let | |
44 | - | let | |
45 | - | let | |
46 | - | $Tuple2( | |
31 | + | func r (s,t,u,v) = { | |
32 | + | let w = (m(s, t[0]) + u[0]) | |
33 | + | let x = (m(s, t[1]) + u[1]) | |
34 | + | let y = e(w, (v + "L1N1")) | |
35 | + | let z = y._1 | |
36 | + | let A = y._2 | |
37 | + | let B = e(x, (v + "L1N2")) | |
38 | + | let C = B._1 | |
39 | + | let D = B._2 | |
40 | + | $Tuple2([A, D, w, x], (z ++ C)) | |
47 | 41 | } | |
48 | 42 | ||
49 | 43 | ||
50 | - | @Callable(B) | |
51 | - | func predict (C,D) = { | |
52 | - | let E = if ((C == 1)) | |
44 | + | func E (F,G) = { | |
45 | + | let s = [F, G] | |
46 | + | let H = r(s, a, b, "HL") | |
47 | + | let I = H._1 | |
48 | + | let J = H._2 | |
49 | + | let K = e((m([I[0], I[1]], c[0]) + d[0]), "OL") | |
50 | + | let L = K._1 | |
51 | + | let M = K._2 | |
52 | + | $Tuple2([M, (m([I[0], I[1]], c[0]) + d[0]), I[2], I[3]], (J ++ L)) | |
53 | + | } | |
54 | + | ||
55 | + | ||
56 | + | @Callable(N) | |
57 | + | func predict_original (F,G) = { | |
58 | + | let O = if ((F == 1)) | |
53 | 59 | then 1000000 | |
54 | 60 | else 0 | |
55 | - | let | |
61 | + | let P = if ((G == 1)) | |
56 | 62 | then 1000000 | |
57 | 63 | else 0 | |
58 | - | let G = [E, F] | |
59 | - | let H = m(G, a, b, "Layer1") | |
60 | - | let I = H._1 | |
61 | - | let J = H._2 | |
62 | - | let K = y(I, c[0], d[0], "Layer2") | |
63 | - | let L = K._1 | |
64 | - | let M = K._2 | |
65 | - | (([IntegerEntry("result", L)] ++ J) ++ M) | |
64 | + | let Q = E(O, P) | |
65 | + | let R = Q._1 | |
66 | + | let S = Q._2 | |
67 | + | ([IntegerEntry("result", R[0]), IntegerEntry("outputLayerSum", R[1]), IntegerEntry("hiddenLayerOutput1Sum", R[2]), IntegerEntry("hiddenLayerOutput2Sum", R[3])] ++ S) | |
66 | 68 | } | |
67 | 69 | ||
68 | 70 |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | - | let a = [[ | |
4 | + | let a = [[4721113, -5002107], [6226846, -6353789]] | |
5 | 5 | ||
6 | - | let b = [- | |
6 | + | let b = [-2521378, 3389498] | |
7 | 7 | ||
8 | - | let c = [[ | |
8 | + | let c = [[8109936, -7559760]] | |
9 | 9 | ||
10 | - | let d = [ | |
10 | + | let d = [3490942] | |
11 | 11 | ||
12 | 12 | func e (f,g) = { | |
13 | 13 | let h = 2718281 | |
14 | 14 | let i = 1000000 | |
15 | 15 | let j = if ((0 > f)) | |
16 | 16 | then -(f) | |
17 | 17 | else f | |
18 | 18 | let k = fraction(h, i, j) | |
19 | 19 | let l = fraction(i, i, (i + k)) | |
20 | 20 | $Tuple2([IntegerEntry((g + "positiveZ"), j), IntegerEntry((g + "expPart"), k), IntegerEntry((g + "sigValue"), l)], l) | |
21 | 21 | } | |
22 | 22 | ||
23 | 23 | ||
24 | - | func m (n,o,p,g) = { | |
25 | - | let q = ((fraction(n[0], o[0][0], 1000000) + fraction(n[1], o[0][1], 1000000)) + p[0]) | |
26 | - | let r = ((fraction(n[0], o[1][0], 1000000) + fraction(n[1], o[1][1], 1000000)) + p[1]) | |
27 | - | let s = e(q, (g + "L1N0")) | |
28 | - | let t = s._1 | |
29 | - | let u = s._2 | |
30 | - | let v = e(r, (g + "L1N1")) | |
31 | - | let w = v._1 | |
32 | - | let x = v._2 | |
33 | - | $Tuple2([u, x], (t ++ w)) | |
24 | + | func m (n,o) = { | |
25 | + | let p = fraction(n[0], o[0], 1000000) | |
26 | + | let q = fraction(n[1], o[1], 1000000) | |
27 | + | (p + q) | |
34 | 28 | } | |
35 | 29 | ||
36 | 30 | ||
37 | - | func | |
38 | - | let | |
39 | - | let | |
40 | - | let | |
41 | - | let | |
42 | - | let | |
43 | - | let | |
44 | - | let | |
45 | - | let | |
46 | - | $Tuple2( | |
31 | + | func r (s,t,u,v) = { | |
32 | + | let w = (m(s, t[0]) + u[0]) | |
33 | + | let x = (m(s, t[1]) + u[1]) | |
34 | + | let y = e(w, (v + "L1N1")) | |
35 | + | let z = y._1 | |
36 | + | let A = y._2 | |
37 | + | let B = e(x, (v + "L1N2")) | |
38 | + | let C = B._1 | |
39 | + | let D = B._2 | |
40 | + | $Tuple2([A, D, w, x], (z ++ C)) | |
47 | 41 | } | |
48 | 42 | ||
49 | 43 | ||
50 | - | @Callable(B) | |
51 | - | func predict (C,D) = { | |
52 | - | let E = if ((C == 1)) | |
44 | + | func E (F,G) = { | |
45 | + | let s = [F, G] | |
46 | + | let H = r(s, a, b, "HL") | |
47 | + | let I = H._1 | |
48 | + | let J = H._2 | |
49 | + | let K = e((m([I[0], I[1]], c[0]) + d[0]), "OL") | |
50 | + | let L = K._1 | |
51 | + | let M = K._2 | |
52 | + | $Tuple2([M, (m([I[0], I[1]], c[0]) + d[0]), I[2], I[3]], (J ++ L)) | |
53 | + | } | |
54 | + | ||
55 | + | ||
56 | + | @Callable(N) | |
57 | + | func predict_original (F,G) = { | |
58 | + | let O = if ((F == 1)) | |
53 | 59 | then 1000000 | |
54 | 60 | else 0 | |
55 | - | let | |
61 | + | let P = if ((G == 1)) | |
56 | 62 | then 1000000 | |
57 | 63 | else 0 | |
58 | - | let G = [E, F] | |
59 | - | let H = m(G, a, b, "Layer1") | |
60 | - | let I = H._1 | |
61 | - | let J = H._2 | |
62 | - | let K = y(I, c[0], d[0], "Layer2") | |
63 | - | let L = K._1 | |
64 | - | let M = K._2 | |
65 | - | (([IntegerEntry("result", L)] ++ J) ++ M) | |
64 | + | let Q = E(O, P) | |
65 | + | let R = Q._1 | |
66 | + | let S = Q._2 | |
67 | + | ([IntegerEntry("result", R[0]), IntegerEntry("outputLayerSum", R[1]), IntegerEntry("hiddenLayerOutput1Sum", R[2]), IntegerEntry("hiddenLayerOutput2Sum", R[3])] ++ S) | |
66 | 68 | } | |
67 | 69 | ||
68 | 70 |
github/deemru/w8io/6500d08 35.49 ms ◑