tx · 6E7zaZ4wjSB9fjAqTL9Py14raWfez4jogsN994iBCpPg 3N3n75UqB8G1GKmXFr4zPhKCjGcqJPRSuJY: -0.01000000 Waves 2024.05.26 22:28 [3123386] smart account 3N3n75UqB8G1GKmXFr4zPhKCjGcqJPRSuJY > SELF 0.00000000 Waves
{ "type": 13, "id": "6E7zaZ4wjSB9fjAqTL9Py14raWfez4jogsN994iBCpPg", "fee": 1000000, "feeAssetId": null, "timestamp": 1716751767080, "version": 2, "chainId": 84, "sender": "3N3n75UqB8G1GKmXFr4zPhKCjGcqJPRSuJY", "senderPublicKey": "2AWdnJuBMzufXSjTvzVcawBQQhnhF1iXR6QNVgwn33oc", "proofs": [ "3fUwDM74WpQDcMTaJkJyPiUTSmDSfe7aZuvvMyc5Z3nJr8WEAy1EtC2t74KJ74ALnyMe4TLy4nJrwvhcnDHP8KJf" ], "script": "base64:BwIICAISBAoCAQEIAA93ZWlnaHRzX2xheWVyXzEJAMwIAgkAzAgCAJHVAwkAzAgCAKnVAwUDbmlsCQDMCAIJAMwIAgDLwwIJAMwIAgDRwwIFA25pbAUDbmlsAA5iaWFzZXNfbGF5ZXJfMQkAzAgCAM+1/v///////wEJAMwIAgC1j/z///////8BBQNuaWwAD3dlaWdodHNfbGF5ZXJfMgkAzAgCCQDMCAIA4IoFCQDMCAIAjsP6////////AQUDbmlsBQNuaWwADmJpYXNlc19sYXllcl8yCQDMCAIAm9b9////////AQUDbmlsARBsaW5lYXJfZm9yd2FyZF8xAwVpbnB1dAd3ZWlnaHRzBmJpYXNlcwQNd2VpZ2h0ZWRfc3VtMQkAZAIJAGkCCQBkAgkAaAIJAJEDAgUFaW5wdXQAAAkAkQMCCQCRAwIFB3dlaWdodHMAAAAACQBoAgkAkQMCBQVpbnB1dAABCQCRAwIJAJEDAgUHd2VpZ2h0cwAAAAEAkE4JAJEDAgUGYmlhc2VzAAAEDXdlaWdodGVkX3N1bTIJAGQCCQBpAgkAZAIJAGgCCQCRAwIFBWlucHV0AAAJAJEDAgkAkQMCBQd3ZWlnaHRzAAEAAAkAaAIJAJEDAgUFaW5wdXQAAQkAkQMCCQCRAwIFB3dlaWdodHMAAQABAJBOCQCRAwIFBmJpYXNlcwABCQDMCAIFDXdlaWdodGVkX3N1bTEJAMwIAgUNd2VpZ2h0ZWRfc3VtMgUDbmlsARBsaW5lYXJfZm9yd2FyZF8yAwVpbnB1dAd3ZWlnaHRzBmJpYXNlcwQNd2VpZ2h0ZWRfc3VtMQkAZAIJAGkCCQBkAgkAaAIJAJEDAgUFaW5wdXQAAAkAkQMCCQCRAwIFB3dlaWdodHMAAAAACQBoAgkAkQMCBQVpbnB1dAABCQCRAwIJAJEDAgUHd2VpZ2h0cwAAAAEAkE4JAJEDAgUGYmlhc2VzAAAJAMwIAgUNd2VpZ2h0ZWRfc3VtMQUDbmlsAQdzaWdtb2lkAQVpbnB1dAMJAGYCAPCx/////////wEFBWlucHV0AAADCQBmAgUFaW5wdXQAkE4AkE4JAGQCAIgnCQBpAgUFaW5wdXQAAgESc2lnbW9pZF9hY3RpdmF0aW9uAgZpbnB1dHMLbnVtX291dHB1dHMJAMwIAgkBB3NpZ21vaWQBCQCRAwIFBmlucHV0cwAACQDMCAIJAQdzaWdtb2lkAQkAkQMCBQZpbnB1dHMAAQUDbmlsAQFpAQdwcmVkaWN0AgJ4MQJ4MgQJeDFfc2NhbGVkCQBoAgUCeDEAkE4ECXgyX3NjYWxlZAkAaAIFAngyAJBOBAZpbnB1dHMJAMwIAgUJeDFfc2NhbGVkCQDMCAIFCXgyX3NjYWxlZAUDbmlsBAJ6MQkBEGxpbmVhcl9mb3J3YXJkXzEDBQZpbnB1dHMFD3dlaWdodHNfbGF5ZXJfMQUOYmlhc2VzX2xheWVyXzEEAmExCQESc2lnbW9pZF9hY3RpdmF0aW9uAgUCejEAAgQCejIJARBsaW5lYXJfZm9yd2FyZF8yAwUCYTEFD3dlaWdodHNfbGF5ZXJfMgUOYmlhc2VzX2xheWVyXzIEAmEyCQEHc2lnbW9pZAEJAJEDAgUCejIAAAQGcmVzdWx0CQBpAgUCYTIAkE4EDWRlYnVnX291dHB1dHMFA25pbAkAlAoCBQ1kZWJ1Z19vdXRwdXRzBQZyZXN1bHQAv3CiRQ==", "height": 3123386, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: FYY5e1t899S1xjoEgphoEeWuywfGRLTVAt65iBN8Pxv9 Next: 5McoSvfwCwE9qVWNc49Vbq3DJ4rEwZKwxwvjj2fD52Re Diff:
Old | New | Differences | |
---|---|---|---|
29 | 29 | else (5000 + (input / 2)) | |
30 | 30 | ||
31 | 31 | ||
32 | - | func sigmoid_activation (inputs) = [sigmoid(inputs[0])] | |
32 | + | func sigmoid_activation (inputs,num_outputs) = [sigmoid(inputs[0]), sigmoid(inputs[1])] | |
33 | 33 | ||
34 | 34 | ||
35 | 35 | @Callable(i) | |
38 | 38 | let x2_scaled = (x2 * 10000) | |
39 | 39 | let inputs = [x1_scaled, x2_scaled] | |
40 | 40 | let z1 = linear_forward_1(inputs, weights_layer_1, biases_layer_1) | |
41 | - | let a1 = sigmoid_activation(z1) | |
41 | + | let a1 = sigmoid_activation(z1, 2) | |
42 | 42 | let z2 = linear_forward_2(a1, weights_layer_2, biases_layer_2) | |
43 | 43 | let a2 = sigmoid(z2[0]) | |
44 | 44 | let result = (a2 / 10000) |
Old | New | Differences | |
---|---|---|---|
1 | 1 | {-# STDLIB_VERSION 7 #-} | |
2 | 2 | {-# SCRIPT_TYPE ACCOUNT #-} | |
3 | 3 | {-# CONTENT_TYPE DAPP #-} | |
4 | 4 | let weights_layer_1 = [[60049, 60073], [41419, 41425]] | |
5 | 5 | ||
6 | 6 | let biases_layer_1 = [-25905, -63563] | |
7 | 7 | ||
8 | 8 | let weights_layer_2 = [[83296, -89714]] | |
9 | 9 | ||
10 | 10 | let biases_layer_2 = [-38117] | |
11 | 11 | ||
12 | 12 | func linear_forward_1 (input,weights,biases) = { | |
13 | 13 | let weighted_sum1 = ((((input[0] * weights[0][0]) + (input[1] * weights[0][1])) / 10000) + biases[0]) | |
14 | 14 | let weighted_sum2 = ((((input[0] * weights[1][0]) + (input[1] * weights[1][1])) / 10000) + biases[1]) | |
15 | 15 | [weighted_sum1, weighted_sum2] | |
16 | 16 | } | |
17 | 17 | ||
18 | 18 | ||
19 | 19 | func linear_forward_2 (input,weights,biases) = { | |
20 | 20 | let weighted_sum1 = ((((input[0] * weights[0][0]) + (input[1] * weights[0][1])) / 10000) + biases[0]) | |
21 | 21 | [weighted_sum1] | |
22 | 22 | } | |
23 | 23 | ||
24 | 24 | ||
25 | 25 | func sigmoid (input) = if ((-10000 > input)) | |
26 | 26 | then 0 | |
27 | 27 | else if ((input > 10000)) | |
28 | 28 | then 10000 | |
29 | 29 | else (5000 + (input / 2)) | |
30 | 30 | ||
31 | 31 | ||
32 | - | func sigmoid_activation (inputs) = [sigmoid(inputs[0])] | |
32 | + | func sigmoid_activation (inputs,num_outputs) = [sigmoid(inputs[0]), sigmoid(inputs[1])] | |
33 | 33 | ||
34 | 34 | ||
35 | 35 | @Callable(i) | |
36 | 36 | func predict (x1,x2) = { | |
37 | 37 | let x1_scaled = (x1 * 10000) | |
38 | 38 | let x2_scaled = (x2 * 10000) | |
39 | 39 | let inputs = [x1_scaled, x2_scaled] | |
40 | 40 | let z1 = linear_forward_1(inputs, weights_layer_1, biases_layer_1) | |
41 | - | let a1 = sigmoid_activation(z1) | |
41 | + | let a1 = sigmoid_activation(z1, 2) | |
42 | 42 | let z2 = linear_forward_2(a1, weights_layer_2, biases_layer_2) | |
43 | 43 | let a2 = sigmoid(z2[0]) | |
44 | 44 | let result = (a2 / 10000) | |
45 | 45 | let debug_outputs = nil | |
46 | 46 | $Tuple2(debug_outputs, result) | |
47 | 47 | } | |
48 | 48 | ||
49 | 49 |
github/deemru/w8io/169f3d6 28.88 ms ◑