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