首页 > 科技 >

5种经典卷积神经网络👩‍💻🚀 (含代码) 🧠💻

发布时间:2025-03-05 12:30:02来源:

卷积神经网络(CNN)是深度学习领域中最受欢迎的模型之一,广泛应用于图像识别、视频分析和自然语言处理等任务中。下面将介绍五种经典的卷积神经网络,并附上简单的代码片段供参考。

1. LeNet-5 📈

LeNet-5 是最早的卷积神经网络之一,由 Yann LeCun 在 1998 年提出。它主要用于手写数字识别,具有两个卷积层和三个全连接层。使用 LeNet-5 可以帮助我们理解 CNN 的基本架构。

```python

示例代码

import tensorflow as tf

from tensorflow.keras import layers

def create_lenet():

model = tf.keras.Sequential([

layers.Conv2D(6, kernel_size=5, padding='same', activation='tanh'),

layers.AveragePooling2D(pool_size=(2, 2), strides=2),

layers.Conv2D(16, kernel_size=5, activation='tanh'),

layers.AveragePooling2D(pool_size=(2, 2), strides=2),

layers.Flatten(),

layers.Dense(120, activation='tanh'),

layers.Dense(84, activation='tanh'),

layers.Dense(10, activation='softmax')

])

return model

```

2. AlexNet ⚡

AlexNet 由 Alex Krizhevsky 等人于 2012 年提出,标志着深度学习时代的到来。它的特点是使用了 ReLU 激活函数和 dropout 技术,大大提高了训练速度和模型性能。

```python

示例代码

def create_alexnet():

model = tf.keras.Sequential([

layers.Conv2D(96, kernel_size=11, strides=4, activation='relu'),

layers.MaxPooling2D(pool_size=3, strides=2),

layers.Conv2D(256, kernel_size=5, padding='same', activation='relu'),

layers.MaxPooling2D(pool_size=3, strides=2),

layers.Conv2D(384, kernel_size=3, padding='same', activation='relu'),

layers.Conv2D(384, kernel_size=3, padding='same', activation='relu'),

layers.Conv2D(256, kernel_size=3, padding='same', activation='relu'),

layers.MaxPooling2D(pool_size=3, strides=2),

layers.Flatten(),

layers.Dense(4096, activation='relu'),

layers.Dropout(0.5),

layers.Dense(4096, activation='relu'),

layers.Dropout(0.5),

layers.Dense(1000, activation='softmax')

])

return model

```

接下来我们将继续探讨 VGGNet、GoogLeNet 和 ResNet 这些里程碑式的模型,敬请期待!

免责声明:本答案或内容为用户上传,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 如遇侵权请及时联系本站删除。