tx · 3yXAAVQ7hMyV4mpM7j8V8iJYvsLoYdyi3DGY5qod2bQT

3Moz6HJhucpFh4V3VScXhd9efei4Curytfj:  -0.01000000 Waves

2023.10.28 17:42 [2818620] smart account 3Moz6HJhucpFh4V3VScXhd9efei4Curytfj > SELF 0.00000000 Waves

{ "type": 13, "id": "3yXAAVQ7hMyV4mpM7j8V8iJYvsLoYdyi3DGY5qod2bQT", "fee": 1000000, "feeAssetId": null, "timestamp": 1698504164952, "version": 2, "chainId": 84, "sender": "3Moz6HJhucpFh4V3VScXhd9efei4Curytfj", "senderPublicKey": "Ec1VLg3r1E7mwHmaNidmoKrFAUJ55UVJFq3J1YKRy5Zm", "proofs": [ "pC6E8bsVhuGeFs3hA6w4qPcGPH6vc9cNsGEbZKz4tTvMCoYXVWyvzEAxe8CCN2KBiY9imVXZjzU8z4MKxVnz1Tq" ], "script": "base64:BgIHCAISAwoBEQwAB3NwZWNpZXMJAMwIAgILSXJpcy1zZXRvc2EJAMwIAgIPSXJpcy12ZXJzaWNvbG9yCQDMCAICDklyaXMtdmlyZ2luaWNhBQNuaWwAB3dlaWdodDEJAMwIAgkAzAgCAI0wCQDMCAIAhuj/////////AQkAzAgCAMZeCQDMCAIAmYcBBQNuaWwJAMwIAgkAzAgCAKDh/////////wEJAMwIAgD36/////////8BCQDMCAIAgOr/////////AQkAzAgCAIgDBQNuaWwJAMwIAgkAzAgCAOkzCQDMCAIArAIJAMwIAgCrWQkAzAgCAKVbBQNuaWwJAMwIAgkAzAgCALUgCQDMCAIAodn/////////AQkAzAgCAM/n/////////wEJAMwIAgCVBwUDbmlsCQDMCAIJAMwIAgCmMQkAzAgCALq3/////////wEJAMwIAgDERAkAzAgCAIoCBQNuaWwJAMwIAgkAzAgCAPH7/////////wEJAMwIAgDqKwkAzAgCANXo/////////wEJAMwIAgDNnf////////8BBQNuaWwJAMwIAgkAzAgCAMw2CQDMCAIAw9T/////////AQkAzAgCAPlZCQDMCAIA/XIFA25pbAkAzAgCCQDMCAIAgBUJAMwIAgCvLgkAzAgCALi1/////////wEJAMwIAgCIu/////////8BBQNuaWwJAMwIAgkAzAgCAKoSCQDMCAIApDQJAMwIAgCTzv////////8BCQDMCAIArJj/////////AQUDbmlsCQDMCAIJAMwIAgDkFgkAzAgCAPpUCQDMCAIAorH/////////AQkAzAgCAJSp/////////wEFA25pbAkAzAgCCQDMCAIAx+b/////////AQkAzAgCAJqUAQkAzAgCANaU/////////wEJAMwIAgCs7v7///////8BBQNuaWwJAMwIAgkAzAgCAK1TCQDMCAIA7sj/////////AQkAzAgCAL+DAQkAzAgCALuHAQUDbmlsBQNuaWwAB2JpYXNlczEJAMwIAgCR7v////////8BCQDMCAIA0Ob/////////AQkAzAgCAL7V/////////wEJAMwIAgCe4v////////8BCQDMCAIA8xwJAMwIAgDvWwkAzAgCAP/1/////////wEJAMwIAgCGWAkAzAgCAINjCQDMCAIA6F0JAMwIAgCNVAkAzAgCALzv/////////wEFA25pbAAHd2VpZ2h0MgkAzAgCCQDMCAIAvZL/////////AQkAzAgCANb+/////////wEJAMwIAgCYmv////////8BCQDMCAIAiBMJAMwIAgCjpP////////8BCQDMCAIAy2sJAMwIAgCzh/////////8BCQDMCAIAwGMJAMwIAgD0agkAzAgCAPJzCQDMCAIA8Y4BCQDMCAIAnp7/////////AQUDbmlsCQDMCAIJAMwIAgDt+f////////8BCQDMCAIAjQQJAMwIAgDW1P////////8BCQDMCAIA5P//////////AQkAzAgCAMIdCQDMCAIA0nIJAMwIAgDKAgkAzAgCAMJ4CQDMCAIAs2sJAMwIAgCXTgkAzAgCAKja/v///////wEJAMwIAgDRAwUDbmlsCQDMCAIJAMwIAgChMAkAzAgCAMUICQDMCAIAsEsJAMwIAgChDgkAzAgCALcKCQDMCAIAg97+////////AQkAzAgCAMY1CQDMCAIA17f+////////AQkAzAgCAJ26/v///////wEJAMwIAgCy8P7///////8BCQDMCAIAoLz/////////AQkAzAgCAKI8BQNuaWwFA25pbAAFYmlhczIJAMwIAgC3MwkAzAgCAMgyCQDMCAIAjNz/////////AQUDbmlsAQRyZWx1AQF4AwkAZgIFAXgAAAUBeAAAAQRjYWxjAwVpbnB1dAZ3ZWlnaHQEYmlhcwQEY2FsYwkAZAIJAGQCCQBkAgkAZAIJAGgCCQCRAwIFBWlucHV0AAAJAJEDAgUGd2VpZ2h0AAAJAGgCCQCRAwIFBWlucHV0AAEJAJEDAgUGd2VpZ2h0AAEJAGgCCQCRAwIFBWlucHV0AAIJAJEDAgUGd2VpZ2h0AAIJAGgCCQCRAwIFBWlucHV0AAMJAJEDAgUGd2VpZ2h0AAMFBGJpYXMFBGNhbGMBEWNhbGNfc2Vjb25kX2xheWVyAwVpbnB1dAZ3ZWlnaHQEYmlhcwQLY2FsY19zZWNvbmQJAGQCCQBkAgkAZAIJAGQCCQBkAgkAZAIJAGQCCQBkAgkAZAIJAGQCCQBkAgkAZAIJAGgCCQCRAwIFBWlucHV0AAAJAJEDAgUGd2VpZ2h0AAAJAGgCCQCRAwIFBWlucHV0AAEJAJEDAgUGd2VpZ2h0AAEJAGgCCQCRAwIFBWlucHV0AAIJAJEDAgUGd2VpZ2h0AAIJAGgCCQCRAwIFBWlucHV0AAMJAJEDAgUGd2VpZ2h0AAMJAGgCCQCRAwIFBWlucHV0AAQJAJEDAgUGd2VpZ2h0AAQJAGgCCQCRAwIFBWlucHV0AAUJAJEDAgUGd2VpZ2h0AAUJAGgCCQCRAwIFBWlucHV0AAYJAJEDAgUGd2VpZ2h0AAYJAGgCCQCRAwIFBWlucHV0AAcJAJEDAgUGd2VpZ2h0AAcJAGgCCQCRAwIFBWlucHV0AAgJAJEDAgUGd2VpZ2h0AAgJAGgCCQCRAwIFBWlucHV0AAkJAJEDAgUGd2VpZ2h0AAkJAGgCCQCRAwIFBWlucHV0AAoJAJEDAgUGd2VpZ2h0AAoJAGgCCQCRAwIFBWlucHV0AAsJAJEDAgUGd2VpZ2h0AAsFBGJpYXMFC2NhbGNfc2Vjb25kARNjYWxjdWxhdGVGaXJzdExheWVyAQVpbnB1dAQMb3VwdXRfbGF5ZXIxCQEEcmVsdQEJAQRjYWxjAwUFaW5wdXQJAJEDAgUHd2VpZ2h0MQAACQCRAwIFB2JpYXNlczEAAAQMb3VwdXRfbGF5ZXIyCQEEcmVsdQEJAQRjYWxjAwUFaW5wdXQJAJEDAgUHd2VpZ2h0MQABCQCRAwIFB2JpYXNlczEAAQQMb3VwdXRfbGF5ZXIzCQEEcmVsdQEJAQRjYWxjAwUFaW5wdXQJAJEDAgUHd2VpZ2h0MQACCQCRAwIFB2JpYXNlczEAAgQMb3VwdXRfbGF5ZXI0CQEEcmVsdQEJAQRjYWxjAwUFaW5wdXQJAJEDAgUHd2VpZ2h0MQADCQCRAwIFB2JpYXNlczEAAwQMb3VwdXRfbGF5ZXI1CQEEcmVsdQEJAQRjYWxjAwUFaW5wdXQJAJEDAgUHd2VpZ2h0MQAECQCRAwIFB2JpYXNlczEABAQMb3VwdXRfbGF5ZXI2CQEEcmVsdQEJAQRjYWxjAwUFaW5wdXQJAJEDAgUHd2VpZ2h0MQAFCQCRAwIFB2JpYXNlczEABQQMb3VwdXRfbGF5ZXI3CQEEcmVsdQEJAQRjYWxjAwUFaW5wdXQJAJEDAgUHd2VpZ2h0MQAGCQCRAwIFB2JpYXNlczEABgQMb3VwdXRfbGF5ZXI4CQEEcmVsdQEJAQRjYWxjAwUFaW5wdXQJAJEDAgUHd2VpZ2h0MQAHCQCRAwIFB2JpYXNlczEABwQMb3VwdXRfbGF5ZXI5CQEEcmVsdQEJAQRjYWxjAwUFaW5wdXQJAJEDAgUHd2VpZ2h0MQAICQCRAwIFB2JpYXNlczEACAQNb3VwdXRfbGF5ZXIxMAkBBHJlbHUBCQEEY2FsYwMFBWlucHV0CQCRAwIFB3dlaWdodDEACQkAkQMCBQdiaWFzZXMxAAkEDW91cHV0X2xheWVyMTEJAQRyZWx1AQkBBGNhbGMDBQVpbnB1dAkAkQMCBQd3ZWlnaHQxAAoJAJEDAgUHYmlhc2VzMQAKBA1vdXB1dF9sYXllcjEyCQEEcmVsdQEJAQRjYWxjAwUFaW5wdXQJAJEDAgUHd2VpZ2h0MQALCQCRAwIFB2JpYXNlczEACwkAzAgCBQxvdXB1dF9sYXllcjEJAMwIAgUMb3VwdXRfbGF5ZXIyCQDMCAIFDG91cHV0X2xheWVyMwkAzAgCBQxvdXB1dF9sYXllcjQJAMwIAgUMb3VwdXRfbGF5ZXI1CQDMCAIFDG91cHV0X2xheWVyNgkAzAgCBQxvdXB1dF9sYXllcjcJAMwIAgUMb3VwdXRfbGF5ZXI4CQDMCAIFDG91cHV0X2xheWVyOQkAzAgCBQ1vdXB1dF9sYXllcjEwCQDMCAIFDW91cHV0X2xheWVyMTEJAMwIAgUNb3VwdXRfbGF5ZXIxMgUDbmlsARRjYWxjdWxhdGVTZWNvbmRMYXllcgEFaW5wdXQEDW91dHB1dF9sYXllcjEJARFjYWxjX3NlY29uZF9sYXllcgMFBWlucHV0CQCRAwIFB3dlaWdodDIAAAkAkQMCBQViaWFzMgAABA1vdXRwdXRfbGF5ZXIyCQERY2FsY19zZWNvbmRfbGF5ZXIDBQVpbnB1dAkAkQMCBQd3ZWlnaHQyAAEJAJEDAgUFYmlhczIAAQQNb3V0cHV0X2xheWVyMwkBEWNhbGNfc2Vjb25kX2xheWVyAwUFaW5wdXQJAJEDAgUHd2VpZ2h0MgACCQCRAwIFBWJpYXMyAAIJAMwIAgUNb3V0cHV0X2xheWVyMQkAzAgCBQ1vdXRwdXRfbGF5ZXIyCQDMCAIFDW91dHB1dF9sYXllcjMFA25pbAEMZm9yd2FyZF9wcm9wAQVpbnB1dAQLZmlyc3RfbGF5ZXIJARNjYWxjdWxhdGVGaXJzdExheWVyAQUFaW5wdXQEDHNlY29uZF9sYXllcgkBFGNhbGN1bGF0ZVNlY29uZExheWVyAQULZmlyc3RfbGF5ZXIFDHNlY29uZF9sYXllcgEJZmluZF9wcmVkAQZvdXRwdXQEBG1heDEDCQBmAgkAkQMCBQZvdXRwdXQAAAkAkQMCBQZvdXRwdXQAAQAAAAEEBG1heDIDCQBmAgUEbWF4MQkAkQMCBQZvdXRwdXQAAgUEbWF4MQACBQRtYXgyAQFpAQpwcmVkaWN0aW9uAQVpbnB1dAQGb3V0cHV0CQEMZm9yd2FyZF9wcm9wAQUFaW5wdXQEDWNhbGxlckFkZHJlc3MJAKUIAQgFAWkGY2FsbGVyBARwcmVkCQEJZmluZF9wcmVkAQUGb3V0cHV0CQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFDWNhbGxlckFkZHJlc3MCAl8xCQCRAwIFBm91dHB1dAAACQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFDWNhbGxlckFkZHJlc3MCAl8yCQCRAwIFBm91dHB1dAABCQDMCAIJAQxJbnRlZ2VyRW50cnkCCQCsAgIFDWNhbGxlckFkZHJlc3MCAl8zCQCRAwIFBm91dHB1dAACCQDMCAIJAQtTdHJpbmdFbnRyeQIJAKwCAgUNY2FsbGVyQWRkcmVzcwICX3AJAJEDAgUHc3BlY2llcwUEcHJlZAUDbmlsAEJ+v/8=", "height": 2818620, "applicationStatus": "succeeded", "spentComplexity": 0 } View: original | compacted Prev: BKm1fGjneVAZtyFXdKv5eE84qs1rP7eV61jjb4vcD86B Next: 7TxoJfzsmTY4kCjXtwb4Rrio9Vm5m292D5RKdp53fR9B Diff:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4+let species = ["Iris-setosa", "Iris-versicolor", "Iris-virginica"]
5+
46 let weight1 = [[6157, -3066, 12102, 17305], [-3936, -2569, -2816, 392], [6633, 300, 11435, 11685], [4149, -4959, -3121, 917], [6310, -9286, 8772, 266], [-527, 5610, -2987, -12595], [6988, -5565, 11513, 14717], [2688, 5935, -9544, -8824], [2346, 6692, -6381, -13268], [2916, 10874, -10078, -11116], [-3257, 18970, -13738, -18644], [10669, -7058, 16831, 17339]]
57
68 let biases1 = [-2287, -3248, -5442, -3810, 3699, 11759, -1281, 11270, 12675, 12008, 10765, -2116]
5860 }
5961
6062
63+func find_pred (output) = {
64+ let max1 = if ((output[0] > output[1]))
65+ then 0
66+ else 1
67+ let max2 = if ((max1 > output[2]))
68+ then max1
69+ else 2
70+ max2
71+ }
72+
73+
6174 @Callable(i)
6275 func prediction (input) = {
6376 let output = forward_prop(input)
6477 let callerAddress = toString(i.caller)
65-[IntegerEntry((callerAddress + "_1"), output[0]), IntegerEntry((callerAddress + "_2"), output[1]), IntegerEntry((callerAddress + "_3"), output[2])]
78+ let pred = find_pred(output)
79+[IntegerEntry((callerAddress + "_1"), output[0]), IntegerEntry((callerAddress + "_2"), output[1]), IntegerEntry((callerAddress + "_3"), output[2]), StringEntry((callerAddress + "_p"), species[pred])]
6680 }
6781
6882
Full:
OldNewDifferences
11 {-# STDLIB_VERSION 6 #-}
22 {-# SCRIPT_TYPE ACCOUNT #-}
33 {-# CONTENT_TYPE DAPP #-}
4+let species = ["Iris-setosa", "Iris-versicolor", "Iris-virginica"]
5+
46 let weight1 = [[6157, -3066, 12102, 17305], [-3936, -2569, -2816, 392], [6633, 300, 11435, 11685], [4149, -4959, -3121, 917], [6310, -9286, 8772, 266], [-527, 5610, -2987, -12595], [6988, -5565, 11513, 14717], [2688, 5935, -9544, -8824], [2346, 6692, -6381, -13268], [2916, 10874, -10078, -11116], [-3257, 18970, -13738, -18644], [10669, -7058, 16831, 17339]]
57
68 let biases1 = [-2287, -3248, -5442, -3810, 3699, 11759, -1281, 11270, 12675, 12008, 10765, -2116]
79
810 let weight2 = [[-14019, -170, -13032, 2440, -11741, 13771, -15437, 12736, 13684, 14834, 18289, -12514], [-787, 525, -5546, -28, 3778, 14674, 330, 15426, 13747, 10007, -21208, 465], [6177, 1093, 9648, 1825, 1335, -20733, 6854, -25641, -25315, -18382, -8672, 7714]]
911
1012 let bias2 = [6583, 6472, -4596]
1113
1214 func relu (x) = if ((x > 0))
1315 then x
1416 else 0
1517
1618
1719 func calc (input,weight,bias) = {
1820 let calc = (((((input[0] * weight[0]) + (input[1] * weight[1])) + (input[2] * weight[2])) + (input[3] * weight[3])) + bias)
1921 calc
2022 }
2123
2224
2325 func calc_second_layer (input,weight,bias) = {
2426 let calc_second = (((((((((((((input[0] * weight[0]) + (input[1] * weight[1])) + (input[2] * weight[2])) + (input[3] * weight[3])) + (input[4] * weight[4])) + (input[5] * weight[5])) + (input[6] * weight[6])) + (input[7] * weight[7])) + (input[8] * weight[8])) + (input[9] * weight[9])) + (input[10] * weight[10])) + (input[11] * weight[11])) + bias)
2527 calc_second
2628 }
2729
2830
2931 func calculateFirstLayer (input) = {
3032 let ouput_layer1 = relu(calc(input, weight1[0], biases1[0]))
3133 let ouput_layer2 = relu(calc(input, weight1[1], biases1[1]))
3234 let ouput_layer3 = relu(calc(input, weight1[2], biases1[2]))
3335 let ouput_layer4 = relu(calc(input, weight1[3], biases1[3]))
3436 let ouput_layer5 = relu(calc(input, weight1[4], biases1[4]))
3537 let ouput_layer6 = relu(calc(input, weight1[5], biases1[5]))
3638 let ouput_layer7 = relu(calc(input, weight1[6], biases1[6]))
3739 let ouput_layer8 = relu(calc(input, weight1[7], biases1[7]))
3840 let ouput_layer9 = relu(calc(input, weight1[8], biases1[8]))
3941 let ouput_layer10 = relu(calc(input, weight1[9], biases1[9]))
4042 let ouput_layer11 = relu(calc(input, weight1[10], biases1[10]))
4143 let ouput_layer12 = relu(calc(input, weight1[11], biases1[11]))
4244 [ouput_layer1, ouput_layer2, ouput_layer3, ouput_layer4, ouput_layer5, ouput_layer6, ouput_layer7, ouput_layer8, ouput_layer9, ouput_layer10, ouput_layer11, ouput_layer12]
4345 }
4446
4547
4648 func calculateSecondLayer (input) = {
4749 let output_layer1 = calc_second_layer(input, weight2[0], bias2[0])
4850 let output_layer2 = calc_second_layer(input, weight2[1], bias2[1])
4951 let output_layer3 = calc_second_layer(input, weight2[2], bias2[2])
5052 [output_layer1, output_layer2, output_layer3]
5153 }
5254
5355
5456 func forward_prop (input) = {
5557 let first_layer = calculateFirstLayer(input)
5658 let second_layer = calculateSecondLayer(first_layer)
5759 second_layer
5860 }
5961
6062
63+func find_pred (output) = {
64+ let max1 = if ((output[0] > output[1]))
65+ then 0
66+ else 1
67+ let max2 = if ((max1 > output[2]))
68+ then max1
69+ else 2
70+ max2
71+ }
72+
73+
6174 @Callable(i)
6275 func prediction (input) = {
6376 let output = forward_prop(input)
6477 let callerAddress = toString(i.caller)
65-[IntegerEntry((callerAddress + "_1"), output[0]), IntegerEntry((callerAddress + "_2"), output[1]), IntegerEntry((callerAddress + "_3"), output[2])]
78+ let pred = find_pred(output)
79+[IntegerEntry((callerAddress + "_1"), output[0]), IntegerEntry((callerAddress + "_2"), output[1]), IntegerEntry((callerAddress + "_3"), output[2]), StringEntry((callerAddress + "_p"), species[pred])]
6680 }
6781
6882

github/deemru/w8io/3ef1775 
43.02 ms