pytorch项目经验

Pytorch项目经验

一些通用目录结构:

  • utils 目录:(utility functions)一般存放通用的文件,工具,例如 gpu.pydataset.pytools.py

  • tools 目录::类似 utils 目录,也存放辅助工具或组件,相较于 utils 工具更具针对性

  • config 目录:存放配置文件,**当训练需要设置的参数很多时,要习惯通过文件导入参数。**此时参数文件就可以存放在 config 目录中

  • local_config 目录:存放个人配置文件,用于客制化配置信息

  • weight/pretrained 目录:存放模型训练文件,训练好的模型参数等数据就保存在这个文件夹

  • model 目录:存放网络设计文件,例如将网络划分为特征提取,特征融合,预测等几个部分,这写部分就可以在 model 目录下再新建目录存放,例如 neck backbone head

  • data 目录:顾名思义存放训练数据,注意数据存放条理,不同数据分为几个文件夹下保存

  • eval/evaluation 目录:用于存放评估模型的各种指标的程序,例如评估模型的 AP 指标等

  • demo 目录:用于进行 inference(推理)操作,使用预训练好的模型进行前向传播

  • 最外面一般放置总的程序入口文件,通过这个入口逐级网上查看代码可以迅速理解整个项目的结果

  • 如果一个文件夹内程序需要调用另外一个同级或上级文件夹内的程序时,可以使用:

    1
    2
    3
    import sys
    sys.path.append("..")
    import config.YOLO_config.py as cfg

一些特殊的目录和文件:

Pycharm上传服务器训练

  • 配置项目解释器时,在设置里面选择添加解释器–SSH–现有的解释器,不要随便选择创建虚拟解释器!选择本地解释器
  • 数据集较大的时候,将数据集压缩再上传(这时候不要选择自动同步本地与服务器了),传递完成之后本地甚至不需要数据集
  • 想要上传或者下载目标文件夹或者文件时,只需要在左侧的目录树中对着相应的文件或文件夹右键,选择部署再选择上传还是下载即可
  • 在 Tools 中选择部署–浏览远程主机可以对远程服务器文件进行操作(或者在右侧工具栏中直接有一个选项是“远程主机”),选择对应的文件右键可以选择上传或者下载相应的文件,也可以直接操作远程服务器文件,例如将一个文件复制到另一个路径(右键点击的是哪个路径目录,而不是在那个路径里面点击