No contexto do TensorFlow.js, a linha que exibe [[1, 2, 3, 4], [5, 6, 7, 8]] é:
- A)tf.sequential([1..8]).print();
Errada, porque tf.sequential e usado para montar modelos, nao para criar um tensor com esses valores.
- B)tf.layers([1..4],[5..8]).print();
Errada, porque tf.layers nao e a forma de instanciar um tensor com dados e shape como no enunciado.
- C)tf.tensor([1, 2, 3, 4, 5, 6, 7, 8],[2,4]).print();
Certa, porque tf.tensor com a lista de valores e o shape [2,4] gera exatamente a matriz exibida.
- D)tf.initiate([1, 2, 3, 4, 5, 6, 7, 8]).print();
Errada, porque tf.initiate nao e uma API valida do TensorFlow.js para essa finalidade.
- E)tf.array([[1,2,3,4],[5,6,7,8]]).print();
Errada, porque tf.array nao e a funcao padrao do TensorFlow.js para criar esse tipo de tensor exibido.
Gabarito: C
No TensorFlow.js, quando voce quer montar um tensor com valores organizados em linhas e colunas, a ideia central e simples: primeiro voce passa os dados em uma lista linear, depois informa o formato desejado. E foi exatamente isso que a questao cobrou. O resultado exibido, com duas linhas e quatro colunas, corresponde a um tensor de ordem 2 com shape [2,4]. A funcao correta para isso e tf.tensor(dados, shape). No caso, os dados sao [1, 2, 3, 4, 5, 6, 7, 8] e o formato [2,4] faz com que esses oito valores sejam distribuídos em duas linhas de quatro elementos cada, gerando [[1, 2, 3, 4], [5, 6, 7, 8]]. Esse ponto e bem tipico em TensorFlow.js: a estrutura do tensor nao nasce da visualizacao bonitinha, mas do shape que voce declara. Se voce errar o formato, o resultado muda ou ate quebra, porque biblioteca nao adivinha milagres. Em resumo, a logica e: dados + shape = tensor organizado. Por isso, a alternativa C esta correta. As demais tentam usar nomes de funcoes que nao correspondem a essa criacao de tensor no TensorFlow.js, ou usam estruturas que nao produzem essa saida.