设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 重新 试卷 文件
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

使用深度学习检测疟疾(5)

发布时间:2019-05-24 20:19 所属栏目:21 来源:Dipanjan (dj) Sarkar
导读:我们修复我们的图像尺寸、批量大小,和纪元,并编码我们的分类的类标签。TensorFlow 2.0 于 2019 年三月发布,这个练习是尝试它的完美理由。 import tensorflow as tf # Load the TensorBoard notebook extension (

我们修复我们的图像尺寸、批量大小,和纪元,并编码我们的分类的类标签。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. _________________________________________________________________

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读