Pythorch简易神经网络实验
easytorch的Python项目详细描述
EasyTorch是开始运行Pythorch实验的快速简便方法
作为一个博士生,我不能浪费时间在样板神经网络设置上,所以我开始了这种通用框架来快速运行实验。 由于我的研究集中在生物医学图像上,它包含了对图像处理有用的丰富实用程序。如果它对任何一个开始使用神经网络的人有用,我会非常高兴的。在
安装
- 从Pytorch official website安装最新的Pythorch和torchvision
- pip安装方便
Link to a full working example
Highlights
- 一个方便的神经网络实验框架。在
- 在新数据集上设置新实验的最小配置:
- 使用您选择的神经网络架构。在
- 创建一个指向data、ground truth和mask目录的python字典(数据规范.py). 在
- 自动k折叠交叉验证。在
- 自动记录/绘图和模型检查点。在
- 从事各种神经网络相关任务。在
- 支持GPU的指标,如精确度、召回率、f1、重叠和混淆矩阵,具有最大的GPU利用率。在
- 能够自动组合多个数据集,而不必从原始位置移动数据。在
示例用例如下:
importargparsefromeasytorch.utils.defaultargsimportapimportdataspecsasdspecfromeasytorchimportEasyTorchfromclassificationimportMyTrainer,MyDatasetap=argparse.ArgumentParser(parents=[ap],add_help=False)dataspecs=[dspec.DRIVE,dspec.STARE]runner=EasyTorch(ap,dataspecs)if__name__=="__main__":runner.run(MyDataset,MyTrainer)runner.run_pooled(MyDataset,MyTrainer)
默认参数(可以扩展以添加自定义参数。请检查example)
- -nch/--num频道[3]
- 输入通道数
- -ncl/--num_类[2]
- 输出类数
- -b/--批处理大小[32]
- -e/--epochs[51]
- -lr/--学习率[0.001]
- -gpus/--gpus[0,1]
- 要使用的GPU列表。例如[0],[1],[0,1]
- -pin/--pin内存[True]
- -nw/--num个工人[2]
- 数据加载的工作线程数,以便在加载小批量时cpu可以跟上GPU速度。在
- -p/--阶段[必需]
- 运行哪个阶段。可能的值是'train'和'test'。培训运行所有培训、验证和测试阶段。然而,测试阶段只运行测试阶段。在
- -data/--dataset\u dir[数据集]
- 数据集的基路径,其中包含data\u dir、labels、mask和split。在
- -lim/--负载限制
- 为调试目的指定要加载的数据集的限制。因为有时候我们想加载5到10张图片,在我们进行全面培训之前测试管道。在
- -log/--log_dir[net_logs]
- 保存结果的路径:绘图、模型检查点等。在
- -pt/--预训练的路径[无]
- 如果希望在除log_dir中的模型之外的任何其他模型上运行测试,则以前保存的最佳模型的完整路径。在
- -d/--调试[True]
- 启用/禁用调试。在
- -s/--seed[随机]
- 自定义种子以初始化模型。在
- -f/--force[错误]
- 如果为true,则重写现有的绘图和结果。在
- -r/--模型比例尺[1]
- 用于缩放模型呼吸的参数。在
- -sp/--加载稀疏[False]
- 在单个数据加载器中加载来自一个图像的所有数据,以便以后很容易组合成一个完整的图像。在
- -nf/--num_折叠[10]
- k-折叠交叉验证中的折叠数。在
培训+验证+测试
^{pr2}$只测试
* $python main.py -p test -nch 3 -e 3 -b 2 -sp True
参考文献
如果您发现它很有用:): @杂项{easytorch, 作者:{Khanal,aathis}, 标题{快速神经网络实验}, 年份={2020}, publisher={GitHub}, journal={GitHub repository}, url={https://github.com/sraashis/easytorch} }在
- 项目
标签: