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

在百度做网站推广怎么做wordpress音乐主题免费

在百度做网站推广怎么做,wordpress音乐主题免费,晋江住房和城乡建设局网站,谷歌收录查询#x1f368; 本文为#x1f517;365天深度学习训练营 中的学习记录博客#x1f356; 原作者#xff1a;K同学啊 文章目录 一、前期工作1.设置GPU#xff08;如果使用的是CPU可以忽略这步#xff09;2. 导入数据3. 查看数据 二、数据预处理1、加载数据2、数据可视化3、再… 本文为365天深度学习训练营 中的学习记录博客 原作者K同学啊 文章目录 一、前期工作1.设置GPU如果使用的是CPU可以忽略这步2. 导入数据3. 查看数据 二、数据预处理1、加载数据2、数据可视化3、再次检查数据4、配置数据集 三、构建CNN网络四、训练模型1、设置动态学习率2、早停与保存最佳模型参数3、模型训练 五、模型评估1、Loss与Accuracy图2、尝试更改initial_learning_rate0.0013、指定图片预测 六、总结 电脑环境 语言环境Python 3.8.0 编译器Jupyter Notebook 深度学习环境tensorflow 2.15.0 一、前期工作 1.设置GPU如果使用的是CPU可以忽略这步 from tensorflow import keras from keras import layers, models import os, PIL, pathlib import matplotlib.pyplot as plt import tensorflow as tfgpus 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)2. 导入数据 data_dir ./data/ data_dir pathlib.Path(data_dir)3. 查看数据 image_count len(list(data_dir.glob(*/*/*.jpg))) print(图片总数为,image_count)输出图片总数为 578 打开一张图片 Monkeypox list(data_dir.glob(train/nike/*.jpg)) PIL.Image.open(str(Monkeypox[1]))二、数据预处理 1、加载数据 使用image_dataset_from_directory方法将磁盘中的数据加载到tf.data.Dataset中。 batch_size 32 img_height 224 img_width 224train_ds tf.keras.preprocessing.image_dataset_from_directory(./data/train/,seed123,image_size(img_height, img_width),batch_sizebatch_size)val_ds tf.keras.preprocessing.image_dataset_from_directory(./data/test/,seed123,image_size(img_height, img_width),batch_sizebatch_size)我们可以通过class_names输出数据集的标签。标签将按字母顺序对应于目录名称。 class_names train_ds.class_names print(class_names)输出 [‘adidas’, ‘nike’] 2、数据可视化 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[labels[i]])plt.axis(off)3、再次检查数据 for image_batch, labels_batch in train_ds:print(image_batch.shape)print(labels_batch.shape)break输出 (32, 224, 224, 3) (32,) 4、配置数据集 AUTOTUNE tf.data.AUTOTUNE train_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([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*3 layers.AveragePooling2D((2, 2)), # 池化层12*2采样layers.Conv2D(32, (3, 3), activationrelu), # 卷积层2卷积核3*3layers.AveragePooling2D((2, 2)), # 池化层22*2采样layers.Dropout(0.3), layers.Conv2D(64, (3, 3), activationrelu), # 卷积层3卷积核3*3layers.Dropout(0.3), layers.Flatten(), # Flatten层连接卷积层与全连接层layers.Dense(128, activationrelu), # 全连接层特征进一步提取layers.Dense(len(class_names)) # 输出层输出预期结果 ])model.summary() # 打印网络结构四、训练模型 1、设置动态学习率 ExponentialDecay函数 tf.keras.optimizers.schedules.ExponentialDecay是 TensorFlow 中的一个学习率衰减策略用于在训练神经网络时动态地降低学习率。学习率衰减是一种常用的技巧可以帮助优化算法更有效地收敛到全局最小值从而提高模型的性能。 主要参数 initial_learning_rate初始学习率初始学习率大小。decay_steps衰减步数学习率衰减的步数。在经过 decay_steps 步后学习率将按照指数函数衰减。例如如果 decay_steps 设置为 10则每10步衰减一次。decay_rate衰减率学习率的衰减率。它决定了学习率如何衰减。通常取值在 0 到 1 之间。staircase阶梯式衰减一个布尔值控制学习率的衰减方式。如果设置为 True则学习率在每个 decay_steps 步之后直接减小形成阶梯状下降。如果设置为 False则学习率将连续衰减。 # 设置初始学习率 initial_learning_rate 0.1lr_schedule tf.keras.optimizers.schedules.ExponentialDecay(initial_learning_rate, decay_steps10, # 敲黑板这里是指 steps不是指epochsdecay_rate0.92, # lr经过一次衰减就会变成 decay_rate*lrstaircaseTrue)# 将指数衰减学习率送入优化器 optimizer tf.keras.optimizers.Adam(learning_ratelr_schedule)model.compile(optimizeroptimizer,losstf.keras.losses.SparseCategoricalCrossentropy(from_logitsTrue),metrics[accuracy])注这里设置的动态学习率为指数衰减型ExponentialDecay。在每一个epoch开始前学习率learning_rate都将会重置为初始学习率initial_learning_rate然后再重新开始衰减。计算公式如下 learning_rate initial_learning_rate * decay_rate ^ (step / decay_steps) 2、早停与保存最佳模型参数 EarlyStopping()参数说明 monitor: 被监测的数据。min_delta: 在被监测的数据中被认为是提升的最小变化 例如小于 min_delta 的绝对变化会被认为没有提升。patience: 没有进步的训练轮数在这之后训练就会被停止。verbose: 详细信息模式。mode: {auto, min, max} 其中之一。 在 min 模式中 当被监测的数据停止下降训练就会停止在 max 模式中当被监测的数据停止上升训练就会停止在 auto 模式中方向会自动从被监测的数据的名字中判断出来。baseline: 要监控的数量的基准值。 如果模型没有显示基准的改善训练将停止。estore_best_weights: 是否从具有监测数量的最佳值的时期恢复模型权重。 如果为 False则使用在训练的最后一步获得的模型权重。 from tensorflow.keras.callbacks import ModelCheckpoint, EarlyStoppingepochs 50# 保存最佳模型参数 checkpointer ModelCheckpoint(best_model.h5,monitorval_accuracy,verbose1,save_best_onlyTrue,save_weights_onlyTrue)# 设置早停 earlystopper EarlyStopping(monitorval_accuracy, min_delta0.001,patience20, verbose1)3、模型训练 history model.fit(train_ds,validation_dataval_ds,epochsepochs,callbacks[checkpointer, earlystopper])Epoch 1/50 15/16 [..] - ETA: 0s - loss: 0.7137 - accuracy: 0.5021 Epoch 1: val_accuracy improved from -inf to 0.50000, saving model to best_model.h5 16/16 [] - 3s 73ms/step - loss: 0.7141 - accuracy: 0.4920 - val_loss: 0.6969 - val_accuracy: 0.5000 Epoch 2/50 15/16 [..] - ETA: 0s - loss: 0.6964 - accuracy: 0.4681 Epoch 2: val_accuracy did not improve from 0.50000 16/16 [] - 1s 42ms/step - loss: 0.6967 - accuracy: 0.4602 - val_loss: 0.6935 - val_accuracy: 0.5000 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 16/16 [] - 1s 45ms/step - loss: 0.6936 - accuracy: 0.5000 - val_loss: 0.6932 - val_accuracy: 0.5000 Epoch 21/50 15/16 [..] - ETA: 0s - loss: 0.6957 - accuracy: 0.4532 Epoch 21: val_accuracy did not improve from 0.50000 16/16 [] - 1s 44ms/step - loss: 0.6955 - accuracy: 0.4562 - val_loss: 0.6935 - val_accuracy: 0.5000 Epoch 21: early stopping从输出结果看到val_accuracy一直0.5000那么肯定是哪里不对了。 五、模型评估 1、Loss与Accuracy图 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()2、尝试更改initial_learning_rate0.001 再次训练输出结果为 Epoch 1/50 16/16 [] - ETA: 0s - loss: 5.3369 - accuracy: 0.4940 Epoch 1: val_accuracy improved from -inf to 0.52632, saving model to best_model.h5 16/16 [] - 128s 1s/step - loss: 5.3369 - accuracy: 0.4940 - val_loss: 0.6984 - val_accuracy: 0.5263 Epoch 2/50 15/16 [..] - ETA: 0s - loss: 0.6932 - accuracy: 0.5021 Epoch 2: val_accuracy improved from 0.52632 to 0.61842, saving model to best_model.h5 16/16 [] - 1s 65ms/step - loss: 0.6924 - accuracy: 0.5080 - val_loss: 0.6893 - val_accuracy: 0.6184 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 Epoch 43/50 15/16 [..] - ETA: 0s - loss: 0.1565 - accuracy: 0.9596 Epoch 43: val_accuracy did not improve from 0.85526 16/16 [] - 1s 45ms/step - loss: 0.1579 - accuracy: 0.9582 - val_loss: 0.4551 - val_accuracy: 0.8421 Epoch 43: early stopping这里看到减小了initial_learning_rate后效果好了很多。 3、指定图片预测 # 加载效果最好的模型权重 model.load_weights(best_model.h5)from PIL import Image import numpy as npimg Image.open(./data/test/nike/1.jpg) #这里选择你需要预测的图片 image tf.image.resize(img, [img_height, img_width])# expand_dims函数在索引axis处增加一个值为1的维度这里使得image变成一个一张图片的一个批次 img_array tf.expand_dims(image, 0) #/255.0 # 记得做归一化处理与训练集处理方式保持一致predictions model.predict(img_array) # 这里选用你已经训练好的模型 print(预测结果为,class_names[np.argmax(predictions)])输出 1/1 [] - 0s 422ms/step 预测结果为 nike预测正确。 六、总结 学习到tensorflow中的动态学习率函数ExponentialDecay模型的初始学习率不能设置过大过大的学习率可能导致模型不收敛且模型精度太差当然也不能太小太小模型收敛慢难跳出局部最优。学习到使模型因没有改善早结束训练函数EarlyStopping
http://www.ho-use.cn/article/10815269.html

相关文章:

  • 集团网站建设服务做网页需要学什么语言
  • 如何搭建一个公司网站站长工具国产2023
  • 深圳网站优化方案wordpress自动分享插件
  • 广西网站建开发一个app收费
  • 九江网站设计公司seo搜索排名优化公司
  • 天津做网站建设公司南昌品牌网站建设
  • 建设网站设计的公司网站建设的税收编码
  • php做网站项目的流程什么软件可以看到街景
  • 下沙做网站青岛做商城网站
  • 江西网站开发方案wordpress的图标怎么添加
  • wordpress网站的搭建在线设计房屋装修
  • 白酒公司网站的建设建立新中国的构想及其实践
  • 怎么做电力设计公司网站在银行网站如何做理财风险评测
  • 1g内存的服务器可以建设几个网站烟台做网站联系电话
  • asp access网站建设源代码广西建设网网上办事大厅个人版
  • 比较大的做网站的公司有哪些百度多长时间收录网站
  • 国外做储物的网站企业建站系统官网
  • 大连网站专业制作莱芜网页制作公司
  • 全平台响应式网站建设平面ui设计网站
  • 动感网站模板生活家装饰
  • 电子商务网站建设实训报告范文肇庆建设网站
  • 菏泽做网站建设的公司哪个地方网站建设的公司多
  • 兰州网站推广建设网站建设唯特和凡科哪个好
  • 腾讯空间个人认证 企业认证 网站认证哪种功能用途最齐全??花的网页设计模板素材
  • 青岛优化网站关键词做网站公司郑州汉狮
  • 有什么网站可以做简历编写网站用什么语言
  • 网站建设与管理清考作业能打开各种网站的浏览器app
  • 祺越网站建设免费的行情网站app代码
  • 写着网站建设图片拼多多 wordpress
  • 做网站IP设计什么网站简单