What is MURA?

MURA (musculoskeletal radiographs) is a large dataset of bone X-rays. Algorithms are tasked with determining whether an X-ray study is normal or abnormal.

这是斯坦福大学机器学习组的骨骼X光深度学习比赛(Bone X-Ray Deep Learning Competition),这是它的官网

数据集是七类人体部位的X光,分为normal和abnormal两种,需要训练一个模型,能够完成这样一个二分类的诊断任务。

Baseline是一个169层的DenseNet,我们用PyTorch实现了它。

答案的提交是通过CodaLab这个网站,官方给出了这样一个提交教程

Step 1:

创建一个新的WorkSheet。

Step 2:

复制一份虚拟的数据:

1
2
cl add bundle mura-utils//valid .
cl add bundle mura-utils//valid_image_paths.csv .

Step 3:

将你的代码和模型打包后上传,压缩成zip后上传,系统会自动解压。

这份伪造数据的路径保存在valid_image_paths.csv中,格式为:

1
MURA-v1.1/{valid,test}/<STUDYTYPE>/<PATIENT>/<STUDY>/<IMAGE>

你的程序需要能够输出一份对于每一个study的预测结果,形如:

1
MURA-v1.1/{valid,test}/<STUDYTYPE>/<PATIENT>/<STUDY>/,{0,1}

Step 4:

在伪造数据集上运行你预训练好的模型。这是他们 大专栏  在CodaLab上提交MURA竞赛的结果给出的运行命令:

1
cl run valid_image_paths.csv:valid_image_paths.csv MURA-v1.1:valid src:src "python src/<path-to-prediction-program> valid_image_paths.csv predictions.csv" -n run-predictions

这里需要用到docker,我在docker hub准备了一个docker镜像,sqpeng1996/mura2:v5,里面有python 3.6,pytorch, torchnet, sklearn等代码需要的库。

使用命令为:

1
cl run valid_image_paths.csv:valid_image_paths.csv MURA-v1.1:valid MURA:MURA "python3 MURA/main.py valid_images_paths.csv predictions.csv" -n run-predictions --request-docker-image sqpeng1996/mura2:v5 --request-cpus 4 --request-memory 32g

这里特别要注意的是需要多请求一些memory,(或者把batch size改为1),不然无法跑通。

如果这一步的state变成了ready,那就说明没问题了。然后执行:

1
cl make run-predictions/predictions.csv -n predictions-{MODELNAME}

MODELNAME不能包含空格,最好也避免特殊字符。

最后执行:

1
cl macro mura-utils/valid-eval-v1.1 predictions-{MODELNAME}

就能看到结果了(因为这里是伪造的数据,所以结果不重要)。

Step 5:

提交:

1
cl edit predictions-{MODELNAME} --tags mura-submit

predictions-{MODELNAME} bundle的 URL发邮件给 jirvin16@stanford.edu 就可以了。

在CodaLab上提交MURA竞赛的结果的更多相关文章

  1. 在Activiti官方源码上提交的两个bugfix

    前段时间在Activiti官方源码上提交了两个bugfix,截图为证. 第1个是BPMN model输出的bug:

  2. 在eclipse上提交任务到集群执行

    win7下eclipse远程开发hadoop程序,分为两种: (1)运行[Run As] Java Application, 打包程序为jar,上传集群执行(这里不做解释) (2)运行[Run As] ...

  3. 上传及更新代码到github(以及如何在vscode上提交自己的代码)

    上传本地代码 第一步:去github上创建自己的Repository,创建页面如下图所示: 红框为新建的仓库的https地址 第二步: echo "# Test" >> ...

  4. git向码云上提交项目

    git向码云上提交项目 设置账号名字和邮箱 $ git config --global user.name "注册时账号的名字" $ git config --global use ...

  5. 如何在github上提交pr

    如何在github上提交pr 1.fork开源的代码到自己的远程仓库 2.clone自己的仓库到本地电脑 3.与源代码的github仓库建立新的连接 git remote add upstream h ...

  6. from表单上提交的数据都去了哪里呢?

    from表单上提交的数据都去了哪里呢? 一个简单的from案例如下: <form> 姓名:<br> <input type="text" name=& ...

  7. 向github上提交自己的project

    参考博客:https://blog.csdn.net/m0_37725003/article/details/80904824 step I: 创建自己的github账户(username:fourm ...

  8. 修改Github上提交日志

    bash: git rebase -i HEAD~5:假定你要修改的日志位于当前版本(HEAD)的前4次提交中. vi: pick -> reword:在自动打开的vi编辑器中,上下选择你要修改 ...

  9. 【IntelliJ IDEA】idea上提交代码到GitHub,已经提交了 但是GitHub上却没有的解决办法

    摘要: 今天提交idea上的代码到GitHub,提交过程已经完成, 在版本控制的Log中可以看到,已经将这一部分都提交更新了    在版本控制的Local Changes中已经看不到提交过的代码了   ...

随机推荐

  1. Python 学习笔记:Python 中单引号(')、双引号(")、三引号(''',""")的使用以及不转义字符串

    一.单引号.双引号及三引号: 参考博客:https://www.cnblogs.com/chenhuan001/p/8006017.html 以上四种形式都是 Python 表示字符串的方式,具体的效 ...

  2. 吴裕雄--天生自然 PYTHON3开发学习:File(文件) 方法

    # 打开文件 fo = open("runoob.txt", "wb") print("文件名为: ", fo.name) # 关闭文件 f ...

  3. 黑马eesy_15 Vue:04.Vue案例(ssm环境搭建)

    黑马eesy_15 Vue:02.常用语法 黑马eesy_15 Vue:03.生命周期 黑马eesy_15 Vue:04.Vue案例(ssm环境搭建) 黑马eesy_15 Vue:04.综合案例(前端 ...

  4. HTTP1.0和HTTP1.1的一些区别

    HTTP1.0和HTTP1.1的一些区别 HTTP1.0最早在网页中使用是在1996年,那个时候只是使用一些较为简单的网页上和网络请求上,而HTTP1.1则在1999年才开始广泛应用于现在的各大浏览器 ...

  5. 分层结构与MVC模式

    一.分层结构1.所谓分层结构.把不同的功能代码封装成类,把相同功能的类封装在一个个的包中,也叫层.功能归类如下:实体类:封装数据,是数据的载体,在层与层之间进行传递,数据也就传递了.比如说要传递学生信 ...

  6. [LC] 322. Coin Change

    You are given coins of different denominations and a total amount of money amount. Write a function ...

  7. Mock测试,何去何从

    2016-10-24   出处:Qtest之道  作/译者:闫耀珍   上面的情景是不是似曾相识呢?现今的业务系统已经很少是孤立存在的了,尤其对于一个大公司而言,各个部门之间的配合非常密切,我们或多或 ...

  8. iOS 仿看了吗应用、指南针测网速等常用工具、自定义弹出视图框架、图片裁剪、内容扩展等源码

    iOS精选源码 扩展内容的cell - folding-cell 一个近乎完整的可识别中国身份证信息的Demo 可自动快速... JPImageresizerView 仿微信的图片裁剪 带年月和至今以 ...

  9. 70)PHP,cookie的安全传输和HTTPonly

    (1)是否仅安全传输:

  10. 使用这些高效Java工具类享受开发乐趣

    使用这些高效Java工具类享受开发乐趣导语在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.在开发中,使用这些工具类,不仅可以提高编码效率,还可以提高 ...