scikitsurgerytf是一个用于张量流示例和实用程序的Python包

scikit-surgerytf的Python项目详细描述


LogoGitHub Actions CI statusTest coverageDocumentation Status

作者:马特·克拉克森

scikit surgerytf是SNAPPY软件项目的一部分,在Wellcome EPSRC Centre for Interventional and Surgical Sciences开发,University College London (UCL)的一部分。在

scikit surgerytf支持python3.6+和tensorflow>;=2.0.0。在

scikit surgerytf的目的是为各种张量流示例和 实用程序并展示最佳实践。它不应该是张量流上的一层 或者提供一种新的平台。目的是让研究人员从中学习, 重要的是,学习如何提供一个可以被其他人使用的算法 开箱即用,只需一个`pip install`,而不是新用户必须 重新实现一些东西,或者努力让别人的代码运行。研究人员 可以将他们的研究提交到这个存储库,或者使用PythonTemplate来 生成他们自己的项目作为他们新的世界一流算法的家!在

特点

此处的每个项目应提供以下内容:

  • 通过pylint的代码。在
  • 单元测试,视情况而定。很可能,测试将涵盖单个功能,而不是大型培训周期。在
  • 足够的日志记录,包括日期、时间、软件(git)版本、运行时文件夹、计算机名。在
  • 一个主类,包含一个可以在列车/测试模式下单独运行的网络。在
  • 张量板视觉化。在
  • 在训练结束时节省学习的网络权重。在
  • 加载预训练重量,初始化网络以备推断。在
  • 能够通过python脚本(而不是bash)重复运行以进行超参数调整。在
  • 能够从Jupyter笔记本中调用的能力,因此可以接受每周的书面报告以供监督。在
  • 一个或多个可pip安装的命令行程序,使后续用户能够使用几乎为零的faff来训练和测试您的算法。在
  • 用于调试目的的可视化,如打印示例图像缩略图等,应在Jupyter笔记本或tensorboard中完成,而不是在与算法相同的类中。在

可选功能包括:

  • 快速训练完成的小型测试项目不需要检查点,但大型项目需要检查点。在

网络

  • 在sksurgeryfashion.py:通常的时尚主义者的例子,为了学习的目的。在
  • 在sk手术rgbunet.py:RGBUNet示例。在

使用

典型使用说明:

首先创建一个干净的python环境,只需安装tox:

# Create a clean conda environment
conda create -n myenv python=3.6
conda activate myenv
pip install tox

然后获得代码,并使用tox安装所有其他依赖项:

^{pr2}$

然后,您可以激活tox创建的virtualenv,并直接从根文件夹运行顶级入口点:

source .tox/py36/bin/activate
python sksurgeryrgbunet.py --help

Windows用户将运行:

.tox\py36\Scripts\activate
python sksurgeryrgbunet.py --help

例如,运行外科手术室对一些数据进行编程和培训,您可以:

python sksurgeryrgbunet.py -d DATA -w working_dir -s output.hdf5

其中DATA是一个目录,如:

DATA/P1/masks
DATA/P1/images
DATA/P2/masks
DATA/P2/images
.
.
DATA/PN/masks
DATA/PN/images

而P1,P2..PN只是代表一些病人的标识符。图像和面具,虽然不同 文件夹,必须具有相同的名称。在

发展中

克隆

可以使用以下命令克隆存储库:

git clone https://github.com/UCL/scikit-surgerytf

运行测试

Pytest用于运行单元测试,但应该使用tox运行, 按照PythonTemplate说明。在

振动

本规范符合PEP8标准。Pylint用于分析代码。 同样,遵循PythonTemplate指令并通过tox运行。在

安装

您可以直接从存储库进行pip安装,如下所示:

pip install git+https://github.com/UCL/scikit-surgerytf

贡献

请参阅contributing guidelines。在

致谢

WellcomeEPSRC支持。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Hibernate:合并并删除,而不是从数据库中删除实体对象   java如何在WebFilter中有条件地从Mono返回?   java调用mysql c3p0函数   可执行jar Java jar文件加载错误:无法找到或加载主类。类导致的错误:java。lang.ClassNotFoundException:某些东西。班   java如何减少/更改爬网后的延迟?   从其他语言(如Java、PHP、Perl、Python等)调用C/C++代码的最佳方式是什么?   java如何模拟影响对象的void返回方法   当我试图在ubuntu上启动JavaScala时,它抛出了一个异常   java如何正确输出游戏   理解java和C++背景下的JavaScript原型   oracle如何将Java函数转换为postgresql函数   多线程为什么我的java服务器程序在超时后不退出?   java如何使listView中的按钮在单击时工作?   试图将这个嵌套的java forloop转换为python,但我不知道如何转换。有没有一种方法可以像这样为循环执行if语句?   java幂函数在计算器中的应用   如何在java中滚动浏览mysql数据库   在Spring Boot应用程序的JUnit测试中,java没有符合自动连线JPA存储库要求的bean   java如何使用扩展类的JPanel对象?