DL之VGG16:基于VGG16(Keras)利用Knifey-Spoony数据集对网络架构FineTuning
2019-08-14 17:23
986 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_41185868/article/details/99588453
DL之VGG16:基于VGG16(Keras)利用Knifey-Spoony数据集对网络架构FineTuning
输出结果
[code]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_pool Epoch 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 3ff7 .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
设计思路
核心代码
[code]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()
相关文章推荐
- 利用tensorflow一步一步实现基于MNIST 数据集进行手写数字识别的神经网络,逻辑回归
- 『TensorFlow』SSD源码学习_其二:基于VGG的SSD网络前向架构
- 利用Keras搭建神经网络进行回归预测
- caffe架构学习之(一)--基于google protocol buffer开源项目的深度网络定义
- 基于keras 的神经网络股价预测模型
- Husky(赫斯基)利用基于标准的OPC构建灵活的网络
- 利用ISA 2006在中小型企业部署三足式网络架构
- 利用tensorflow框架搭建CNN网络解析mnist数据集(5)---《深度学习》
- Keras之DNN:基于Keras(sigmoid+binary_crossentropy+predict_proba)利用DNN实现分类预测概率——DIY二分类数据集&预测新数据点
- 【DL笔记】VGG网络详解及代码实现
- 基于网络数据集的最短路径
- 基于redis AE异步网络架构
- Qt+Caffe+OpenCV——【一个基于VGG网络的人脸识别考勤系统】
- Deep learning基于theano的keras学习笔记(3)-网络层
- 待完成任务(一) 利用自己的数据集 利用lenet网络进行训练
- 介绍Web基础架构设计原则的经典论文《架构风格与基于网络的软件架构设计》导读
- [解读REST] 3.基于网络应用的架构
- Keras中利用训练好的vgg16预测图片类型