tx · BSfEC4cMC8bJB6QuEh7zoz7DZQEW1cv5iLZgKP7bH7Av 3N3n75UqB8G1GKmXFr4zPhKCjGcqJPRSuJY: -0.01000000 Waves 2024.03.20 11:12 [3026094] smart account 3N3n75UqB8G1GKmXFr4zPhKCjGcqJPRSuJY > SELF 0.00000000 Waves
{ "type": 13, "id": "BSfEC4cMC8bJB6QuEh7zoz7DZQEW1cv5iLZgKP7bH7Av", "fee": 1000000, "feeAssetId": null, "timestamp": 1710922365440, "version": 2, "chainId": 84, "sender": "3N3n75UqB8G1GKmXFr4zPhKCjGcqJPRSuJY", "senderPublicKey": "2AWdnJuBMzufXSjTvzVcawBQQhnhF1iXR6QNVgwn33oc", "proofs": [ "5AxFLTTyAU2MNbt9RZomp56dT5xN111Re9fEyP3Fa8Xiox7tLRiZFrq25aa5YuAv7VCQ1X6g5J2x3J2yYUXfHPCJ" ], "script": "base64:AAIFAAAAAAAAAAgIAhIECgIBAQAAAAgAAAAADWxheWVyMVdlaWdodHMJAARMAAAAAgkABEwAAAACAAAAAAAASAnZCQAETAAAAAIA//////+zrIUFAAAAA25pbAkABEwAAAACCQAETAAAAAIAAAAAAABfA54JAARMAAAAAgD//////58MgwUAAAADbmlsBQAAAANuaWwAAAAADGxheWVyMUJpYXNlcwkABEwAAAACAP//////2YbeCQAETAAAAAIAAAAAAAAzuDoFAAAAA25pbAAAAAANbGF5ZXIyV2VpZ2h0cwkABEwAAAACCQAETAAAAAIAAAAAAAB7v3AJAARMAAAAAgD//////4ylsAUAAAADbmlsBQAAAANuaWwAAAAADGxheWVyMkJpYXNlcwkABEwAAAACAAAAAAAANUR+BQAAAANuaWwBAAAAB3NpZ21vaWQAAAABAAAAAXoEAAAAAWUAAAAAAAApekkEAAAABGJhc2UAAAAAAAAPQkAEAAAACW5lZ2F0aXZlWgkAAGgAAAACAP//////////BQAAAAF6BAAAAAdleHBQYXJ0CQAAawAAAAMFAAAAAWUFAAAACW5lZ2F0aXZlWgUAAAAEYmFzZQkAAGsAAAADBQAAAARiYXNlBQAAAARiYXNlCQAAZAAAAAIFAAAABGJhc2UFAAAAB2V4cFBhcnQBAAAACmRvdFByb2R1Y3QAAAACAAAAAWEAAAABYgQAAAAIcHJvZHVjdDAJAABrAAAAAwkAAZEAAAACBQAAAAFhAAAAAAAAAAAACQABkQAAAAIFAAAAAWIAAAAAAAAAAAAAAAAAAAAPQkAEAAAACHByb2R1Y3QxCQAAawAAAAMJAAGRAAAAAgUAAAABYQAAAAAAAAAAAQkAAZEAAAACBQAAAAFiAAAAAAAAAAABAAAAAAAAD0JACQAAZAAAAAIFAAAACHByb2R1Y3QwBQAAAAhwcm9kdWN0MQEAAAALZm9yd2FyZFBhc3MAAAADAAAABWlucHV0AAAAB3dlaWdodHMAAAAGYmlhc2VzBAAAAARzdW0wCQAAZAAAAAIJAQAAAApkb3RQcm9kdWN0AAAAAgUAAAAFaW5wdXQJAAGRAAAAAgUAAAAHd2VpZ2h0cwAAAAAAAAAAAAkAAZEAAAACBQAAAAZiaWFzZXMAAAAAAAAAAAAEAAAABHN1bTEJAABkAAAAAgkBAAAACmRvdFByb2R1Y3QAAAACBQAAAAVpbnB1dAkAAZEAAAACBQAAAAd3ZWlnaHRzAAAAAAAAAAABCQABkQAAAAIFAAAABmJpYXNlcwAAAAAAAAAAAQQAAAAEc2lnMAkBAAAAB3NpZ21vaWQAAAABBQAAAARzdW0wBAAAAARzaWcxCQEAAAAHc2lnbW9pZAAAAAEFAAAABHN1bTEJAARMAAAAAgUAAAAEc2lnMAkABEwAAAACBQAAAARzaWcxBQAAAANuaWwBAAAAEHhvck5ldXJhbE5ldHdvcmsAAAACAAAABmlucHV0MQAAAAZpbnB1dDIEAAAABWlucHV0CQAETAAAAAIFAAAABmlucHV0MQkABEwAAAACBQAAAAZpbnB1dDIFAAAAA25pbAQAAAARaGlkZGVuTGF5ZXJPdXRwdXQJAQAAAAtmb3J3YXJkUGFzcwAAAAMFAAAABWlucHV0BQAAAA1sYXllcjFXZWlnaHRzBQAAAAxsYXllcjFCaWFzZXMEAAAADm91dHB1dExheWVyU3VtCQAAZAAAAAIJAQAAAApkb3RQcm9kdWN0AAAAAgUAAAARaGlkZGVuTGF5ZXJPdXRwdXQJAAGRAAAAAgUAAAANbGF5ZXIyV2VpZ2h0cwAAAAAAAAAAAAkAAZEAAAACBQAAAAxsYXllcjJCaWFzZXMAAAAAAAAAAAAEAAAABm91dHB1dAkBAAAAB3NpZ21vaWQAAAABBQAAAA5vdXRwdXRMYXllclN1bQUAAAAGb3V0cHV0AAAAAQAAAAFpAQAAAAdwcmVkaWN0AAAAAgAAAAZpbnB1dDEAAAAGaW5wdXQyBAAAAAxzY2FsZWRJbnB1dDEDCQAAAAAAAAIFAAAABmlucHV0MQAAAAAAAAAAAQAAAAAAAA9CQAAAAAAAAAAAAAQAAAAMc2NhbGVkSW5wdXQyAwkAAAAAAAACBQAAAAZpbnB1dDIAAAAAAAAAAAEAAAAAAAAPQkAAAAAAAAAAAAAEAAAABnJlc3VsdAkBAAAAEHhvck5ldXJhbE5ldHdvcmsAAAACBQAAAAxzY2FsZWRJbnB1dDEFAAAADHNjYWxlZElucHV0MgkABEwAAAACCQEAAAAMSW50ZWdlckVudHJ5AAAAAgIAAAAGcmVzdWx0BQAAAAZyZXN1bHQFAAAAA25pbAAAAAD4jZTe", "height": 3026094, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 4kvCRNuM7vDGJzNvHyybgikCvkVLpNaQg79JDe7vdHvY Next: Ajq4DJZ33EMuasZDg2s29x8AUdzSoh3M2augbTBe9pk3 Diff:
Old | New | Differences | |
---|---|---|---|
48 | 48 | let scaledInput1 = if ((input1 == 1)) | |
49 | 49 | then 1000000 | |
50 | 50 | else 0 | |
51 | - | let scaledInput2 = if ((input2 == | |
51 | + | let scaledInput2 = if ((input2 == 1)) | |
52 | 52 | then 1000000 | |
53 | 53 | else 0 | |
54 | 54 | let result = xorNeuralNetwork(scaledInput1, scaledInput2) |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 5 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let layer1Weights = [[4721113, -5002107], [6226846, -6353789]] | |
5 | 5 | ||
6 | 6 | let layer1Biases = [-2521378, 3389498] | |
7 | 7 | ||
8 | 8 | let layer2Weights = [[8109936, -7559760]] | |
9 | 9 | ||
10 | 10 | let layer2Biases = [3490942] | |
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, base, (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 (input1,input2) = { | |
48 | 48 | let scaledInput1 = if ((input1 == 1)) | |
49 | 49 | then 1000000 | |
50 | 50 | else 0 | |
51 | - | let scaledInput2 = if ((input2 == | |
51 | + | let scaledInput2 = if ((input2 == 1)) | |
52 | 52 | then 1000000 | |
53 | 53 | else 0 | |
54 | 54 | let result = xorNeuralNetwork(scaledInput1, scaledInput2) | |
55 | 55 | [IntegerEntry("result", result)] | |
56 | 56 | } | |
57 | 57 | ||
58 | 58 |
github/deemru/w8io/6500d08 18.61 ms ◑