Main Content

efficientnetb0

(No recomendado) Red neuronal convolucional EfficientNet-b0

Desde R2020b

  • EfficientNet-b0 network architecture

No se recomienda el uso de efficientnetb0. Utilice la función imagePretrainedNetwork en su lugar y especifique el modelo "efficientnetb0". Para obtener más información, consulte Historial de versiones.

Descripción

EfficientNet-b0 es una red neuronal convolucional que está entrenada con más de un millón de imágenes de la base de datos de ImageNet [1]. Esta red puede clasificar imágenes en 1000 categorías de objetos (por ejemplo, teclado, ratón, lápiz y muchos animales). Como resultado, la red ha aprendido representaciones ricas en características para una amplia gama de imágenes. El tamaño de la entrada de imagen de la red es de 224 por 224. Para ver más redes preentrenadas en MATLAB®, consulte Redes neuronales profundas preentrenadas.

ejemplo

net = efficientnetb0 devuelve una red modelo EfficientNet-b0 entrenada con el conjunto de datos de ImageNet.

Esta función requiere el paquete de soporte Deep Learning Toolbox™ Model for EfficientNet-b0 Network. Si no ha instalado el paquete de soporte, la función proporciona un enlace de descarga.

net = efficientnetb0('Weights','imagenet') devuelve una red modelo EfficientNet-b0 entrenada con el conjunto de datos de ImageNet. Esta sintaxis es equivalente a net = efficientnetb0.

lgraph = efficientnetb0('Weights','none') devuelve la arquitectura de red modelo EfficientNet-b0 sin entrenar. El modelo sin entrenar no requiere ningún paquete de soporte.

Ejemplos

contraer todo

Descargue e instale el paquete de soporte Deep Learning Toolbox Model for EfficientNet-b0 Network.

Escriba efficientnetb0 en la línea de comandos.

efficientnetb0

Si el paquete de soporte Deep Learning Toolbox Model for EfficientNet-b0 Network no está instalado, la función proporciona un enlace al paquete de soporte correspondiente en Add-On Explorer. Para instalar el paquete de soporte, haga clic en el enlace y después en Install. Para comprobar que la instalación se ha realizado correctamente, escriba efficientnetb0 en la línea de comandos. Si el paquete de soporte requerido está instalado, la función devuelve un objeto DAGNetwork.

efficientnetb0
ans = 

  DAGNetwork with properties:

         Layers: [290×1 nnet.cnn.layer.Layer]
    Connections: [363×2 table]
     InputNames: {'ImageInput'}
    OutputNames: {'classification'}

Visualice la red con Deep Network Designer.

deepNetworkDesigner(efficientnetb0)

Para examinar otras redes neuronales preentrenadas en Deep Network Designer, haga clic en New.

Deep Network Designer start page showing available pretrained neural networks

Si necesita descargar una red neuronal, deténgase en la red neuronal deseada y haga clic en Install para abrir Add-On Explorer.

Argumentos de salida

contraer todo

Red neuronal convolucional EfficientNet-b0 preentrenada, devuelta como un objeto DAGNetwork.

Arquitectura de la red neuronal convolucional EfficientNet-b0 sin entrenar, devuelta como un objeto LayerGraph.

Referencias

[1] ImageNet. http://www.image-net.org.

[2] Mingxing Tan and Quoc V. Le, “EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks,” ArXiv Preprint ArXiv:1905.1194, 2019.

Capacidades ampliadas

Historial de versiones

Introducido en R2020b

contraer todo

R2024a: No recomendado

No se recomienda el uso de efficientnetb0. Utilice la función imagePretrainedNetwork en su lugar y especifique "efficientnetb0" como modelo.

No está previsto eliminar el soporte para la función efficientnetb0. Sin embargo, la función imagePretrainedNetwork tiene una funcionalidad adicional que ayuda con los flujos de trabajo de transferencia del aprendizaje. Por ejemplo, puede especificar el número de clases de sus datos usando la opción numClasses, y la función devuelve una red que está lista para hacer un nuevo entrenamiento sin necesidad de modificaciones.

La función imagePretrainedNetwork devuelve la red como un objeto dlnetwork, que no almacena los nombres de las clases. Para obtener los nombres de las clases de la red preentrenada, utilice el segundo argumento de salida de la función imagePretrainedNetwork.

Esta tabla muestra algunos usos habituales de la función efficientnetb0 y cómo actualizar el código para usar la función imagePretrainedNetwork en su lugar.

No recomendadoRecomendado
net = efficientnetb0;[net,classNames] = imagePretrainedNetwork("efficientnetb0");
net = efficientnetb0(Weights="none");net = imagePretrainedNetwork("efficientnetb0",Weights="none");

La función imagePretrainedNetwork devuelve un objeto dlnetwork, que también tiene estas ventajas:

  • Los objetos dlnetwork son un tipo de datos unificado que admite la creación de redes, la predicción, el entrenamiento integrado, la visualización, la compresión, la verificación y los bucles de entrenamiento personalizados.

  • Los objetos dlnetwork admiten una gama más amplia de arquitecturas de red que puede crear o importar desde plataformas externas.

  • La función trainnet admite objetos dlnetwork, lo que le permite especificar fácilmente funciones de pérdida. Puede seleccionar entre funciones de pérdida integradas o especificar una función de pérdida personalizada.

  • Entrenar y predecir con los objetos dlnetwork suele ser más rápido que los flujos de trabajo LayerGraph y trainNetwork.

Para entrenar una red neuronal especificada como un objeto dlnetwork, utilice la función trainnet.