1. import numpy
  2. import os
  3.  
  4. from keras import applications
  5. from keras.preprocessing.image import ImageDataGenerator
  6. from keras import optimizers
  7. from keras.models import Sequential, Model
  8. from keras.layers import Dropout, Flatten, Dense, GlobalAveragePooling2D
  9. from keras import backend as k
  10. from keras.callbacks import ModelCheckpoint, LearningRateScheduler, TensorBoard, EarlyStopping
  11. from keras.models import Sequential
  12. from keras.layers.normalization import BatchNormalization
  13. from keras.layers.convolutional import Conv2D
  14. from keras.layers.convolutional import MaxPooling2D
  15. from keras.initializers import TruncatedNormal
  16. from keras.layers.core import Activation
  17. from keras.layers.core import Flatten
  18. from keras.layers.core import Dropout
  19. from keras.layers.core import Dense
  20.  
  21. files_train = 0
  22. files_validation = 0
  23.  
  24. cwd = os.getcwd()
  25. folder = 'train_data/train'
  26. for sub_folder in os.listdir(folder):
  27. path, dirs, files = next(os.walk(os.path.join(folder,sub_folder)))
  28. files_train += len(files)
  29.  
  30. folder = 'train_data/test'
  31. for sub_folder in os.listdir(folder):
  32. path, dirs, files = next(os.walk(os.path.join(folder,sub_folder)))
  33. files_validation += len(files)
  34.  
  35. print(files_train,files_validation)
  36.  
  37. img_width, img_height = 48, 48
  38. train_data_dir = "train_data/train"
  39. validation_data_dir = "train_data/test"
  40. nb_train_samples = files_train
  41. nb_validation_samples = files_validation
  42. batch_size = 32
  43. epochs = 15
  44. num_classes = 2
  45.  
  46. model = applications.VGG16(weights='imagenet', include_top=False, input_shape = (img_width, img_height, 3))
  47.  
  48. for layer in model.layers[:10]:
  49. layer.trainable = False
  50.  
  51. x = model.output
  52. x = Flatten()(x)
  53. predictions = Dense(num_classes, activation="softmax")(x)
  54.  
  55. model_final = Model(input = model.input, output = predictions)
  56.  
  57. model_final.compile(loss = "categorical_crossentropy",
  58. optimizer = optimizers.SGD(lr=0.0001, momentum=0.9),
  59. metrics=["accuracy"])
  60.  
  61. train_datagen = ImageDataGenerator(
  62. rescale = 1./255,
  63. horizontal_flip = True,
  64. fill_mode = "nearest",
  65. zoom_range = 0.1,
  66. width_shift_range = 0.1,
  67. height_shift_range=0.1,
  68. rotation_range=5)
  69.  
  70. test_datagen = ImageDataGenerator(
  71. rescale = 1./255,
  72. horizontal_flip = True,
  73. fill_mode = "nearest",
  74. zoom_range = 0.1,
  75. width_shift_range = 0.1,
  76. height_shift_range=0.1,
  77. rotation_range=5)
  78.  
  79. train_generator = train_datagen.flow_from_directory(
  80. train_data_dir,
  81. target_size = (img_height, img_width),
  82. batch_size = batch_size,
  83. class_mode = "categorical")
  84.  
  85. validation_generator = test_datagen.flow_from_directory(
  86. validation_data_dir,
  87. target_size = (img_height, img_width),
  88. class_mode = "categorical")
  89.  
  90. checkpoint = ModelCheckpoint("car1.h5", monitor='val_acc', verbose=1, save_best_only=True, save_weights_only=False, mode='auto', period=1)
  91. early = EarlyStopping(monitor='val_acc', min_delta=0, patience=10, verbose=1, mode='auto')
  92.  
  93. history_object = model_final.fit_generator(
  94. train_generator,
  95. samples_per_epoch = nb_train_samples,
  96. epochs = epochs,
  97. validation_data = validation_generator,
  98. nb_val_samples = nb_validation_samples,
  99. callbacks = [checkpoint, early])

机器学习进阶-案例实战-停车场车位识别-keras预测是否停车站有车的更多相关文章

  1. 机器学习进阶-案例实战-答题卡识别判 1.cv2.getPerspectiveTransform(获得投射变化后的H矩阵) 2.cv2.warpPerspective(H获得变化后的图像) 3.cv2.approxPolyDP(近似轮廓) 4.cv2.threshold(二值变化) 7.cv2.countNonezeros(非零像素点个数)6.cv2.bitwise_and(与判断)

    1.H = cv2.getPerspectiveTransform(rect, transform_axes) 获得投射变化后的H矩阵 参数说明:rect表示原始的位置左上,右上,右下,左下, tra ...

  2. 机器学习进阶-项目实战-信用卡数字识别 1.cv2.findContour(找出轮廓) 2.cv2.boudingRect(轮廓外接矩阵位置) 3.cv2.threshold(图片二值化操作) 4.cv2.MORPH_TOPHAT(礼帽运算突出线条) 5.cv2.MORPH_CLOSE(闭运算图片内部膨胀) 6. cv2.resize(改变图像大小) 7.cv2.putText(在图片上放上文本)

    7. cv2.putText(img, text, loc, text_font, font_scale, color, linestick) # 参数说明:img表示输入图片,text表示需要填写的 ...

  3. 机器学习进阶-案例实战-图像全景拼接-图像全景拼接(RANSCA) 1.sift.detectAndComputer(获得sift图像关键点) 2.cv2.findHomography(计算单应性矩阵H) 3.cv2.warpPerspective(获得单应性变化后的图像) 4.cv2.line(对关键点位置进行连线画图)

    1. sift.detectAndComputer(gray, None)  # 计算出图像的关键点和sift特征向量 参数说明:gray表示输入的图片 2.cv2.findHomography(kp ...

  4. 机器学习进阶-案例实战-图像全景拼接-书籍SIFT特征点连接 1.cv2.drawMatches(对两个图像的关键点进行连线操作)

    1.cv2.drawMatches(imageA, kpsA, imageB, kpsB, matches[:10], None, flags=2)  # 对两个图像关键点进行连线操作 参数说明:im ...

  5. webpack4入门到进阶案例实战课程

    愿景:"让编程不在难学,让技术与生活更加有趣" 更多教程请访问xdclass.net 第一章 webpack4前言 第一集 webpack4入门到进阶案例实战课程介绍 简介:讲述w ...

  6. Spark Streaming 进阶与案例实战

    Spark Streaming 进阶与案例实战 1.带状态的算子: UpdateStateByKey 2.实战:计算到目前位置累积出现的单词个数写入到MySql中 1.create table CRE ...

  7. 机器学习_线性回归和逻辑回归_案例实战:Python实现逻辑回归与梯度下降策略_项目实战:使用逻辑回归判断信用卡欺诈检测

    线性回归: 注:为偏置项,这一项的x的值假设为[1,1,1,1,1....] 注:为使似然函数越大,则需要最小二乘法函数越小越好 线性回归中为什么选用平方和作为误差函数?假设模型结果与测量值 误差满足 ...

  8. javascript进阶教程第一章案例实战

    javascript进阶教程第一章案例实战 一.学习任务 通过几个案例练习回顾学过的知识 通过练习积累JS的使用技巧 二.实例 练习1:删除确认提示框 实例描述: 防止用户小心单击了“删除”按钮,在用 ...

  9. javascript进阶教程第二章对象案例实战

    javascript进阶教程第二章对象案例实战 一.学习任务 通过几个案例练习回顾学过的知识 通过案例练习补充几个之前没有见到或者虽然讲过单是讲的不仔细的知识点. 二.具体实例 温馨提示 面向对象的知 ...

随机推荐

  1. go学习day1

    go语言特性 1.垃圾回收 a.内存自动回收,再也不需要开发人员管理内存 b.开发人员专注业务实现,降低了心智负担 c.只需要new分配内存,不需要释放 2.天然并发 a.从语言层面支持并发,非常简单 ...

  2. 面试总结之Google

    准备Google面试的总结 - 知乎 https://zhuanlan.zhihu.com/p/40866467 [不周山之算法与数据结构]壹 总览 | 小土刀 https://wdxtub.com/ ...

  3. 引用文章 如何在lambda中引入递归调用

    // clang++ 3.5 // maybe gcc 4.9 support it, but I don't test it #include<iostream> int main() ...

  4. Selector空轮询处理(转载)

    https://www.cnblogs.com/my_life/articles/5556939.html Selector空轮询处理 在NIO中通过Selector的轮询当前是否有IO事件,根据JD ...

  5. MySQL binlog 企业案例升级版

    需求:1.创建一个数据库 oldboy2.在oldboy下创建一张表t13.插入5行任意数据4.全备5.插入两行数据,任意修改3行数据,删除1行数据6.删除所有数据7.再t1中又插入5行新数据,修改3 ...

  6. 云计算的三种服务模式:IaaS,PaaS和SaaS

    云服务”现在已经快成了一个家喻户晓的词了.如果你不知道PaaS, IaaS 和SaaS的区别,那么也没啥,因为很多人确实不知道. “云”其实是互联网的一个隐喻,“云计算”其实就是使用互联网来接入存储或 ...

  7. (error) MOVED 5798 172.17.0.3:6379

    登录没有启动集群模式(即缺少了那个"-c"): redis-cli -c -h yourhost -p yourpost

  8. geoserver sld显示中文标签 style配置

    样式1: <?xml version="1.0" encoding="GB2312"?><sld:StyledLayerDescriptor ...

  9. hive之权限问题AccessControlException Permission denied: user=root, access=WR

    问题描述:在集群上,用hive分析数据出现如下错误 FAILED: Execution Error, return code from org.apache.hadoop.hive.ql.exec.D ...

  10. sqoop1.4.7 导入数据到hive2.3.4 jackson版本问题

    今天用sqoop往hive导入数据的时候,执行报错,错误信息为: java.lang.NoSuchMethodError:com.fasterxml.jackson.databind.ObjectMa ...