dc.contributorBARROS, Edna Natividade da Silva
dc.contributorhttp://lattes.cnpq.br/5610932554689096
dc.contributorhttp://lattes.cnpq.br/6291354144339437
dc.creatorANJOS, Jefferson Ramos Lucas dos
dc.date2020-02-28T18:24:07Z
dc.date2020-02-28T18:24:07Z
dc.date2019-03-14
dc.date.accessioned2022-10-06T16:06:01Z
dc.date.available2022-10-06T16:06:01Z
dc.identifierANJOS, Jefferson Ramos Lucas dos. InferenCNN: Uma biblioteca para Inferência de Redes Neurais Convolucionais Multiplataforma em OpenCL. 2019. Dissertação (Mestrado em Ciências da Computação) – Universidade Federal de Pernambuco, Recife, 2019.
dc.identifierhttps://repositorio.ufpe.br/handle/123456789/36685
dc.identifier.urihttp://repositorioslatinoamericanos.uchile.cl/handle/2250/3981852
dc.descriptionAs Redes Neurais Convolucionais (Convolutional Neural Networks - CNN) têm se mostrado eficazes para problemas de Visão Computacional, como: classificação, detecção e reconhecimento de padrões. Assim, muitas bibliotecas, frameworks e soluções têm sido desenvolvidas para treinar e realizar a inferência dessas redes em dispositivos de computação. A inferência é a fase de uso de uma Rede Neural, em que novos dados são propagados pela rede, já treinada, a fim de se obter uma classificação, detecção ou reconhecimento de algum padrão. Nos últimos anos muitas arquiteturas de CNN’s foram desenvolvidas tendo como objetivo acelerar o treinamento e a inferência da rede neural, suprir a necessidade de problemas mais complexos e dar suporte à dispositivos de computação com limitação de memória e energia, como os dispositivos mobiles. Assim, com essa grande variedade de arquiteturas de CNN’s e dispositivos de computação, os atuais frameworks não dão suporte à alguns tipos de dispositivos ou se limitam à dispositivos de um fabricante específico. Neste trabalho apresentamos a InferenCNN, uma biblioteca multiplataforma capaz de realizar a inferência dos modelos de CNN’s, mapeando kernels OpenCL (Open Computing Language) em dispositivos de computação como CPU’s (Central Processing Unit), GPU’s (Graphics Processing Unit) e FPGA’s (Field Programmable Gate Array). A utilização do framework OpenCL, permite que a biblioteca independa do dispositivo ou fabricante do dispositivo, dando flexibilidade ao executar a inferência das arquiteturas de CNN’s. A InferenCNN apresenta um parser de pesos que permite a execução de arquiteturas de CNN’s que foram treinadas em diferentes frameworks, como Tensorflow, Caffe e Pytorch. Apresenta também um gráfico de fluxo que executa as camadas da CNN de forma modular, deixando espaço para que modificações e otimizações possam ser feitas, e que novas camadas e arquiteturas possam ser implementadas. Os experimentos realizados analisaram a InferenCNN em dispositivos diferentes e compararam as implementações com o framework Tensorflow e aceleradores em FPGA’s. Os resultados se mostraram promissores, apresentando melhoria de desempenho na inferência da arquitetura Inception quando comparada com o Tensorflow e desempenho próximo em outras arquiteturas. Quando comparada com aceleradores em FPGA a InferenCNN se mostrou com resultados inferiores em relação ao desempenho, mas com uma maior flexibilidade em realizar a inferência de várias arquiteturas de CNN.
dc.descriptionCAPES
dc.descriptionConvolutional Neural Networks (CNN) have been shown to be effective for Computational Vision problems, such as: classification, detection and recognition of patterns. Thus, many libraries, frameworks, and solutions have been developed to train and infer these networks in computing devices. Inference is the phase of using a Neural Network, in which new data is propagated by the network, already trained, in order to obtain a classification, detection or recognition of some standard. In recent years many CNN architectures have been developed to accelerate neural network training and inference, address the need for more complex problems, and support memory and power-limiting computing devices such as mobile devices. Thus, with this wide variety of CNN architectures and computing devices, the current frameworks do not support some types of devices or are limited to the devices of a specific manufacturer. In this paper we present InferenCNN, a multiplatform library capable of inferring CNN models, mapping OpenCL (Open Computing Language) kernels to computing devices such as CPUs, GPUs and Field Programmable Gate Array). The use of the OpenCL framework allows the library to be independent of the device or device manufacturer, giving flexibility in performing the inference of CNN’s architectures. InferenCNN presents a weight parser that allows the execution of CNN’s architectures that have been trained in different frameworks, such as Tensorflow, Caffe and Pytorch. It also features a flow chart that runs the CNN layers in a modular way, leaving room for modifications and optimizations to be made, and for new layers and architectures to be implemented. The experiments carried out analyzed InferenCNN in different devices and compared the implementations with the Tensorflow framework and accelerators in FPGAs. The results were promising, presenting performance improvement in Inception architecture inference when compared to Tensorflow and near performance in other architectures. When compared with FPGA accelerators, InferenCNN was shown to be inferior in performance, but with greater flexibility in performing the inference of several CNN architectures.
dc.formatapplication/pdf
dc.languagepor
dc.publisherUniversidade Federal de Pernambuco
dc.publisherUFPE
dc.publisherBrasil
dc.publisherPrograma de Pos Graduacao em Ciencia da Computacao
dc.rightsopenAccess
dc.rightsAttribution-NonCommercial-NoDerivs 3.0 Brazil
dc.rightshttp://creativecommons.org/licenses/by-nc-nd/3.0/br/
dc.subjectSistemas Embarcados
dc.subjectInferência
dc.subjectRedes Neurais Convolucionais
dc.subjectMúltiplos Dispositivos
dc.titleInferenCNN: Uma biblioteca para Inferência de Redes Neurais Convolucionais Multiplataforma em OpenCL
dc.typemasterThesis


Este ítem pertenece a la siguiente institución