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

使用深度学习检测疟疾

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

基于这些代码的架构,我们的 CNN 模型有三个卷积和一个池化层,其后是两个致密层,以及用于正则化的失活。让我们训练我们的模型。

  1. import datetime
  2.  
  3. logdir = os.path.join('/home/dipanzan_sarkar/projects/tensorboard_logs',
  4. datetime.datetime.now().strftime("%Y%m%d-%H%M%S"))
  5. tensorboard_callback = tf.keras.callbacks.TensorBoard(logdir, histogram_freq=1)
  6. reduce_lr = tf.keras.callbacks.ReduceLROnPlateau(monitor='val_loss', factor=0.5,
  7. patience=2, min_lr=0.000001)
  8. callbacks = [reduce_lr, tensorboard_callback]
  9.  
  10. history = model.fit(x=train_imgs_scaled, y=train_labels_enc,
  11. batch_size=BATCH_SIZE,
  12. epochs=EPOCHS,
  13. validation_data=(val_imgs_scaled, val_labels_enc),
  14. callbacks=callbacks,
  15. verbose=1)
  16.  
  17. # Output
  18. Train on 17361 samples, validate on 1929 samples
  19. Epoch 1/25
  20. 17361/17361 [====] - 32s 2ms/sample - loss: 0.4373 - accuracy: 0.7814 - val_loss: 0.1834 - val_accuracy: 0.9393
  21. Epoch 2/25
  22. 17361/17361 [====] - 30s 2ms/sample - loss: 0.1725 - accuracy: 0.9434 - val_loss: 0.1567 - val_accuracy: 0.9513
  23. ...
  24. ...
  25. Epoch 24/25
  26. 17361/17361 [====] - 30s 2ms/sample - loss: 0.0036 - accuracy: 0.9993 - val_loss: 0.3693 - val_accuracy: 0.9565
  27. Epoch 25/25
  28. 17361/17361 [====] - 30s 2ms/sample - loss: 0.0034 - accuracy: 0.9994 - val_loss: 0.3699 - val_accuracy: 0.9559

我们获得了 95.6% 的验证精确率,这很好,尽管我们的模型看起来有些过拟合(通过查看我们的训练精确度,是 99.9%)。通过绘制训练和验证的精度和损失曲线,我们可以清楚地看到这一点。

  1. f, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 4))
  2. t = f.suptitle('Basic CNN Performance', fontsize=12)
  3. f.subplots_adjust(top=0.85, wspace=0.3)
  4.  
  5. max_epoch = len(history.history['accuracy'])+1
  6. epoch_list = list(range(1,max_epoch))
  7. ax1.plot(epoch_list, history.history['accuracy'], label='Train Accuracy')
  8. ax1.plot(epoch_list, history.history['val_accuracy'], label='Validation Accuracy')
  9. ax1.set_xticks(np.arange(1, max_epoch, 5))
  10. ax1.set_ylabel('Accuracy Value')
  11. ax1.set_xlabel('Epoch')
  12. ax1.set_title('Accuracy')
  13. l1 = ax1.legend(loc="best")
  14.  
  15. ax2.plot(epoch_list, history.history['loss'], label='Train Loss')
  16. ax2.plot(epoch_list, history.history['val_loss'], label='Validation Loss')
  17. ax2.set_xticks(np.arange(1, max_epoch, 5))
  18. ax2.set_ylabel('Loss Value')
  19. ax2.set_xlabel('Epoch')
  20. ax2.set_title('Loss')
  21. l2 = ax2.legend(loc="best")

使用深度学习检测疟疾

基础 CNN 学习曲线

(编辑:威海站长网)

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

热点阅读