/*
* Copyright ( c ) 2016 , Alliance for Open Media . All rights reserved .
*
* This source code is subject to the terms of the BSD 2 Clause License and
* the Alliance for Open Media Patent License 1 . 0 . If the BSD 2 Clause License
* was not distributed with this source code in the LICENSE file , you can
* obtain it at www . aomedia . org / license / software . If the Alliance for Open
* Media Patent License 1 . 0 was not distributed with this source code in the
* PATENTS file , you can obtain it at www . aomedia . org / license / patent .
*/
#ifndef AOM_AV1_ENCODER_AV1_ML_PARTITION_MODELS_H_
#define AOM_AV1_ENCODER_AV1_ML_PARTITION_MODELS_H_
#ifdef __cplusplus
extern "C" {
#endif
#include "av1/encoder/ml.h"
// TODO(kyslov): Replace with proper weights after training AV1 models
#define FEATURES 6
static const float av1_var_part_nn_weights_64_layer0[FEATURES * 8 ] = {
0 .35755366 f, 0 .86281112 f, -0 .20871686 f, 0 .0409634 f, 0 .97305766 f,
0 .75510254 f, 0 .04860447 f, 0 .77095283 f, -0 .44105278 f, -0 .3755049 f,
-0 .08456618 f, 1 .1821136 f, -0 .73956301 f, 1 .30016453 f, 0 .45566902 f,
0 .4742967 f, 0 .44213975 f, 0 .4876028 f, 0 .26720522 f, -0 .34429858 f,
-0 .25148252 f, -0 .49623932 f, -0 .46747941 f, -0 .36656624 f, 0 .10213375 f,
0 .60262819 f, -0 .54788715 f, -0 .27272022 f, 1 .0995462 f, -0 .36338376 f,
-0 .64836313 f, 0 .16057039 f, 1 .02782791 f, 0 .9985311 f, 0 .90607883 f,
0 .80570411 f, -0 .07750863 f, -0 .74006402 f, 1 .72839526 f, 1 .72355343 f,
1 .69288916 f, 1 .59102043 f, 0 .14140216 f, -1 .47262839 f, 0 .4262519 f,
-0 .33805936 f, -0 .02449707 f, 0 .67203692 f
};
static const float av1_var_part_nn_bias_64_layer0[8 ] = {
0 .39995694 f, 0 .65593756 f, 1 .12876737 f, 1 .28790576 f,
0 .53468556 f, 0 .3177908 f, -0 .74388266 f, -1 .81131248 f
};
static const float av1_var_part_nn_weights_64_layer1[8 ] = {
-1 .31174053 f, 0 .69696917 f, 0 .78721456 f, 0 .45326379 f,
0 .79258322 f, 1 .74626188 f, -5 .41831 f, 3 .33887435 f
};
static const float av1_var_part_nn_bias_64_layer1[1 ] = { -0 .90951047 f };
static const float av1_var_part_means_64[FEATURES] = {
5 .36750249 f, 11 .58023127 f, 0 .25550964 f, 0 .23809917 f, 0 .24650665 f, 0 .22117687 f
};
static const float av1_var_part_vars_64[FEATURES] = {
0 .89599769 f, 2 .2686018 f, 0 .02568608 f, 0 .02523411 f, 0 .02443085 f, 0 .01922085 f
};
static const NN_CONFIG av1_var_part_nnconfig_64 = {
FEATURES, // num_inputs
1 , // num_outputs
1 , // num_hidden_layers
{
8 ,
}, // num_hidden_nodes
{
av1_var_part_nn_weights_64_layer0,
av1_var_part_nn_weights_64_layer1,
},
{
av1_var_part_nn_bias_64_layer0,
av1_var_part_nn_bias_64_layer1,
},
};
static const float av1_var_part_nn_weights_32_layer0[FEATURES * 8 ] = {
0 .97886049 f, -1 .66262011 f, 0 .94902798 f, 0 .7080922 f, 0 .91181186 f,
0 .35222601 f, -0 .04428585 f, 0 .42086472 f, -0 .0206325 f, -0 .77937809 f,
-0 .70947522 f, -1 .24463119 f, 0 .23739497 f, -1 .34327359 f, 0 .01024804 f,
0 .4544633 f, -0 .96907661 f, 0 .67279522 f, 0 .23180693 f, 1 .54063368 f,
-0 .15700707 f, 0 .18597331 f, 0 .34167589 f, 0 .40736558 f, 0 .69213366 f,
-1 .33584593 f, 1 .21190814 f, 1 .26725267 f, 1 .21284802 f, 1 .26611399 f,
0 .17546514 f, -0 .30248399 f, -1 .32589316 f, -1 .37432674 f, -1 .37423023 f,
-1 .26890855 f, 0 .12166347 f, -0 .94565678 f, -1 .47475267 f, -0 .69279948 f,
-0 .10166587 f, -0 .23489881 f, 0 .57123565 f, 0 .80051137 f, -1 .28411946 f,
-1 .36576732 f, -1 .30257508 f, -1 .30575106 f
};
static const float av1_var_part_nn_bias_32_layer0[8 ] = {
-1 .6301435 f, 0 .61879037 f, -1 .68612662 f, 1 .66960165 f,
-0 .0838243 f, 0 .32253287 f, -0 .65755282 f, 0 .96661531 f
};
static const float av1_var_part_nn_weights_32_layer1[8 ] = {
1 .99257161 f, 0 .7331492 f, 1 .33539961 f, 1 .13501456 f,
-2 .21154528 f, 1 .85858542 f, -0 .85565298 f, -1 .96410246 f
};
static const float av1_var_part_nn_bias_32_layer1[1 ] = { -0 .14880827 f };
static const float av1_var_part_means_32[FEATURES] = {
5 .36360686 f, 9 .88421868 f, 0 .23543671 f, 0 .23621205 f, 0 .23409667 f, 0 .22855539 f
};
static const float av1_var_part_vars_32[FEATURES] = {
0 .89077225 f, 2 .32312894 f, 0 .02167654 f, 0 .02392842 f, 0 .02466495 f, 0 .02047641 f
};
static const NN_CONFIG av1_var_part_nnconfig_32 = {
FEATURES, // num_inputs
1 , // num_outputs
1 , // num_hidden_layers
{
8 ,
}, // num_hidden_nodes
{
av1_var_part_nn_weights_32_layer0,
av1_var_part_nn_weights_32_layer1,
},
{
av1_var_part_nn_bias_32_layer0,
av1_var_part_nn_bias_32_layer1,
},
};
static const float av1_var_part_nn_weights_16_layer0[FEATURES * 8 ] = {
0 .45118305 f, -0 .22068295 f, 0 .4604435 f, -0 .1446326 f, -0 .15765035 f,
0 .42260198 f, -0 .0945916 f, 0 .49544996 f, 0 .62781567 f, -0 .41564372 f,
-0 .39103292 f, 0 .44407624 f, 0 .48382613 f, -0 .85424238 f, -0 .00961433 f,
0 .25383582 f, 0 .14403897 f, 0 .00901859 f, -0 .83201967 f, -0 .19323284 f,
0 .59271213 f, 0 .69487457 f, 0 .6897112 f, 0 .62768521 f, 0 .9204492 f,
-1 .42448347 f, -0 .16491054 f, -0 .10114424 f, -0 .1069687 f, -0 .11289049 f,
0 .26290832 f, -0 .41850393 f, 0 .17239733 f, 0 .41770622 f, 0 .43725942 f,
0 .19362467 f, -0 .35955731 f, -0 .899446 f, 0 .49726389 f, 0 .66569571 f,
0 .65893982 f, 0 .53199654 f, -0 .1158694 f, -0 .26472603 f, 0 .4155923 f,
0 .15059544 f, 0 .09596755 f, 0 .26247133 f
};
static const float av1_var_part_nn_bias_16_layer0[8 ] = {
1 .64486321 f, -0 .11851574 f, 1 .29322833 f, -0 .61193136 f,
0 .33027532 f, 1 .04197232 f, -0 .80716674 f, 0 .88681233 f
};
static const float av1_var_part_nn_weights_16_layer1[8 ] = {
-1 .02832118 f, 0 .72800106 f, -0 .42904783 f, 1 .44490586 f,
-1 .03888227 f, -0 .9023916 f, -1 .51543102 f, -0 .43059521 f
};
static const float av1_var_part_nn_bias_16_layer1[1 ] = { -0 .85087946 f };
static const float av1_var_part_means_16[FEATURES] = {
5 .32551326 f, 8 .218448 f, 0 .21954822 f, 0 .22808377 f, 0 .23019798 f, 0 .22320699 f
};
static const float av1_var_part_vars_16[FEATURES] = { 0 .86806032 f, 2 .39938956 f,
0 .01958579 f, 0 .02437927 f,
0 .02420755 f, 0 .0192003 f };
static const NN_CONFIG av1_var_part_nnconfig_16 = {
FEATURES, // num_inputs
1 , // num_outputs
1 , // num_hidden_layers
{
8 ,
}, // num_hidden_nodes
{
av1_var_part_nn_weights_16_layer0,
av1_var_part_nn_weights_16_layer1,
},
{
av1_var_part_nn_bias_16_layer0,
av1_var_part_nn_bias_16_layer1,
},
};
#undef FEATURES
#ifdef __cplusplus
} // extern "C"
#endif
#endif // AOM_AV1_ENCODER_AV1_ML_PARTITION_MODELS_H_
Messung V0.5 in Prozent C=94 H=94 G=93
¤ Dauer der Verarbeitung: 0.4 Sekunden
¤
*© Formatika GbR, Deutschland