O GoogleNet é uma rede neural convolucional que é treinada em mais de um milhão de imagens do banco de dados ImageNet. Como resultado, a rede aprendeu representações ricas de recursos para uma ampla gama de imagens. A rede pode classificar imagens em 1000 categorias de objetos, como teclado, mouse, lápis e muitos animais.
A rede possui um tamanho de entrada de imagem de 224 por 224 por 3.
Este repositório requer MATLAB (R2018B e acima) e a caixa de ferramentas de aprendizado profundo.
Este repositório fornece três funções:
Para construir uma rede googlenet não treinada para treinar do zero, digite o seguinte na linha de comando MATLAB:
lgraph = googlenetLayers ;
A rede não treinada é retornada como um objeto layerGraph
.
Para construir uma rede de googlenet treinada adequada para uso na classificação da imagem, digite o seguinte na linha de comando MATLAB:
net = assembleGoogLeNet ;
A rede treinada é retornada como um objeto DAGNetwork
.
Para classificar uma imagem com a rede:
img = imresize(imread( " peppers.png " ),[ 224 224 ]);
predLabel = classify( net , img );
imshow( img );
title(string( predLabel ));
Para obter mais informações sobre o modelo pré-treinado GoogleNet, consulte a página de função googlenet na documentação do MATLAB Deep Learning Toolbox.
O GoogleNet é uma rede residual. Uma rede residual é um tipo de rede de DAG que possui conexões residuais (ou atalhos) que ignoram as principais camadas de rede. As conexões residuais permitem que os gradientes de parâmetros se propagem mais facilmente da camada de saída para as camadas anteriores da rede, o que possibilita treinar redes mais profundas. Esse aumento da profundidade da rede pode resultar em maiores precisões em tarefas mais difíceis.
Você pode explorar e editar a arquitetura de rede usando o Deep Network Designer.
Este repositório demonstra a construção de uma rede neural residual profunda do zero no Matlab. Você pode usar o código neste repositório como base para a criação de redes residuais com diferentes números de blocos residuais.
Você também pode criar uma rede de googlenet treinada a partir do Inside Matlab, instalando o Modelo de Caixa de Ferramentas Deep Learning para o pacote de suporte de rede GoogleNet. Digite googlenet
na linha de comando. Se o Modelo de Caixa de Ferramentas Deep Learning para o pacote de suporte de rede GoogleNet não estiver instalado, a função fornecerá um link para o pacote de suporte necessário no complemento explorador. Para instalar o pacote de suporte, clique no link e clique em Instalar.
Como alternativa, você pode fazer o download do modelo pré-treinado GoogleNet na Mathworks File Exchange, no Modelo de Caixa de Ferramentas Deep Learning para a rede GoogleNet.
Você pode criar uma rede googlenet não treinada a partir do Inside Matlab, importando uma rede de googlenet treinada para o aplicativo Deep Network Designer e selecionando exportação> gerar código. O código exportado gerará uma rede não treinada com a arquitetura de rede do Googlenet.