tx · EPzQDj6V1WSZyt31d5JN4yQdfxqisDnUmXHEcK9HZnRU

3N3n75UqB8G1GKmXFr4zPhKCjGcqJPRSuJY:  -0.01000000 Waves

2024.05.24 17:48 [3120229] smart account 3N3n75UqB8G1GKmXFr4zPhKCjGcqJPRSuJY > SELF 0.00000000 Waves

{ "type": 13, "id": "EPzQDj6V1WSZyt31d5JN4yQdfxqisDnUmXHEcK9HZnRU", "fee": 1000000, "feeAssetId": null, "timestamp": 1716562138680, "version": 2, "chainId": 84, "sender": "3N3n75UqB8G1GKmXFr4zPhKCjGcqJPRSuJY", "senderPublicKey": "2AWdnJuBMzufXSjTvzVcawBQQhnhF1iXR6QNVgwn33oc", "proofs": [ "2AcwcJTf1aoUBeYJ8D81KngcwnszXFYx3TAUziSW4nq86rSh7yLu1SVdexFYNDTZJU8tjsauB4aEGgjqoJBgi8UV" ], "script": "base64:BwIICAISBAoCAQEHAA93ZWlnaHRzX2xheWVyXzEJAMwIAgkAzAgCAJLVAwkAzAgCAKnVAwUDbmlsCQDMCAIJAMwIAgDMwwIJAMwIAgDRwwIFA25pbAUDbmlsAA5iaWFzZXNfbGF5ZXJfMQkAzAgCAM+1/v///////wEJAMwIAgC0j/z///////8BBQNuaWwAD3dlaWdodHNfbGF5ZXJfMgkAzAgCCQDMCAIA4YoFCQDMCAIAjsP6////////AQUDbmlsBQNuaWwADmJpYXNlc19sYXllcl8yCQDMCAIAmtb9////////AQUDbmlsAQ5saW5lYXJfZm9yd2FyZAMFaW5wdXQHd2VpZ2h0cwZiaWFzZXMEDXdlaWdodGVkX3N1bTEJAGQCCQBpAgkAZAIJAGgCCQCRAwIFBWlucHV0AAAJAJEDAgkAkQMCBQd3ZWlnaHRzAAAAAAkAaAIJAJEDAgUFaW5wdXQAAQkAkQMCCQCRAwIFB3dlaWdodHMAAAABAJBOCQCRAwIFBmJpYXNlcwAABA13ZWlnaHRlZF9zdW0yCQBkAgkAaQIJAGQCCQBoAgkAkQMCBQVpbnB1dAAACQCRAwIJAJEDAgUHd2VpZ2h0cwABAAAJAGgCCQCRAwIFBWlucHV0AAEJAJEDAgkAkQMCBQd3ZWlnaHRzAAEAAQCQTgkAkQMCBQZiaWFzZXMAAQkAzAgCBQ13ZWlnaHRlZF9zdW0xCQDMCAIFDXdlaWdodGVkX3N1bTIFA25pbAEEcmVsdQEFaW5wdXQEBG91dDEDCQBmAgkAkQMCBQVpbnB1dAAAAAAJAJEDAgUFaW5wdXQAAAAABARvdXQyAwkAZgIJAJEDAgUFaW5wdXQAAQAACQCRAwIFBWlucHV0AAEAAAkAzAgCBQRvdXQxCQDMCAIFBG91dDIFA25pbAEHc2lnbW9pZAEFaW5wdXQDCQBmAgDwsf////////8BBQVpbnB1dAAAAwkAZgIFBWlucHV0AJBOAJBOCQBkAgCIJwkAaQIFBWlucHV0AAIBAWkBB3ByZWRpY3QCAngxAngyBAZpbnB1dHMJAMwIAgkAaAIFAngxAJBOCQDMCAIJAGgCBQJ4MgCQTgUDbmlsBAJ6MQkBDmxpbmVhcl9mb3J3YXJkAwUGaW5wdXRzBQ93ZWlnaHRzX2xheWVyXzEFDmJpYXNlc19sYXllcl8xBAJhMQkBBHJlbHUBBQJ6MQQKZGVidWdfejFfMQkBDEludGVnZXJFbnRyeQICCmRlYnVnX3oxXzEJAJEDAgUCejEAAAQKZGVidWdfejFfMgkBDEludGVnZXJFbnRyeQICCmRlYnVnX3oxXzIJAJEDAgUCejEAAQQKZGVidWdfYTFfMQkBDEludGVnZXJFbnRyeQICCmRlYnVnX2ExXzEJAJEDAgUCYTEAAAQKZGVidWdfYTFfMgkBDEludGVnZXJFbnRyeQICCmRlYnVnX2ExXzIJAJEDAgUCYTEAAQQCejIJAGQCCQBpAgkAZAIJAGgCCQCRAwIFAmExAAAJAJEDAgkAkQMCBQ93ZWlnaHRzX2xheWVyXzIAAAAACQBoAgkAkQMCBQJhMQABCQCRAwIJAJEDAgUPd2VpZ2h0c19sYXllcl8yAAAAAQCQTgkAkQMCBQ5iaWFzZXNfbGF5ZXJfMgAABAJhMgkBB3NpZ21vaWQBBQJ6MgQGcmVzdWx0CQBpAgUCYTIAkE4ECGRlYnVnX3oyCQEMSW50ZWdlckVudHJ5AgIIZGVidWdfejIFAnoyBAhkZWJ1Z19hMgkBDEludGVnZXJFbnRyeQICCGRlYnVnX2EyBQJhMgQMZGVidWdfcmVzdWx0CQEMSW50ZWdlckVudHJ5AgIMZGVidWdfcmVzdWx0BQZyZXN1bHQJAJQKAgkAzAgCBQpkZWJ1Z196MV8xCQDMCAIFCmRlYnVnX3oxXzIJAMwIAgUKZGVidWdfYTFfMQkAzAgCBQpkZWJ1Z19hMV8yCQDMCAIFCGRlYnVnX3oyCQDMCAIFCGRlYnVnX2EyCQDMCAIFDGRlYnVnX3Jlc3VsdAUDbmlsBQZyZXN1bHQAkkLlxA==", "height": 3120229, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: 9o2vqzbv5JjJKboqkHfGhnn2XCjoXwLe8EaH4ffdKaSu Next: 5iNUFVUiuLxLyD9zsZtxLmY1BS5THCkkmFMT6kNw969S Full:
OldNewDifferences
1-{-# STDLIB_VERSION 5 #-}
1+{-# STDLIB_VERSION 7 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4-let layer1Weights = [[4496, -6718], [36738, -36738], [3517, -3496], [-39880, 39880]]
4+let weights_layer_1 = [[60050, 60073], [41420, 41425]]
55
6-let layer1Biases = [18719, -1, 29077, 0]
6+let biases_layer_1 = [-25905, -63564]
77
8-let layer2Weights = [[-11902, 64358, -26901, 48391]]
8+let weights_layer_2 = [[83297, -89714]]
99
10-let layer2Biases = [-6873]
10+let biases_layer_2 = [-38118]
1111
12-func relu (x) = if ((x > 0))
13- then x
14- else 0
15-
16-
17-func sigmoid_approx (x) = if ((-4000 > x))
18- then 0
19- else if ((-2000 > x))
20- then 1000
21- else if ((-1000 > x))
22- then 2000
23- else if ((0 > x))
24- then 3000
25- else if ((1000 > x))
26- then 5000
27- else if ((2000 > x))
28- then 7000
29- else if ((3000 > x))
30- then 8000
31- else if ((4000 > x))
32- then 9000
33- else 10000
34-
35-
36-func dotProduct (v1,v2) = (((v1[0] * v2[0]) + (v1[1] * v2[1])) / 10000)
37-
38-
39-func feedforward (inputs) = {
40- let dp1 = (dotProduct(inputs, layer1Weights[0]) + layer1Biases[0])
41- let dp2 = (dotProduct(inputs, layer1Weights[1]) + layer1Biases[1])
42- let dp3 = (dotProduct(inputs, layer1Weights[2]) + layer1Biases[2])
43- let dp4 = (dotProduct(inputs, layer1Weights[3]) + layer1Biases[3])
44- let layer1Results = [relu(dp1), relu(dp2), relu(dp3), relu(dp4)]
45- let dpLayer2 = (dotProduct(layer1Results, layer2Weights[0]) + layer2Biases[0])
46- let output = sigmoid_approx(dpLayer2)
47- $Tuple6(output, dp1, dp2, dp3, dp4, dpLayer2)
12+func linear_forward (input,weights,biases) = {
13+ let weighted_sum1 = ((((input[0] * weights[0][0]) + (input[1] * weights[0][1])) / 10000) + biases[0])
14+ let weighted_sum2 = ((((input[0] * weights[1][0]) + (input[1] * weights[1][1])) / 10000) + biases[1])
15+[weighted_sum1, weighted_sum2]
4816 }
4917
5018
19+func relu (input) = {
20+ let out1 = if ((input[0] > 0))
21+ then input[0]
22+ else 0
23+ let out2 = if ((input[1] > 0))
24+ then input[1]
25+ else 0
26+[out1, out2]
27+ }
28+
29+
30+func sigmoid (input) = if ((-10000 > input))
31+ then 0
32+ else if ((input > 10000))
33+ then 10000
34+ else (5000 + (input / 2))
35+
36+
5137 @Callable(i)
52-func predict (input1,input2) = {
53- let inputs = [input1, input2]
54- let $t015731641 = feedforward(inputs)
55- let prediction = $t015731641._1
56- let dp1 = $t015731641._2
57- let dp2 = $t015731641._3
58- let dp3 = $t015731641._4
59- let dp4 = $t015731641._5
60- let dpLayer2 = $t015731641._6
61-[IntegerEntry("prediction", prediction), IntegerEntry("dotProduct1", dp1), IntegerEntry("dotProduct2", dp2), IntegerEntry("dotProduct3", dp3), IntegerEntry("dotProduct4", dp4), IntegerEntry("dotProductLayer2", dpLayer2)]
38+func predict (x1,x2) = {
39+ let inputs = [(x1 * 10000), (x2 * 10000)]
40+ let z1 = linear_forward(inputs, weights_layer_1, biases_layer_1)
41+ let a1 = relu(z1)
42+ let debug_z1_1 = IntegerEntry("debug_z1_1", z1[0])
43+ let debug_z1_2 = IntegerEntry("debug_z1_2", z1[1])
44+ let debug_a1_1 = IntegerEntry("debug_a1_1", a1[0])
45+ let debug_a1_2 = IntegerEntry("debug_a1_2", a1[1])
46+ let z2 = ((((a1[0] * weights_layer_2[0][0]) + (a1[1] * weights_layer_2[0][1])) / 10000) + biases_layer_2[0])
47+ let a2 = sigmoid(z2)
48+ let result = (a2 / 10000)
49+ let debug_z2 = IntegerEntry("debug_z2", z2)
50+ let debug_a2 = IntegerEntry("debug_a2", a2)
51+ let debug_result = IntegerEntry("debug_result", result)
52+ $Tuple2([debug_z1_1, debug_z1_2, debug_a1_1, debug_a1_2, debug_z2, debug_a2, debug_result], result)
6253 }
6354
6455

github/deemru/w8io/c3f4982 
38.32 ms