当前位置: 首页 > wzjs >正文

网站开发前景与趋势如何长沙专业竞价优化首选

网站开发前景与趋势如何,长沙专业竞价优化首选,发果怎么做视频网站,免费科技Python 深度学习 第8章 计算机视觉中的深度学习 - 卷积神经网络使用实例 内容概要 第8章深入探讨了计算机视觉中的深度学习,特别是卷积神经网络(convnets)的应用。本章详细介绍了卷积层和池化层的工作原理、数据增强技术、预训练模型的特征…

Python 深度学习 第8章 计算机视觉中的深度学习 - 卷积神经网络使用实例

内容概要

第8章深入探讨了计算机视觉中的深度学习,特别是卷积神经网络(convnets)的应用。本章详细介绍了卷积层和池化层的工作原理、数据增强技术、预训练模型的特征提取和微调方法。通过本章,读者将掌握如何使用深度学习解决图像分类问题,尤其是在小数据集上的应用。
在这里插入图片描述

主要内容

  1. 卷积神经网络(Convnets)

    • 卷积操作:学习局部模式,具有平移不变性。
    • 池化操作:通过下采样减少特征图的尺寸,提取重要特征。
    • 卷积神经网络的结构:由卷积层、池化层和全连接层组成。
  2. 数据增强

    • 数据增强技术:通过随机变换生成更多训练数据,减少过拟合。
    • Keras中的数据增强层:如RandomFlip、RandomRotation和RandomZoom。
  3. 预训练模型的使用

    • 特征提取:使用预训练模型的卷积基提取特征,然后训练新的分类器。
    • 微调:解冻预训练模型的顶部几层,与新添加的分类器一起训练。
  4. 在小数据集上训练卷积神经网络

    • 数据准备:使用Keras的image_dataset_from_directory函数加载和预处理图像数据。
    • 模型构建:构建包含卷积层和池化层的模型。
    • 过拟合的应对:使用数据增强和Dropout层减少过拟合。

关键代码和算法

1.1 卷积神经网络示例

from tensorflow import keras
from tensorflow.keras import layersinputs = keras.Input(shape=(28, 28, 1))
x = layers.Conv2D(filters=32, kernel_size=3, activation="relu")(inputs)
x = layers.MaxPooling2D(pool_size=2)(x)
x = layers.Conv2D(filters=64, kernel_size=3, activation="relu")(x)
x = layers.MaxPooling2D(pool_size=2)(x)
x = layers.Conv2D(filters=128, kernel_size=3, activation="relu")(x)
x = layers.Flatten()(x)
outputs = layers.Dense(10, activation="softmax")(x)
model = keras.Model(inputs=inputs, outputs=outputs)

1.2 数据增强

data_augmentation = keras.Sequential([layers.RandomFlip("horizontal"),layers.RandomRotation(0.1),layers.RandomZoom(0.2),]
)inputs = keras.Input(shape=(180, 180, 3))
x = data_augmentation(inputs)
x = layers.Rescaling(1./255)(x)
x = layers.Conv2D(filters=32, kernel_size=3, activation="relu")(x)
x = layers.MaxPooling2D(pool_size=2)(x)
x = layers.Conv2D(filters=64, kernel_size=3, activation="relu")(x)
x = layers.MaxPooling2D(pool_size=2)(x)
x = layers.Flatten()(x)
x = layers.Dropout(0.5)(x)
outputs = layers.Dense(1, activation="sigmoid")(x)
model = keras.Model(inputs=inputs, outputs=outputs)

1.3 使用预训练模型进行特征提取

conv_base = keras.applications.vgg16.VGG16(weights="imagenet",include_top=False,input_shape=(180, 180, 3)
)def get_features_and_labels(dataset):all_features = []all_labels = []for images, labels in dataset:preprocessed_images = keras.applications.vgg16.preprocess_input(images)features = conv_base.predict(preprocessed_images)all_features.append(features)all_labels.append(labels)return np.concatenate(all_features), np.concatenate(all_labels)train_features, train_labels = get_features_and_labels(train_dataset)
val_features, val_labels = get_features_and_labels(validation_dataset)
test_features, test_labels = get_features_and_labels(test_dataset)inputs = keras.Input(shape=(5, 5, 512))
x = layers.Flatten()(inputs)
x = layers.Dense(256)(x)
x = layers.Dropout(0.5)(x)
outputs = layers.Dense(1, activation="sigmoid")(x)
model = keras.Model(inputs, outputs)

1.4 微调预训练模型

conv_base = keras.applications.vgg16.VGG16(weights="imagenet",include_top=False
)
conv_base.trainable = True
for layer in conv_base.layers[:-4]:layer.trainable = Falsedata_augmentation = keras.Sequential([layers.RandomFlip("horizontal"),layers.RandomRotation(0.1),layers.RandomZoom(0.2),]
)inputs = keras.Input(shape=(180, 180, 3))
x = data_augmentation(inputs)
x = keras.applications.vgg16.preprocess_input(x)
x = conv_base(x)
x = layers.Flatten()(x)
x = layers.Dense(256)(x)
x = layers.Dropout(0.5)(x)
outputs = layers.Dense(1, activation="sigmoid")(x)
model = keras.Model(inputs, outputs)model.compile(loss="binary_crossentropy",optimizer=keras.optimizers.RMSprop(learning_rate=1e-5),metrics=["accuracy"])

精彩语录

  1. 中文:卷积神经网络是计算机视觉任务中最佳的深度学习模型类型。
    英文原文:Convnets are the best type of machine learning models for computer vision tasks.
    解释:这句话强调了卷积神经网络在计算机视觉中的重要性。

  2. 中文:数据增强是减少过拟合的强大工具。
    英文原文:Data augmentation is a powerful way to fight overfitting when you’re working with image data.
    解释:这句话总结了数据增强在图像数据中的关键作用。

  3. 中文:通过特征提取,可以轻松地在新数据集上重用现有的卷积神经网络。
    英文原文:It’s easy to reuse an existing convnet on a new dataset via feature extraction.
    解释:这句话介绍了特征提取在小数据集上的应用。

  4. 中文:微调可以进一步提升性能。
    英文原文:As a complement to feature extraction, you can use fine-tuning, which adapts to a new problem some of the representations previously learned by an existing model.
    解释:这句话解释了微调如何改进模型性能。

  5. 中文:深度学习在小数据集上的表现令人印象深刻。
    英文原文:There is a huge difference between being able to train on 20,000 samples compared to 2,000 samples!
    解释:这句话强调了深度学习在小数据集上的潜力。

总结

通过本章的学习,读者将掌握计算机视觉中的深度学习技术,包括卷积神经网络的基本原理、数据增强、预训练模型的使用等。这些知识将为解决实际问题提供强大的工具。

http://www.dtcms.com/wzjs/167797.html

相关文章:

  • 低价机票网站建设百度快速收录技术
  • 网站开发深圳公司磁力珠
  • 美妆网站开发论文北京百度seo点击器
  • 网站的空间是什么百度快照手机入口
  • 网站制作器软件下载官方app下载安装
  • 微信做模板下载网站有哪些内容高端seo服务
  • 注册公司网站多少钱网页设计费用报价
  • 哪里有做推文的网站制作网站的软件有哪些
  • wp建站百度小说
  • 企业建网站开发seo在线短视频发布页
  • 图片网站模版宁夏百度推广代理商
  • 网站推广软件免费信息流优化师是做什么的
  • 网站在阿里云备案流程网络营销外包顾问
  • 微信朋友圈投放广告怎么收费网站的优化和推广方案
  • it外包一个人可以赚多少北京优化seo公司
  • wordpress 两个网站吗seo推广排名软件
  • 英文做影评的网站超级外链吧外链代发
  • 网站目录编辑审核的注意事项百度旗下产品
  • 仪征建设局网站今日十大热点新闻事件
  • 新闻网站的原创内容建设网站友链交换平台
  • 网站地图怎么做html乔拓云智能建站
  • html链接网站模板脱发严重是什么原因引起的
  • 小程序制作定制开发seo优化广告
  • 上海企业网站十大免费无代码开发软件
  • 吉首公司网站找谁做谷歌浏览器 安卓下载
  • 搜索设置 网站微信推广平台收费标准
  • 日照网站设计西安网络优化哪家好
  • 中国建设银行征信网站app推广在哪里可以接单
  • 高端定制网站建设制作百度搜索竞价排名
  • 云服务器怎么发布网站南宁网