tx · 93J7ZQZ4A2gErEDM76v3ufnNkgYrkUokkebJzjty2jH1 3N3n75UqB8G1GKmXFr4zPhKCjGcqJPRSuJY: -0.01000000 Waves 2024.03.07 21:13 [3007974] smart account 3N3n75UqB8G1GKmXFr4zPhKCjGcqJPRSuJY > SELF 0.00000000 Waves
{ "type": 13, "id": "93J7ZQZ4A2gErEDM76v3ufnNkgYrkUokkebJzjty2jH1", "fee": 1000000, "feeAssetId": null, "timestamp": 1709835257654, "version": 2, "chainId": 84, "sender": "3N3n75UqB8G1GKmXFr4zPhKCjGcqJPRSuJY", "senderPublicKey": "2AWdnJuBMzufXSjTvzVcawBQQhnhF1iXR6QNVgwn33oc", "proofs": [ "5wBPiFUHF7GgawEopvhWp42mA3z5rd4iJrmpDXjADvD2hJR4Z7cBPrwusSAWdtwCu2o7SLGK2nEQQ8J3Fev1ALPK" ], "script": "base64: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", "height": 3007974, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 5hL75pNoL1gvstP4hfntDci61gAiqMQpvbQed8rMW4ds Next: 4kvCRNuM7vDGJzNvHyybgikCvkVLpNaQg79JDe7vdHvY Full:
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let layer1Weights = [[4051769, 4062273], [-5948515, -6010085]] | |
5 | 5 | ||
6 | 6 | let layer1Biases = [-6307843, 2229872] | |
7 | 7 | ||
8 | 8 | let layer2Weights = [[-8372358, -8139317]] | |
9 | 9 | ||
10 | 10 | let layer2Biases = [4083679] | |
11 | 11 | ||
12 | 12 | func sigmoid (z) = { | |
13 | 13 | let e = 2718281 | |
14 | 14 | let base = 1000000 | |
15 | 15 | let negativeZ = (-1 * z) | |
16 | 16 | let expPart = fraction(e, negativeZ, base) | |
17 | 17 | fraction(base, 1000000, (base + expPart)) | |
18 | 18 | } | |
19 | 19 | ||
20 | 20 | ||
21 | 21 | func dotProduct (a,b) = { | |
22 | 22 | let product0 = fraction(a[0], b[0], 1000000) | |
23 | 23 | let product1 = fraction(a[1], b[1], 1000000) | |
24 | 24 | (product0 + product1) | |
25 | 25 | } | |
26 | 26 | ||
27 | 27 | ||
28 | 28 | func forwardPass (input,weights,biases) = { | |
29 | 29 | let sum0 = (dotProduct(input, weights[0]) + biases[0]) | |
30 | 30 | let sum1 = (dotProduct(input, weights[1]) + biases[1]) | |
31 | 31 | let sig0 = sigmoid(sum0) | |
32 | 32 | let sig1 = sigmoid(sum1) | |
33 | 33 | [sig0, sig1] | |
34 | 34 | } | |
35 | 35 | ||
36 | 36 | ||
37 | 37 | func xorNeuralNetwork (input1,input2) = { | |
38 | 38 | let input = [input1, input2] | |
39 | 39 | let hiddenLayerOutput = forwardPass(input, layer1Weights, layer1Biases) | |
40 | 40 | let outputLayerSum = (dotProduct(hiddenLayerOutput, layer2Weights[0]) + layer2Biases[0]) | |
41 | 41 | let output = sigmoid(outputLayerSum) | |
42 | 42 | output | |
43 | 43 | } | |
44 | 44 | ||
45 | 45 | ||
46 | 46 | @Callable(i) | |
47 | 47 | func predict (inputData) = { | |
48 | 48 | let input1 = if (if ((inputData == 0)) | |
49 | 49 | then true | |
50 | 50 | else (inputData == 1)) | |
51 | 51 | then 0 | |
52 | 52 | else 1000000 | |
53 | 53 | let input2 = if (if ((inputData == 0)) | |
54 | 54 | then true | |
55 | 55 | else (inputData == 2)) | |
56 | 56 | then 0 | |
57 | 57 | else 1000000 | |
58 | 58 | let result = xorNeuralNetwork(input1, input2) | |
59 | 59 | [IntegerEntry("result", result)] | |
60 | 60 | } | |
61 | 61 | ||
62 | 62 |
github/deemru/w8io/6500d08 19.21 ms ◑