加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

使用深度学习检测疟疾

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

我们修复我们的图像尺寸、批量大小,和纪元,并编码我们的分类的类标签。TensorFlow 2.0 于 2019 年三月发布,这个练习是尝试它的完美理由。

  1. import tensorflow as tf
  2.  
  3. # Load the TensorBoard notebook extension (optional)
  4. %load_ext tensorboard.notebook
  5.  
  6. tf.random.set_seed(42)
  7. tf.__version__
  8.  
  9. # Output
  10. '2.0.0-alpha0'

深度学习训练

在模型训练阶段,我们将构建三个深度训练模型,使用我们的训练集训练,使用验证数据比较它们的性能。然后,我们保存这些模型并在之后的模型评估阶段使用它们。

模型 1:从头开始的 CNN

我们的第一个疟疾检测模型将从头开始构建和训练一个基础的 CNN。首先,让我们定义我们的模型架构,

  1. inp = tf.keras.layers.Input(shape=INPUT_SHAPE)
  2.  
  3. conv1 = tf.keras.layers.Conv2D(32, kernel_size=(3, 3),
  4. activation='relu', padding='same')(inp)
  5. pool1 = tf.keras.layers.MaxPooling2D(pool_size=(2, 2))(conv1)
  6. conv2 = tf.keras.layers.Conv2D(64, kernel_size=(3, 3),
  7. activation='relu', padding='same')(pool1)
  8. pool2 = tf.keras.layers.MaxPooling2D(pool_size=(2, 2))(conv2)
  9. conv3 = tf.keras.layers.Conv2D(128, kernel_size=(3, 3),
  10. activation='relu', padding='same')(pool2)
  11. pool3 = tf.keras.layers.MaxPooling2D(pool_size=(2, 2))(conv3)
  12.  
  13. flat = tf.keras.layers.Flatten()(pool3)
  14.  
  15. hidden1 = tf.keras.layers.Dense(512, activation='relu')(flat)
  16. drop1 = tf.keras.layers.Dropout(rate=0.3)(hidden1)
  17. hidden2 = tf.keras.layers.Dense(512, activation='relu')(drop1)
  18. drop2 = tf.keras.layers.Dropout(rate=0.3)(hidden2)
  19.  
  20. out = tf.keras.layers.Dense(1, activation='sigmoid')(drop2)
  21.  
  22. model = tf.keras.Model(inputs=inp, outputs=out)
  23. model.compile(optimizer='adam',
  24. loss='binary_crossentropy',
  25. metrics=['accuracy'])
  26. model.summary()
  27.  
  28.  
  29. # Output
  30. Model: "model"
  31. _________________________________________________________________
  32. Layer (type) Output Shape Param #
  33. =================================================================
  34. input_1 (InputLayer) [(None, 125, 125, 3)] 0
  35. _________________________________________________________________
  36. conv2d (Conv2D) (None, 125, 125, 32) 896
  37. _________________________________________________________________
  38. max_pooling2d (MaxPooling2D) (None, 62, 62, 32) 0
  39. _________________________________________________________________
  40. conv2d_1 (Conv2D) (None, 62, 62, 64) 18496
  41. _________________________________________________________________
  42. ...
  43. ...
  44. _________________________________________________________________
  45. dense_1 (Dense) (None, 512) 262656
  46. _________________________________________________________________
  47. dropout_1 (Dropout) (None, 512) 0
  48. _________________________________________________________________
  49. dense_2 (Dense) (None, 1) 513
  50. =================================================================
  51. Total params: 15,102,529
  52. Trainable params: 15,102,529
  53. Non-trainable params: 0
  54. _________________________________________________________________

(编辑:核心网)

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

热点阅读