加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

使用深度学习检测疟疾

发布时间:2019-05-25 06:42:32 所属栏目:优化 来源:Dipanjan (dj) Sarkar
导读:人工智能结合开源硬件工具能够提升严重传染病疟疾的诊断。 人工智能(AI)和开源工具、技术和框架是促进社会进步的强有力的结合。健康就是财富可能有点陈词滥调,但它却是非常准确的!在本篇文章,我们将测试 AI 是如何与低成本、有效、精确的开源深度学习

从整个输出可以明显看出,在我们的模型中我们有了很多层,我们将只利用 VGG-19 模型的冻结层作为特征提取器。你可以使用下列代码来验证我们的模型有多少层是实际可训练的,以及我们的网络中总共存在多少层。

  1. print("Total Layers:", len(model.layers))
  2. print("Total trainable layers:",
  3. sum([1 for l in model.layers if l.trainable]))
  4.  
  5. # Output
  6. Total Layers: 28
  7. Total trainable layers: 6

我们将使用和我们之前的模型相似的配置和回调来训练我们的模型。参考我的 GitHub 仓库以获取训练模型的完整代码。我们观察下列图表,以显示模型精确度和损失曲线。

使用深度学习检测疟疾

冻结的预训练的 CNN 的学习曲线

这表明我们的模型没有像我们的基础 CNN 模型那样过拟合,但是性能有点不如我们的基础的 CNN 模型。让我们保存这个模型,以备将来的评估。

  1. model.save('vgg_frozen.h5')

模型 3:使用图像增强来微调预训练的模型

在我们的最后一个模型中,我们将在预定义好的 VGG-19 模型的最后两个块中微调层的位权。我们同样引入了图像增强的概念。图像增强背后的想法和其名字一样。我们从训练数据集中载入现有图像,并且应用转换操作,例如旋转、裁剪、转换、放大缩小等等,来产生新的、改变过的版本。由于这些随机转换,我们每次获取到的图像不一样。我们将应用 tf.keras 中的一个名为 ImageDataGenerator 的优秀工具来帮助构建图像增强器。

  1. train_datagen = tf.keras.preprocessing.image.ImageDataGenerator(rescale=1./255,
  2. zoom_range=0.05,
  3. rotation_range=25,
  4. width_shift_range=0.05,
  5. height_shift_range=0.05,
  6. shear_range=0.05, horizontal_flip=True,
  7. fill_mode='nearest')
  8.  
  9. val_datagen = tf.keras.preprocessing.image.ImageDataGenerator(rescale=1./255)
  10.  
  11. # build image augmentation generators
  12. train_generator = train_datagen.flow(train_data, train_labels_enc, batch_size=BATCH_SIZE, shuffle=True)
  13. val_generator = val_datagen.flow(val_data, val_labels_enc, batch_size=BATCH_SIZE, shuffle=False)

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读