我正在开发Keras环境以训练DL模型,并且正在努力确定项目的文件结构。
当前看起来像这样:
.
├── build_model.py
├── ctalearn
│ ├── data
│ │ ├── data_loading.py
│ │ ├── data_processing.py
│ │ ├── image_mapping.py
│ │ ├── __init__.py
│ │ └── pixel_pos_files
│ │ ├── FACT_pos.npy
│ │ ├── HESS-II_pos.npy
│ │ ├── HESS-I_pos.npy
│ │ ├── LST_pos.npy
│ │ ├── MSTF_pos.npy
│ │ ├── MSTN_pos.npy
│ │ ├── MSTS_pos.npy
│ │ ├── SST1_pos.npy
│ │ ├── SSTA_pos.npy
│ │ └── SSTC_pos.npy
│ ├── __init__.py
│ ├── predict.py
│ ├── train.py
│ └── utils.py
├── example_model_schematics.yaml
├── example_train_config.yaml
├── models
│ ├── build_cnn_rnn.py
│ └── cnn_rnn.yml
├── setup.py
└── test.py
train.py
和predict.py
是主要脚本。他们采用了以.yml
格式存储的模型体系结构和以.yml
格式存储的配置文件的路径,并运行了东西。
data_loading.py
是Sequence
对象的工厂,这些对象被馈送到model.fit_generator()
/管理器以访问实际数据文件(位于项目结构外部)。
data
文件夹的其余部分是工厂的帮助程序类。
Keras体系结构目前是由.yaml
原理图通过脚本build_model.py
或临时脚本(例如build_cnn_rnn.py
)构建的,并以.yml
格式存储,由train.py
或predict.py
加载,然后编译并提供给数据生成器。
我的结构合理吗?
我应该把build_model.py
放在哪里?
我应该分别使用train
和predict
脚本还是将它们混合在一起,让用户选择是否要通过config.yml
文件进行预测或训练?
应将模型路径指定为命令行参数还是config.yaml
文件中的选项?
是否应该删除内部文件夹中的__init__.py
?