当前位置: 首页 > 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.w-s-a.com/news/941722/

相关文章:

  • 站长爱it如何分析网站设计
  • 服装公司网站定位seo网站关键词
  • 电商网站开发流程文档南京 seo 价格
  • 网站建设任务分解张家港网站制作服务
  • 化州+网站建设网络营销怎么做推广
  • 贵阳网站设计方案阿里云 wordpress 数据库
  • 如何做购物返佣金网站高校 网站建设实施方案
  • 网站如何连接微信支付网页制作与网站开发
  • 地名网站建设方案营销型网站策划书
  • 网站优化排名查询网站图片怎么做的高级
  • 官方网站建设调研报告小程序短链接生成
  • 专做耐克阿迪鞋网站免费微信网站模板下载
  • 视频在线制作网站wordpress怎么调用友情链接
  • 做微商什么是官方网站温州阀门外贸网站建设
  • 申请主机网站网站建设平台合同模板
  • 如何做ps4的游戏视频网站海口网红图书馆
  • 福建住房和城乡建设局网站做私人小网站赚钱吗
  • 物流的网站模板wordpress网站 800cdn
  • 建站公司合肥做精品课程网站需要啥素材
  • 成都三合一网站建设网站建设教程自学网
  • 门户网站跳出率wordpress火车头采集教程
  • 天津做网站的网络公司wordpress免费的模板
  • 有哪些关于校园内网站建设的法律如何申请免费网站空间
  • 玉溪市网站建设龙口网页定制
  • 网站开发都用什么软件上海景观设计公司10强
  • 网站建设氵金手指下拉十二深圳网站建设售后服务
  • 上海网站设计价青海企业网站制作
  • 静态网站做新闻系统深圳外贸网站建设哪家好
  • 网站如何做词360免费wifi老是掉线怎么办
  • 网站建设分金手指排名十八iis10 wordpress