梳理一下Pytorch项目的基本结构(其实TF的也差不多是这样,这种思路可以迁移到别的深度学习框架中)

结构树

-------checkpoints #存放训练完成的模型文件

​ ----xxx.pkl #模型文件

--------data #存放数据文件(如txt)或者数据预处理文件

​ ---__ init __.py

​ ---xxx.txt #数据

​ ---dataset.py #数据集相关

​ ---get_data.sh #一般用于下载某些数据

--------models #存放模型,一般一个模型对应一个.py文件

​ ---__ init __.py

​ ---xxxNet.py

​ ---xxxModel.py

--------utils #存放一些工具函数,如可视化等

​ ---__ init __.py

​ ---visualize.py

--------config.py #配置文件

--------train.py #用于训练模型,可视为主文件

--------test.py #用于测试模型

流程

1、获取数据

使用.sh文件下载或者其他方法获得数据

2、数据载入

一般会有一个文件把数据处理成适合的格式,然后通过加载器(Dataloader)载入模型中使用,这个Dataloader可能是独立的,也可能集成在train.py里面

3、训练

顾名思义,使用载入的数据对定义的模型进行训练。这个过程基本上是使用train.py进行,结果是你会得到一个.pkl结尾的模型文件

4、测试

用一部分数据对训练好的模型进行测试(这些数据可以来自之前导入的数据,也可以是新的数据),使用test.py进行,调用损失函数,打印日志(就是你看到的那些在console里刷新的log)

5、使用模型

就是调用即可,先给出我们存放模型的位置,然后加载即可(没有实操,后续再更新)

注:

  • 模型.py文件中,一般是用一个函数或者一个类来承载一个具体模型,其中定义着模型的不同层
  • train.py是工程的核心,里面定义了训练时需要的各项参数、训练次数等重要信息

最新文章

  1. 开源 iOS 项目分类索引大全 - 待整理
  2. 安装 log.io 实时监控 php_error 日志
  3. 摆脱jquery,用自己的JS库实现ajax功能
  4. ACM: SCU 4438 Censor - KMP
  5. Ubuntu系统操作快捷键
  6. Hadoop 在windows 上伪分布式的安装过程
  7. 【flash】关于flash的制作透明gif的一个小技巧
  8. 简单C#文字转语音
  9. 菜鸟教程工具(三)——Maven自己主动部署Tomcat
  10. key-value存储数据库--Redis
  11. java~springboot~目录索引
  12. 数据库交互之减少IO次数
  13. 使用ElasticSearch全文检索以及集群部署
  14. Jsの练习-数组其他常用方法 -map() ,filter() ,every() ,some()
  15. 自己动手开发智能聊天机器人完全指南(附python完整源码)
  16. MySQL5.7 查询用户,配置IP限制
  17. 学习JS的心路历程-函式(一)
  18. Ajax返回乱码
  19. PHP环境的搭建及与nginx的集成
  20. [svc][op]LVS+keepalived

热门文章

  1. Java学习之jackson篇
  2. Codeforces Round #704 (Div. 2)
  3. 详解Redis中两种持久化机制RDB和AOF
  4. [拒绝Visual Studio] 团队博客目录
  5. Linux创建RAID10_实战
  6. 005.Python条件if语句
  7. redis 处理缓存击穿以及缓存雪崩
  8. 元素定位工具ChroPath - Chrome浏览器插件
  9. C# MVC(File)控件多张图片上传加预览
  10. ZooKeeper学习笔记四:使用ZooKeeper实现一个简单的分布式锁