Tensorflow - Por que existem tantas funções semelhantes ou duplicadas nos arquivos tf.nn e tf.layers / tf.losses / tf.contrib.layers etc?

No Tensorflow (a partir da v1.2.1), parece que existem (pelo menos) duas APIs paralelas para construir gráficos computacionais. Existem funções no tf.nn, como conv2d, avg_pool, relu, dropout e, em seguida, há funções semelhantes nos tf.layers, tf.losses e em outros locais, como tf.layers.conv2d, tf.layers.dense, tf.layers. cair fora.

Superficialmente, parece que essa situação serve apenas para confundir: por exemplo, tf.nn.dropout usa uma 'taxa de manutenção' enquanto tf.layers.dropout usa uma 'taxa de queda' como argumento.

Essa distinção tem algum objetivo prático para o usuário final / desenvolvedor? Caso contrário, existe algum plano para limpar a API?

questionAnswers(1)

yourAnswerToTheQuestion