Kaggle是一个举办机器学习竞赛、托管数据库、编写和分享代码的平台,除了丰富的人工智能应用案例和数据集之外,还提供免费的GPU资源,深受广大学生党的喜爱。MONAI(Medical Open Network for AI)是NVIDIA与伦敦国王学院(King’s College London)于联合推出的开源医学成像领域AI框架,具有功能强大的API,内嵌主流的深度学习模型,方便深度学习工程师复现最新算法效果、灵活搭建部署医学成像领域的人工智能应用。MONAI基于pytorch框架开发,专注医学影像领域的应用,进一步扩展了pytorch框架的应用领域。
MONAI官方例程是基于google colab,不能在kaggle上直接运行。下面介绍配置及运行的详细步骤,把MONAI的第一个例程:“Medical Image Classification Tutorial with the MedNIST Dataset”在Kaggle平台上运行起来。
1.下载MONAI例程:
通过MONAI官网进入例程的下载界面:https://github.com/Project-MONAI/tutorials/blob/main/2d_classification/mednist_tutorial.ipynb,下图中点击下载按钮,就可以mednist_tutorial.ipynb代码文件下载到电脑上。
2.导入kaggle平台
Kaggle平台也是基于jupyter notebook进行机器学习算法的开发与验证,可以直接导入.ipynb文件。通过点击File->Import Notebook,把上一步中下载到电脑上的mednist_tutorial.ipynb上传到kaggle平台中。具体步骤如下图所示,按照要求把文件拖拽到红框所示区域就可以了。
3. 代码修改
3.1 安装monai软件
因为kaggle默认环境中是没有MONAI的,需要在代码文件开始位置增加语句:!pip install monai,安装monai软件。如果安装成功,会显示如下图所示的信息。
3.2 更改临时目录
因为kaggle的工作目录为/kaggle/working/,算法的中间结果和最终输出只允许在该目录进行,所以原代码建立的临时MONAI目录是无效的,必须修改。如下所示的源代码需要注释掉。
directory = os.environ.get("MONAI_DATA_DIRECTORY")
directory = None
root_dir = tempfile.mkdtemp() if directory is None else directory
print(root_dir)
上述代码修改为:root_dir = r'/kaggle/working/'。
4. 运行例程代码
点击菜单上run -all键,可以运行例程代码,主要结果如下图所示:
图1 数据集随机显示图
图2 训练过程
图3 训练结果
图4 关键指标
5 总结
只做了一点小改动,就可以在Kaggle平台运行MONAI的例程,后面将会利用Kaggle的GPU资源深入学习、理解MONAI相关例程,为基于MONAI的医学影像应用开发打好基础。