Questão nº 15
Questão de Ciência de Dados · FGV SEFAZ-MG 2022 - Tarde (nº 15)
FGV2022Auditor Fiscal - Tecnologia da InformaçãoCiência de Dados
Gabarito: Ever comentário ↓
A recente explosão de machine learning e deep learning tornou os tensores populares. TensorFlow e PyTorch são dois frameworks com suporte a API de tensor.
Em relação aos tensores, assinale a opção incorreta.
- ATensor representa um array multidimensional junto com operações definidas.
- BOs tensores, internamente, são implementados como estruturas de dados leves que mantêm um ponteiro para o armazenamento e outros metadados, como tamanho e forma.
- COs próprios dados do tensor são armazenados em um buffer contíguo.
- DUtilizar um buffer contíguo permite que vários tensores compartilhem os mesmos dados, mas forneçam diferentes visualizações.
- EQuando os tensores têm dimensões diferentes, certas operações não podem ser realizadas sem primeiro colocar os tensores nas mesmas dimensões, para isso possuem a operação automática denominada replicação. (alternativa correta)
Resposta comentada
Gabarito Alternativa E
Um tensor é como uma caixa organizada para guardar números, que pode ter uma, duas, três ou mais dimensões (como uma lista, uma tabela ou um cubo de números). Ele não só guarda os números, mas também sabe como fazer operações matemáticas com eles de forma eficiente.
- (A) Incorreta: Esta afirmação é correta. Um tensor é, de fato, um array multidimensional (uma estrutura que organiza dados em várias direções) que vem acompanhado de um conjunto de operações matemáticas que podem ser aplicadas a ele.
- (B) Incorreta: Esta afirmação é correta. Internamente, um tensor em frameworks como PyTorch ou TensorFlow é uma estrutura leve que contém um ponteiro para o local na memória onde os dados reais estão armazenados, além de metadados como a forma (número de dimensões e tamanho de cada uma) e o tipo de dado.
- (C) Incorreta: Esta afirmação é correta. Para otimizar o desempenho, especialmente em GPUs, os números que compõem o tensor são geralmente armazenados em um buffer contíguo, ou seja, em um bloco ininterrupto de memória.
- (D) Incorreta: Esta afirmação é correta. A capacidade de ter vários tensores apontando para o mesmo buffer de dados, mas apresentando-os com diferentes "visualizações" (formas ou arranjos), é uma funcionalidade poderosa que economiza memória e é comum em frameworks de deep learning (ex:
view()em PyTorch). - (E) Correta: Esta afirmação é incorreta. A primeira parte ("Quando os tensores têm dimensões diferentes, certas operações não podem ser realizadas sem primeiro colocar os tensores nas mesmas dimensões") é parcialmente verdadeira, mas a segunda parte, "para isso possuem a operação automática denominada replicação", é a armadilha e o erro. A operação automática que permite realizar operações entre tensores com dimensões compatíveis (mas não idênticas) é chamada broadcasting (transmissão), e não "replicação". O broadcasting conceitualmente expande as dimensões menores para que se alinhem às maiores, sem realmente replicar os dados fisicamente ou alterar as dimensões do tensor. Chamar essa operação de "replicação" é impreciso e não é o termo técnico correto. Para dimensões verdadeiramente incompatíveis, muitas vezes é necessário um redimensionamento ou manipulação explícita.
Fonte: FGV SEFAZ-MG 2022 - Tarde Auditor Fiscal - Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.