scikitsurgerytf是一个用于张量流示例和实用程序的Python包
scikit-surgerytf的Python项目详细描述
作者:马特·克拉克森
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
贡献
许可和版权
复印机2019年伦敦大学学院。 scikit surgerytf是在Apache软件许可证2.0下发布的。有关详细信息,请参阅license file。在
- 项目
标签: