DL之VGG16:基于VGG16(Keras)利用Knifey-Spoony数据集对网络架构FineTuning

输出结果

 

False:    input_1
False:    block1_conv1
False:    block1_conv2
False:    block1_pool
False:    block2_conv1
False:    block2_conv2
False:    block2_pool
False:    block3_conv1
False:    block3_conv2
False:    block3_conv3
False:    block3_pool
True:    block4_conv1
True:    block4_conv2
True:    block4_conv3
True:    block4_pool
True:    block5_conv1
True:    block5_conv2
True:    block5_conv3
True:    block5_poolEpoch 1/20
100/100 [==============================] - 814s 8s/step - loss: 0.4626 - categorical_accuracy: 0.8095 - val_loss: 0.5332 - val_categorical_accuracy: 0.7717
Epoch 2/20
100/100 [==============================] - 823s 8s/step - loss: 0.4662 - categorical_accuracy: 0.8150 - val_loss: 0.5236 - val_categorical_accuracy: 0.7755
Epoch 3/20
100/100 [==============================] - 824s 8s/step - loss: 0.4506 - categorical_accuracy: 0.8140 - val_loss: 0.5153 - val_categorical_accuracy: 0.7830
Epoch 4/20
100/100 [==============================] - 821s 8s/step - loss: 0.4491 - categorical_accuracy: 0.8170 - val_loss: 0.5236 - val_categorical_accuracy: 0.7717
Epoch 5/20
100/100 [==============================] - 820s 8s/step - loss: 0.4612 - categorical_accuracy: 0.8150 - val_loss: 0.5244 - val_categorical_accuracy: 0.7698
Epoch 6/20
100/100 [==============================] - 824s 8s/step - loss: 0.4440 - categorical_accuracy: 0.8215 - val_loss: 0.5078 - val_categorical_accuracy: 0.7849
Epoch 7/20
100/100 [==============================] - 824s 8s/step - loss: 0.4339 - categorical_accuracy: 0.8200 - val_loss: 0.5070 - val_categorical_accuracy: 0.7906
Epoch 8/20
100/100 [==============================] - 820s 8s/step - loss: 0.4188 - categorical_accuracy: 0.8335 - val_loss: 0.5068 - val_categorical_accuracy: 0.7887
Epoch 9/20
100/100 [==============================] - 823s 8s/step - loss: 0.4307 - categorical_accuracy: 0.8345 - val_loss: 0.5192 - val_categorical_accuracy: 0.7792
Epoch 10/20
100/100 [==============================] - 820s 8s/step - loss: 0.4432 - categorical_accuracy: 0.8180 - val_loss: 0.4945 - val_categorical_accuracy: 0.7887
Epoch 11/20
100/100 [==============================] - 824s 8s/step - loss: 0.4171 - categorical_accuracy: 0.8295 - val_loss: 0.5012 - val_categorical_accuracy: 0.7887
Epoch 12/20
100/100 [==============================] - 820s 8s/step - loss: 0.4071 - categorical_accuracy: 0.8335 - val_loss: 0.5064 - val_categorical_accuracy: 0.7830
Epoch 13/20
100/100 [==============================] - 824s 8s/step - loss: 0.4164 - categorical_accuracy: 0.8200 - val_loss: 0.5065 - val_categorical_accuracy: 0.7811
Epoch 14/20
100/100 [==============================] - 825s 8s/step - loss: 0.4060 - categorical_accuracy: 0.8350 - val_loss: 0.5021 - val_categorical_accuracy: 0.7830
Epoch 15/20
100/100 [==============================] - 821s 8s/step - loss: 0.3948 - categorical_accuracy: 0.8390 - val_loss: 0.4985 - val_categorical_accuracy: 0.7925
Epoch 16/20
100/100 [==============================] - 824s 8s/step - loss: 0.3724 - categorical_accuracy: 0.8570 - val_loss: 0.4909 - val_categorical_accuracy: 0.7981
Epoch 17/20
100/100 [==============================] - 821s 8s/step - loss: 0.4084 - categorical_accuracy: 0.8305 - val_loss: 0.4888 - val_categorical_accuracy: 0.8000
Epoch 18/20
100/100 [==============================] - 824s 8s/step - loss: 0.3975 - categorical_accuracy: 0.8400 - val_loss: 0.4907 - val_categorical_accuracy: 0.8019
Epoch 19/20
100/100 [==============================] - 822s 8s/step - loss: 0.4093 - categorical_accuracy: 0.8430 - val_loss: 0.5156 - val_categorical_accuracy: 0.7792
Epoch 20/20
100/100 [==============================] - 824s 8s/step - loss: 0.4007 - categorical_accuracy: 0.8270 - val_loss: 0.4917 - val_categorical_accuracy: 0.7962

设计思路

核心代码

conv_model.trainable = True   for layer in conv_model.layers:# Boolean whether this layer is trainable.trainable = ('block5' in layer.name or 'block4' in layer.name)# Set the layer's bool.layer.trainable = trainable
print_layer_trainable() optimizer_fine = Adam(lr=1e-7)FT_history = VGG16_TL_model.fit_generator(generator=generator_train,epochs=epochs,steps_per_epoch=steps_per_epoch,class_weight=class_weight,validation_data=generator_test,validation_steps=steps_test)print(FT_history)
plot_training_history(FT_history)  #VGG16_FT_model_result = VGG16_TL_model.evaluate_generator(generator_test, steps=steps_test)
print("Test-set classification accuracy: {0:.2%}".format(VGG16_FT_model_result[1]))  example_errors()

DL之VGG16:基于VGG16(Keras)利用Knifey-Spoony数据集对网络架构FineTuning相关推荐

  1. DL之VGG16:基于VGG16(Keras)利用Knifey-Spoony数据集对网络架构进行迁移学习

    DL之VGG16:基于VGG16(Keras)利用Knifey-Spoony数据集对网络架构迁移学习 目录 数据集 输出结果 设计思路 1.基模型 2.思路导图 核心代码 更多输出 数据集 Datas ...

  2. ML之NB:(NLP)基于sklearn库利用不同语种数据集训练NB(朴素贝叶斯)算法,对新语种进行语种检测

    ML之NB:(NLP)基于sklearn库利用不同语种数据集训练NB(朴素贝叶斯)算法,对新语种进行语种检测 目录 输出结果 训练数据集 设计思路 核心代码 输出结果 测试01:I love you ...

  3. “从零到一“基于Freeswitch二次开发:Freeswitch入门与网络架构 (一)

    一. 简介与背景 在当前的互联网时代,想必大家对于网络电话或者通过网络进行语音.视频的场景再熟悉不过了.基于IP的语音传输(英语:Voice over Internet Protocol,缩写为VoI ...

  4. DL之VGG16:基于VGG16迁移技术实现猫狗分类识别(图片数据量调整→保存h5模型)

    DL之VGG16:基于VGG16迁移技术实现猫狗分类识别(图片数据量调整→保存h5模型) 目录 基于VGG16迁移技术实现猫狗分类识别(图片数据量调整→保存h5模型) 设计思路 输出结果 1488/1 ...

  5. 深度学习之基于VGG16与ResNet50实现鸟类识别

    鸟类识别在之前做过,但是效果特别差.而且ResNet50的效果直接差到爆炸,这次利用VGG16与ResNet50的官方模型进行鸟类识别. 1.导入库 import tensorflow as tf i ...

  6. 混合模型:基于VGG-16+PCA+Meanshift/DBSCAN的图像分类(附代码数据集)

    混合模型实战 简介 数据集 训练集 测试集 实战讲解 简介 博主上次做的VGG16训练宝可梦多分类图像识别,5个每类,每个类别250张左右,训练数量并不多,但如果我的训练数量更少呢?因为在现实生活中, ...

  7. DL之GD:利用LogisticGD算法(梯度下降)依次基于一次函数和二次函数分布的数据集实现二分类预测(超平面可视化)

    DL之GD:利用LogisticGD算法(梯度下降)依次基于一次函数和二次函数分布的数据集实现二分类预测(超平面可视化) 目录 利用LogisticGD算法(梯度下降)依次基于一次函数和二次函数分布的 ...

  8. DL之Attention-ED:基于TF NMT利用带有Attention的 ED模型训练、测试(中英文平行语料库)实现将英文翻译为中文的LSTM翻译模型过程全记录

    DL之Attention-ED:基于TF NMT利用带有Attention的 ED模型训练(中英文平行语料库)实现将英文翻译为中文的LSTM翻译模型过程全记录 目录 测试输出结果 模型监控 训练过程全 ...

  9. DL之LSTM:基于tensorflow框架利用LSTM算法对气温数据集训练并回归预测

    DL之LSTM:基于tensorflow框架利用LSTM算法对气温数据集训练并回归预测 目录 输出结果 核心代码 输出结果 数据集 tensorboard可视化 iter: 0 loss: 0.010 ...

最新文章

  1. STM32如何计算RTC时钟异步预分频和同步预分频
  2. c语言中int和指针和字符所占字节
  3. android动态设置错误页面,Android中替换WebView加载网页失败时的页面
  4. java和python的web自动化有什么区别-Java 和 Python 有哪些区别?
  5. 【数据挖掘】数据挖掘算法 组件化思想 ( 模型或模式结构 | 数据挖掘任务 | 评分函数 | 搜索和优化算法 | 数据管理策略 )
  6. 微信小程序 - vant popup弹出层阻止底层页面滑动
  7. SVM学习(三):线性分类器的求解
  8. 致盗窃,抄袭有三AI内容以及不可理喻的读者
  9. 后台getshell常用技巧总结
  10. 异常重试_Spring-Retry重试实现原理
  11. 一生只有43年,喜欢泡妹打架,却凭借一篇文章震惊世界,跻身一流数学家
  12. java内联_JAVA中的内联函数
  13. 【鲲鹏来了】手把手教你在鲲鹏上使用编程语言——C语言
  14. SpannableStringUtil实现丰富文字效果
  15. 网红品牌,都是“营销狗”?
  16. encodeURI() 的用法
  17. C++11 chrono库
  18. 初学者福利:分享五个免费的 Python 学习网站,抓紧收藏吧
  19. C6678多核DSP——CMD文件介绍
  20. 与错误共生,迎接成功-墨菲定律教给我的道理

热门文章

  1. 5kyu Some Egyptian fractions
  2. STM32启动BOOT0 BOOT1设置方法 [
  3. ubuntu下如何切换输入法
  4. 09-2.部署 dashboard 插件
  5. java基础(一):谈谈java内存管理与垃圾回收机制
  6. 【DP优化】【P1430】序列取数
  7. Linux基本防护措施
  8. linux下定义删除变量
  9. 2020年,从提升认知开始
  10. 大数据架构如何做到流批一体?