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

南昌做网站的流程东莞网推广网站建设

南昌做网站的流程,东莞网推广网站建设,网络基础知识大全,注册做网站的营业执照目录 1、前言 2、 完整代码 3、运行过程结果 4、遇到的问题 5、小结 本文为#x1f517;365天深度学习训练营 中的学习记录博客#x1f356; 原作者#xff1a;K同学啊 | 接辅导、项目定制 1、前言 这周主要是使用VGG16模型#xff0c;完成明星照片识别。 2、 完整代…目录 1、前言 2、 完整代码 3、运行过程结果 4、遇到的问题 5、小结 本文为365天深度学习训练营 中的学习记录博客 原作者K同学啊 | 接辅导、项目定制 1、前言 这周主要是使用VGG16模型完成明星照片识别。 2、 完整代码 from keras.utils import losses_utils from tensorflow import keras from keras import layers, models import os, PIL, pathlib import matplotlib.pyplot as plt import tensorflow as tf import numpy as np from keras.callbacks import ModelCheckpoint, EarlyStoppinggpus tf.config.list_physical_devices(GPU)if gpus:gpu0 gpus[0] # 如果有多个GPU仅使用第0个GPUtf.config.experimental.set_memory_growth(gpu0, True) # 设置GPU显存用量按需使用tf.config.set_visible_devices([gpu0], GPU)# 导入数据 data_dir /Users/MsLiang/Documents/mySelf_project/pythonProject_pytorch/learn_demo/P_model/p06_vgg16/data data_dir pathlib.Path(data_dir)# 查看数据 image_count len(list(data_dir.glob(*/*.jpg))) print(图片总数为,image_count) # 1800roses list(data_dir.glob(Jennifer Lawrence/*.jpg)) img PIL.Image.open(str(roses[0])) # img.show() # 查看图片# 数据预处理 # 1、加载数据 batch_size 32 img_height 224 img_width 224print(data_dir,data_dir)关于image_dataset_from_directory()的详细介绍可以参考文章https://mtyjkh.blog.csdn.net/article/details/117018789train_ds tf.keras.preprocessing.image_dataset_from_directory(data_dir,validation_split0.1,subsettraining,label_modecategorical,seed123,image_size(img_height, img_width),batch_sizebatch_size) 关于image_dataset_from_directory()的详细介绍可以参考文章https://mtyjkh.blog.csdn.net/article/details/117018789val_ds tf.keras.preprocessing.image_dataset_from_directory(data_dir,validation_split0.1,subsetvalidation,label_modecategorical,seed123,image_size(img_height, img_width),batch_sizebatch_size)class_names train_ds.class_names print(class_names)# 可视化数据 plt.figure(figsize(20, 10))for images, labels in train_ds.take(1):for i in range(20):ax plt.subplot(5, 10, i 1)plt.imshow(images[i].numpy().astype(uint8))plt.title(class_names[np.argmax(labels[i])])plt.axis(off) plt.show()# 再次检查数据 for image_batch, labels_batch in train_ds:print(image_batch.shape) # (32, 224, 224, 3)print(labels_batch.shape) # (32, 17)break# 配置数据集 AUTOTUNE tf.data.AUTOTUNEtrain_ds train_ds.cache().shuffle(1000).prefetch(buffer_sizeAUTOTUNE) val_ds val_ds.cache().prefetch(buffer_sizeAUTOTUNE)# 构建CNN网络关于卷积核的计算不懂的可以参考文章https://blog.csdn.net/qq_38251616/article/details/114278995layers.Dropout(0.4) 作用是防止过拟合提高模型的泛化能力。 关于Dropout层的更多介绍可以参考文章https://mtyjkh.blog.csdn.net/article/details/115826689 model models.Sequential([keras.layers.experimental.preprocessing.Rescaling(1. / 255, input_shape(img_height, img_width, 3)),layers.Conv2D(16, (3, 3), activationrelu, input_shape(img_height, img_width, 3)), # 卷积层1卷积核3*3layers.AveragePooling2D((2, 2)), # 池化层12*2采样layers.Conv2D(32, (3, 3), activationrelu), # 卷积层2卷积核3*3layers.AveragePooling2D((2, 2)), # 池化层22*2采样layers.Dropout(0.5),layers.Conv2D(64, (3, 3), activationrelu), # 卷积层3卷积核3*3layers.AveragePooling2D((2, 2)),layers.Dropout(0.5),layers.Conv2D(128, (3, 3), activationrelu), # 卷积层3卷积核3*3layers.Dropout(0.5),layers.Flatten(), # Flatten层连接卷积层与全连接层layers.Dense(128, activationrelu), # 全连接层特征进一步提取layers.Dense(len(class_names)) # 输出层输出预期结果 ])# model.summary() # 打印网络结构# 训练模型 # 1、设置动态学习率 # 设置初始学习率 initial_learning_rate 1e-4lr_schedule tf.keras.optimizers.schedules.ExponentialDecay(initial_learning_rate,decay_steps60, # 敲黑板这里是指 steps不是指epochsdecay_rate0.96, # lr经过一次衰减就会变成 decay_rate*lrstaircaseTrue)# 将指数衰减学习率送入优化器 optimizer tf.keras.optimizers.Adam(learning_ratelr_schedule)model.compile(optimizeroptimizer,losstf.keras.losses.CategoricalCrossentropy(from_logitsTrue),metrics[accuracy])# 损失函数 # 调用方式1 model.compile(optimizeradam,losscategorical_crossentropy,metrics[accuracy])# 调用方式2 # model.compile(optimizeradam, # losstf.keras.losses.CategoricalCrossentropy(), # metrics[accuracy])# sparse_categorical_crossentropy稀疏性多分类的对数损失函数 # 调用方式1 model.compile(optimizeradam,losscategorical_crossentropy,metrics[accuracy]) # ↑↑↑↑这里出现报错需要将 sparse_categorical_crossentropy 改成→ categorical_crossentropy↑↑ # 调用方式2 # model.compile(optimizeradam, # losstf.keras.losses.SparseCategoricalCrossentropy(), # metrics[accuracy])# 函数原型 tf.keras.losses.SparseCategoricalCrossentropy(from_logitsFalse,reductionlosses_utils.ReductionV2.AUTO,namesparse_categorical_crossentropy )epochs 100# 保存最佳模型参数 checkpointer ModelCheckpoint(best_model.h5,monitorval_accuracy,verbose1,save_best_onlyTrue,save_weights_onlyTrue)# 设置早停 earlystopper EarlyStopping(monitorval_accuracy,min_delta0.001,patience20,verbose1)# 网络模型训练 history model.fit(train_ds,validation_dataval_ds,epochsepochs,callbacks[checkpointer, earlystopper])# 模型评估 acc history.history[accuracy] val_acc history.history[val_accuracy]loss history.history[loss] val_loss history.history[val_loss]epochs_range range(len(loss))plt.figure(figsize(12, 4)) plt.subplot(1, 2, 1) plt.plot(epochs_range, acc, labelTraining Accuracy) plt.plot(epochs_range, val_acc, labelValidation Accuracy) plt.legend(loclower right) plt.title(Training and Validation Accuracy)plt.subplot(1, 2, 2) plt.plot(epochs_range, loss, labelTraining Loss) plt.plot(epochs_range, val_loss, labelValidation Loss) plt.legend(locupper right) plt.title(Training and Validation Loss) plt.show()# 指定图片进行预测 # 加载效果最好的模型权重 model.load_weights(best_model.h5)from PIL import Image import numpy as npimg Image.open(/Users/MsLiang/Documents/mySelf_project/pythonProject_pytorch/learn_demo/P_model/p06_vgg16/data/Jennifer Lawrence/003_963a3627.jpg) #这里选择你需要预测的图片 image tf.image.resize(img, [img_height, img_width])img_array tf.expand_dims(image, 0)predictions model.predict(img_array) # 这里选用你已经训练好的模型 print(预测结果为,class_names[np.argmax(predictions)]) 3、运行过程结果 【查看图片】 【模型运行过程---第21epoch就早停了】 【训练精度、损失-----显然结果很很差】 4、遇到的问题 ① 在运行代码的时候遇到报错 错误Graph execution error: Detected at node sparse_categorical_crossentropy/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits defined at (most recent call last): 出现这个问题来自我们使用的损失函数。 model.compile(optimizeradam,losssparse_categorical_crossentropy,metrics[accuracy]) 解决办法 将损失函数里面的losssparse_categorical_crossentropy 改成 categorical_crossentropy即可解决报错问题。 关于sparse_categorical_crossentropy和categorical_crossentropy的更多细节详细参考这篇博文交叉熵损失_多分类交叉熵损失函数-CSDN博客 5、小结 原始模型跑出来效果很差很差 1将原来的Adam优化器换成SGD优化器效果如下 2后续再补充最近在写结课论文有些忙。
http://www.hkea.cn/news/14423231/

相关文章:

  • wordpress仿简书主题seo顾问张智伟
  • 外贸数据分析网站织梦dedecms网站内容页
  • 广告联盟怎么建设网站ps网站首页设计
  • 三只松鼠的网站建设理念wordpress ip排行榜
  • js特效做的好的网站长春火车站什么时候通车
  • 一般网站建设需求有哪些方面wordpress 侧 悬浮插件
  • 天津电商网站开发西安中高风险地区
  • wix怎么做网站做网站需要备注号码
  • 企业做网页还是网站怎么建设一个电影资源网站解析
  • 网站建设制作免费推广书店网站建设可行性分析
  • 一台服务器如何做两个网站公司怎样做网络推广
  • 莱州 网站制作电脑上如何做网站
  • 织梦书法网站模板广州电商网站开发公司
  • 网页设计网站题目厦门 网站建设
  • 天津商城网站建设新开传奇网站刚开一秒
  • 知名网站建设官网东莞网络营销推广运营
  • 互联网登录的网站名xp怎么建设网站
  • 学校网站的建设目标是什么白云建设网站
  • 网站建设技术经理岗位职责室内设计3d效果图用什么软件
  • 网站开发交付资料运维有限公司
  • 做网站的结论做代理稳妥的彩票网站有哪些
  • ps做网站效果图尺寸如何微信引流推广
  • 学网站建设需要下载什么html网页设计工具
  • 同一个网站绑定多个域名网站导航栏的作用
  • 网站开发播放大视频卡顿wordpress弹出搜索
  • 创业 做网站哈尔滨建设公司网站
  • 免费网站奖励自己游戏wordpress新建子域名多站点
  • 专门做项目代理的网站wordpress主题代码分析
  • 性价比最高网站建设wordpress 支持mkv播放
  • 嘉兴网站建设咨询文化建设的重要性