Giter VIP home page Giter VIP logo

order-sales-forecast's Introduction

[TOC]

快速运行代码

方式1(推荐)

在命令行终端中跳转到项目根目录下,运行 run.sh

sh run.sh

脚本会运行命名为 level1_order.py 的 Python 文件,并将终端输出打印到日志文件 logs/level1_order.log,具体输出内容 见相应的日志文件。

方式2

在命令行终端中跳转到项目根目录下,直接运行 level1_order.py 文件:

python -c configs/level1_config.json level1_order.py

其中,level1_config.json 文件中包含运行所需要的配置参数。

备注:在运行时,必须指定配置文件的路径!

代码结构说明

将代码按照功能进行划分,主要分为 6 个部分,分别为数据加载类(DataLoader)、模型类(Model)、日志类(Logger)、训练类(Trainer)、预测/推理类(Infer)以及结果写入类(ResultWriter),它们之间的层级关系如下图所示,

图 1:代码框架图

具体地,模型类主要用于搭建深度学习的模型图(graph),对于传统的机器学习算法,则不需要创建模型类;训练类用于调试模型的参数,并根据结果对模型进行调整,最终输出调试好的模型;预测/推理类则用于加载保存的模型并进行预测;其他的类,诸如数据加载类日志类以及结果写入类,见名知义。

对应的目录结构如下所示,

.
├── LICENSE
├── README.md
├── figs (图片)
├── configs (配置文件)
├── base (基类)
├── data_loader (数据加载类)
├── model (模型类,暂无)
├── trainer (训练类,暂无)
├── infer (推理类)
└── util (日志类和实用工具)

如何进行代码开发

步骤0.1:请注意自己的代码规范!!!

步骤0.2:请注意自己的代码规范!!!

步骤0.3:请注意自己的代码规范!!!

  • 步骤1:继承**数据加载基类**(BaseDataLoader),并开发自定义的数据加载方法

  • 步骤2(可选):如果需要使用 TensorFlow 或者 Keras 构建深度学习模型,继承**模型基类**(BaseModel),然后在 build_model 方法下搭建自己的计算图

  • 步骤3(可选):继承**模型训练基类**(BaseTrainer),并开发相应的方法

  • 步骤4:继承**模型预测基类**(BaseInfer),并开发相应的预测方法

  • 步骤5:继承**结果写入基类**(BaseResultWriter),并开发相应的写入方法

TODO

  • 添加 Logger
  • 添加 ResultWriter
  • 开发阶段二预测模型

更新日志

  • 2019/04/10,完成项目代码结构调整
  • 2019/03/22,完成阶段一的代码开发

order-sales-forecast's People

Contributors

genpeng avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.