基于Kaggle学习MONAI(一)例程代码详解1

1、简介

        今天主要解析MONAI中第一个例程:Medical Image Classification Tutorial with the MedNIST Dataset。MedNIST是从  TCIAthe RSNA Bone Age Challenge, and the NIH Chest X-ray dataset 收集和整理的数据集(Dr. Bradley J. Erickson M.D., Ph.D)。因为图像分辨率低、所需计算资源少,MdNIST非常适合作为初学者理解、掌握和评估人工智能算法的数据集。

2、代码详解

2.1 建立环境

        (1) 首先安装MONAI软件包:

!pip install monai  # 安装MONAI软件包

        (2)导入MONAI、matplotlib等软件包

#导入monai和matplotlib软件包,如果没有安装则安装这两个软件包
!python -c "import monai" || pip install -q "monai-weekly[pillow, tqdm]"
!python -c "import matplotlib" || pip install -q matplotlib
 #魔法命令,不用新建窗口,直接显示图形
%matplotlib inline

        初学者不用过于关心这段代码的细节,只要知道通过这三条语句可以确保安装了MONAI和matplotlib软件包并导入当前环境。

        (3)导入其他常用软件包及MONAI相关模块

import os # 用于目录及文件操作,常用指令有os.listdirs(),os.path.join(),os.path.exists()
import shutil # 比os权限更高,可以删除目录
import tempfile # 临时文件操作
import matplotlib.pyplot as plt #数据可视化操作
import PIL # 图像处理库
import torch # 一种深度学习框架
from torch.utils.tensorboard import SummaryWriter # 记录训练过程中的统计信息,用于可视化训练过程
import numpy as np # 一种常用的矩阵数值计算的库
from sklearn.metrics import classification_report # 一种经典的机器学习软件库skleran,生成模型指标报告

        初学者可以了解下:

        os、shutil和tempfile是用来处理目录和文件的,包括文件和目录的建立与删除;numpy是向量化数值计算库,可以加快向量运算;matplotlib.pyplot 可以显示图形和数据可视化;PIL是图像处理库;torch是深度学习框架,深度学习模型的建立、训练和评估都需要该处理框架;sklearn.metric 提供了评估分类效果的函数。

from monai.apps import download_and_extract # 下载和提取数据集
from monai.config import print_config # 显示monai的配置信息,可以根据需要安装选装模块
from monai.data import decollate_batch, DataLoader# decollate_batch:将批量数据拆成单独的数据;DataLoader数据加载器
from monai.metrics import ROCAUCMetric #ROC AUC指标
from monai.networks.nets import DenseNet121 # 稠密卷积网络,2017年优秀CVPR文章
from monai.transforms import ( # monai的预处理函数
    Activations,#激活函数
    EnsureChannelFirst,#确保数据通道在第一位,满足pytorch数据格式要求
    AsDiscrete,# 将数据转换为离散值
    Compose,# 通过compose得到变换的结果,
    LoadImage,# 装载图像
    RandFlip,# 随机翻转
    RandRotate,# 随机旋转
    RandZoom,# 随机放大
    ScaleIntensity,# 改变图像的灰度值
)
from monai.utils import set_determinism # 用来设定随机数状态

print_config() # 打印monai的配置信息

      monai提供了深度学习所涉及的数据加载、预处理、评估等一系列操作。

2.2 设置数据目录

        因为Kaggle的输出目录为:'/kaggle/working/',因此为了保证后续操作能够正常执行,可以把数据目录设置为'/kaggle/working/'。

root_dir = r'/kaggle/working/'# r字符串可以保证/不是转义字符,使得目录写法与真实状态一致

        不要忽略目录字符串前的字符r。

2.3 下载数据集

        通过以下代码,可以从数据集网站下载数据集压缩包,并解压到kaggle的当前目录。

resource = "https://github.com/Project-MONAI/MONAI-extra-test-data/releases/download/0.8.1/MedNIST.tar.gz"
md5 = "0bc7306e7427e00ad1c5526a66
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值