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

海盐网站建设wordpress不停刷y

海盐网站建设,wordpress不停刷y,网页设计和平面设计哪个工资高,中国人可以做的c2c网站前言#xff1a; Hello大家好#xff0c;我是Dream。 今天来学习一下如何使用基于tensorflow和keras的迁移学习完成猫狗分类#xff0c;欢迎大家一起前来探讨学习~ 本文目录#xff1a;一、加载数据集1.调用库函数2.加载数据集3.数据集管理二、猫狗数据集介绍1.猫狗数据集介… 前言 Hello大家好我是Dream。 今天来学习一下如何使用基于tensorflow和keras的迁移学习完成猫狗分类欢迎大家一起前来探讨学习~ 本文目录一、加载数据集1.调用库函数2.加载数据集3.数据集管理二、猫狗数据集介绍1.猫狗数据集介绍2.图片展示三、MobileNetV2网络介绍1.加载tensorflow提供的预训练模型2.轻量级网络——MobileNetV23.MobileNetV2的网络模块四、搭建迁移学习1.训练2.训练结果可视化3.输出训练的准确率4.用cnn工具可视化一批数据的预测结果5.数据输出6.用cnn工具可视化一个数据样本的各层输出7.输出结果图像五、源码获取说明在此试验下我们使用的是使用tf2.x版本在jupyter环境下完成在本文中我们将主要完成以下任务实现基于tensorflow和keras的迁移学习 加载tensorflow提供的数据集不得使用cifar10 需要使用markdown单元格对数据集进行说明 加载tensorflow提供的预训练模型不得使用vgg16 需要使用markdown单元格对原始模型进行说明 网络末端连接任意结构的输出端网络 用图表显示准确率和损失函数 用cnn工具可视化一批数据的预测结果 用cnn工具可视化一个数据样本的各层输出 一、加载数据集 1.调用库函数 import matplotlib.pyplot as plt import numpy as np import os import tensorflow as tf import cnn_utils from tensorflow.keras.preprocessing import image_dataset_from_directory from tensorflow.keras.layers import GlobalAveragePooling2D,Dense,Input,Dropout2.加载数据集 数据集加载数据是通过这个网站下载的猫狗数据集http://aimaksen.bslience.cn/cats_and_dogs_filtered.zip实验中为了训练方便我们取了一个较小的数据集。 path_to_zip tf.keras.utils.get_file(data.zip,originhttp://aimaksen.bslience.cn/cats_and_dogs_filtered.zip,extractTrue, ) PATH os.path.join(os.path.dirname(path_to_zip), cats_and_dogs_filtered)train_dir os.path.join(PATH, train) validation_dir os.path.join(PATH, validation)BATCH_SIZE 32 IMG_SIZE (160, 160)3.数据集管理 使用image_dataset_from_director进行数据集管理使用ImageDataGenerator训练过程中会出现错误不知道是什么原因就使用了原始的image_dataset_from_director方法进行数据集管理。 train_dataset image_dataset_from_directory(train_dir,shuffleTrue,batch_sizeBATCH_SIZE,image_sizeIMG_SIZE)validation_dataset image_dataset_from_directory(validation_dir,shuffleTrue,batch_sizeBATCH_SIZE,image_sizeIMG_SIZE)二、猫狗数据集介绍 1.猫狗数据集介绍 猫狗数据集包括25000张训练图片12500张测试图片包括猫和狗两种图片。在此次实验中为了训练方便我们取了一个较小的数据集。 数据解压之后会有两个文件夹一个是 “train”一个是 “test”顾名思义一个是用来训练的另一个是作为检验正确性的数据。 在train文件夹里边是一些已经命名好的图像有猫也有狗。而在test文件夹中是只有编号名的图像。 2.图片展示 下面是数据集中的图片展示 class_names [cats, dogs]plt.figure(figsize(10, 10)) for images, labels in train_dataset.take(1):for i in range(9):ax plt.subplot(3, 3, i 1)plt.imshow(images[i].numpy().astype(uint8))plt.title(class_names[labels[i]])plt.axis(off)这里是输出的结果✨✨✨ 三、MobileNetV2网络介绍 1.加载tensorflow提供的预训练模型 val_batches tf.data.experimental.cardinality(validation_dataset) test_dataset validation_dataset.take(val_batches // 5) validation_dataset validation_dataset.skip(val_batches // 5)2.轻量级网络——MobileNetV2 使用轻量级网络——MobileNetV2进行数据预处理 说明 MobileNetV2是基于倒置的残差结构普通的残差结构是先经过 1x1 的卷积核把 feature map的通道数压下来然后经过 3x3 的卷积核最后再用 1x1 的卷积核将通道数扩张回去即先压缩后扩张而MobileNetV2的倒置残差结构是先扩张后压缩。 3.MobileNetV2的网络模块 MobileNetV2的网络模块样子是这样的 MobileNetV2是基于深度级可分离卷积构建的网络它是将标准卷积拆分为了两个操作深度卷积 和 逐点卷积深度卷积和标准卷积不同对于标准卷积其卷积核是用在所有的输入通道上而深度卷积针对每个输入通道采用不同的卷积核就是说一个卷积核对应一个输入通道所以说深度卷积是depth级别的操作。而逐点卷积其实就是普通的卷积只不过其采用1x1的卷积核。 MobileNetV2的模型如下图所示其中t为Bottleneck内部升维的倍数c为通道数n为该bottleneck重复的次数s为sride 其中当stride1时才会使用elementwise 的sum将输入和输出特征连接如下图左侧stride2时无short cut连接输入和输出特征下图右侧 四、搭建迁移学习 1.训练 inital_input tf.keras.applications.mobilenet_v2.preprocess_inputIMG_SHAPE IMG_SIZE (3,) base_model tf.keras.applications.MobileNetV2(input_shapeIMG_SHAPE,include_topFalse,weightsimagenet)base_model.trainable False base_model.summary()这里是输出的结果✨✨✨ 2.训练结果可视化 用图表显示准确率和损失函数 # 训练结果可视化用图表显示准确率和损失函数 acc history.history[accuracy] val_acc history.history[val_accuracy]loss history.history[loss] val_loss history.history[val_loss]epochs_rangerange(initial_epochs) plt.figure(figsize(8,8)) plt.subplot(2,1,1) plt.plot(epochs_range, acc, labelTraining Accuracy) plt.plot(epochs_range, val_acc,labelValidation Accuracy) plt.legend() plt.title(Training and Validation Accuracy)plt.subplot(2,1,2) plt.plot(epochs_range, loss, labelTraining Loss) plt.plot(epochs_range, val_loss,labelValidation Loss) plt.legend() plt.title(Training and Validation Loss) plt.show()这里是输出的结果✨✨✨ 3.输出训练的准确率 # 输出训练的准确率 test_loss, test_accuracy model.evaluate(test_dataset) print(test accuracy: {:.2f}.format(test_accuracy))这里是输出的结果✨✨✨ 4.用cnn工具可视化一批数据的预测结果 label_dict {0: cat,1: dog }test_image_batch, test_label_batch test_dataset.as_numpy_iterator().next() # 编码成uint8 以图片形式输出 test_image_batch test_image_batch.astype(uint8)cnn_utils.plot_predictions(model, test_image_batch, test_label_batch, label_dict, 32, 5, 5)这里是输出的结果✨✨✨ 5.数据输出 # 数据输出数字化特征图 test_image_batch, test_label_batch train_dataset.as_numpy_iterator().next()img_idx 0 random_batch np.random.permutation(np.arange(0,len(test_image_batch)))[:BATCH_SIZE] image_activation test_image_batch[random_batch[img_idx]:random_batch[img_idx]1]cnn_utils.get_activations(base_model, image_activation[0])这里是输出的结果✨✨✨ 6.用cnn工具可视化一个数据样本的各层输出 cnn_utils.display_activations(cnn_utils.get_activations(base_model, image_activation[0]))这里是输出的结果✨✨✨ 7.输出结果图像 这里是输出的结果✨✨✨ 五、源码获取 关注此公众号人生苦短我用Pythons回复 神经网络源码获取源码快点击我吧 好啦这就是今天要分享给大家的全部内容了我们下期再见 ❤️❤️❤️如果你喜欢的话就不要吝惜你的一键三连了~ 最后有任何问题欢迎关注下面的公众号获取第一时间消息、作者联系方式及每周抽奖等多重好礼 ↓↓↓
http://www.dnsts.com.cn/news/277646.html

相关文章:

  • 网站开发需要的编程软件有哪些房地产app
  • 广东智慧团建网站登录新手这样开办公司
  • 短视频网站如何做推广手机端公司网站怎么做
  • 网站关键词代码怎么做增加wordpress打开速度
  • 做房产必知的发布房源网站php网站后台登陆不上
  • 专业网站建设首选公司页面好看的教育类网站模板下载
  • 合肥 网站建设公司哪家好商业网站排名
  • 做网站怎么选云主机编程能干什么
  • 做网站要什么功能农村电商网站建设方案
  • 微站是什么网站建设步骤 高清教 程
  • 网站推广技巧有哪些?网站开发+自动生成缩略图
  • 校园二手物品交易网站怎么做wordpress升级设置
  • 福州企业网站建设推广黑龙江省和城乡建设厅网站
  • 做网站客源建筑公司网站功能表
  • 大学电子系的建设网站的方案永久免费制作网页
  • 深圳网站建设网站制作网站设计兰州seo优化公司
  • 广东装饰公司网站建设扬州网站建设文章
  • 网站运营及推广方案网站开发收费标准文档
  • wordpress二级域名做站群无锡做网站设计的公司
  • dede网站文档不能更新网站搜索引擎优化的步骤
  • 网站建设与管理自考本朝阳凌源网站建设
  • 做带会员后台的网站用什么软件wordpress 防篡改
  • 网站建设和维护费用劳动法24小时免费咨询
  • 网站开发者常见问题90设计供稿平台任务
  • 网站开发人员应该用什么浏览器wordpress动作钩子
  • 室内设计的网站山东军辉建设集团有限公司 公司网站网址
  • 专门做网站的公司 南阳wordpress 文章透明
  • 手机如何建免费网站网站建设介绍推广用语
  • 云南专业建网站做一个自己的免费网站吗
  • 自己做网站需要什么材料全局右下角弹窗wordpress