使用Pythorch设置和训练深网。固执己见和简单。
simplepytorch的Python项目详细描述
配置和训练深度前馈Pythorch模型 细节已经或部分实现。在
免责声明:目前,此回购用于我的研究。 新版本不一定向后兼容。API是 如有更改,恕不另行通知。如果你碰巧在你的 研究或工作,确保要求.txt固定版本 或者引用你使用的具体承诺,这样你就不会遭受不必要的损失 惊喜。在
动机和有用特征:
- Clarity:许多研究使用Pythorch混合单调的锅炉板 代码(比如argparse配置,标准训练循环代码, 你的工作贡献 方法、模式或培训方式)。从设计上讲,这种回购试图强制 作为一个程序员,您可以更好地将标准PyTorch代码与 你的研究贡献。在
- Simplicity来自命令行:所有关键参数都应该 在命令行上自动公开。此库转换所有 模型配置类中的公共类变量 命令行参数列表。这使得可重复性和 高度可配置的实验。在
- reproductability:日志基础设施组织所有结果, 特定实验的日志和模型检查点,由 run_id到一个专用目录中。模型的所有配置 可以在命令行中定义。在
- 轻松入门:可能会有一个令人眼花缭乱的小数组 训练Pythorch模型时要实现的细节。忘了这些 细节往往会导致错误和实验的缺失或不正确 结果。库(特别是前馈类)提供了一个 简单的配方和要实现的函数列表。在
- Datasets:PyTorch数据集实现,用于 研究。主要是视网膜眼底图像数据集。你必须下载 然后自己打开数据集。下载链接通常位于 类docstring。在
安装
pip install --upgrade simplepytorch
快速入门
准备工作:获取数据集并建立项目。
^{pr2}$从命令行训练模型并获得结果
#
# train the model from command-line
#
simplepytorch ./examples/ -h
simplepytorch ./examples/ LetsTrainSomething -h
simplepytorch ./examples/ LetsTrainSomething --run-id experimentA --epochs 3
# alternative command-line ways to start code
run_id=experimentB epochs=3 simplepytorch ./examples/ LetsTrainSomething
simplepytorch ./examples/my_feedforward_model_config.py LetsTrainSomething
# --> debug your model with IPython
simplepytorch_debug ./examples/ LetsTrainSomething --run-id experimentA --epochs a
# --> now you can type %debug to drop into a PDB debugger. Move around by typing `up` and `down`
# check the results
ls ./data/results/experimentA
tail -f ./data/results/experimentA/perf.csv
# --> plot results for all experiments matching a regex
simplepytorch_plot 'experiment.*' --ns
通过SimpleByTorch API进行编程访问:
import examples
import simplepytorch.api as api
cfg = api.load_model_config(examples.LetsTrainSomething, '--epochs 1')
cfg.train()
开发自己的Pythorch代码
检查examples目录中的简单入门模板。你呢 可以训练模型以在中的RITE数据集上执行血管分段 大约70行代码。在
下一步,您可以复制examples目录,将其重命名为
不管你的项目名称是什么,从那里开始。你会发现
在examples/my_feedforward_model_config.py
中提到
这个api.前馈类通常列出所需的所有内容。假设
如果您想使用前馈类,只需实现或重写其
方法。如果有不明显或不清楚的地方,创建GitHub问题。我
我会尽我所能支持你。在
数据集:
该库为数据集提供Pythorch数据集实现 没有已经存在的Pythorch实现。在
要使用预定义的数据集类,必须下载数据并 你自己打开。有关用法的详细信息,请参阅数据集类docstring。在
import simplepytorch.datasets as D
dset = D.RITE(use_train_set=True)
dset[0]
例如,我使用的一些下载数据集具有以下结构:
$ ls data/{arsn_qualdr,eyepacs,messidor,IDRiD_segmentation,RITE}
data/IDRiD_segmentation:
'1. Original Images' '2. All Segmentation Groundtruths' CC-BY-4.0.txt LICENSE.txt
data/RITE:
AV_groundTruth.zip introduction.txt read_me.txt test training
data/arsn_qualdr:
README.md annotations annotations.zip imgs1 imgs1.zip imgs2 imgs2.zip
data/eyepacs:
README.md test test.zip.003 test.zip.006 train.zip.001 train.zip.004
sample.zip test.zip.001 test.zip.004 test.zip.007 train.zip.002 train.zip.005
sampleSubmission.csv.zip test.zip.002 test.zip.005 train train.zip.003 trainLabels.csv.zip
data/messidor:
Annotation_Base11.csv Annotation_Base21.csv Annotation_Base31.csv Base11 Base21 Base31
Annotation_Base12.csv Annotation_Base22.csv Annotation_Base32.csv Base12 Base22 Base32
Annotation_Base13.csv Annotation_Base23.csv Annotation_Base33.csv Base13 Base23 Base33
Annotation_Base14.csv Annotation_Base24.csv Annotation_Base34.csv Base14 Base24 Base34
- 项目
标签: