深度学习工程模板

简介:

使用方式

下载工程

git clone https://github.com/SpikeKing/DL-Project-Template

创建和激活虚拟环境

 
virtualenv venv
source venv/bin/activate

安装Python依赖库

pip install -r requirements.txt

开发流程

 ●  定义自己的数据加载类,继承DataLoaderBase;
 ●  定义自己的网络结构类,继承ModelBase;
 ●  定义自己的模型训练类,继承TrainerBase;
 ●  定义自己的样本预测类,继承InferBase;
 ●  定义自己的配置文件,写入实验的相关参数;

执行训练模型和预测样本操作。

示例工程

识别MNIST库中手写数字,工程simple_mnist

训练:

python main_train.py -c configs/simple_mnist_config.json

预测:

 
python main_test.py -c configs/simple_mnist_config.json -m simple_m
nist.weights.10-0.24.hdf5
32682a479b70136475412d763cd098fb689ca2bf

TensorBoard

3bfa22c484a6c6d00c2d8da9dd642d59210ceb6a

工程架构

e0032d645ac4a8a3dc56abfb58def0b4530056f9

主要组件

DataLoader

操作步骤:

 ●  创建自己的加载数据类,继承DataLoaderBase基类;
 ●  覆写 get_train_data() get_test_data() ,返回训练和测试数据;

Model

操作步骤:

 ●  创建自己的网络结构类,继承ModelBase基类;
 ●  覆写 build_model() ,创建网络结构;
 ●  在构造器中,调用 build_model()

注意:plot_model()支持绘制网络结构;

Trainer

操作步骤:

 ●  创建自己的训练类,继承TrainerBase基类;
 ●  参数:网络结构model、训练数据data;
 ●  覆写 train() ,fit数据,训练网络结构;

注意:支持在训练中调用callbacks,额外添加模型存储、TensorBoard、FPR度量等。

Infer

操作步骤:

 ●  创建自己的预测类,继承InferBase基类;
 ●  覆写 load_model() ,提供模型加载功能;

 ●  覆写predict(),提供样本预测功能;

Config

定义在模型训练过程中所需的参数,JSON格式,支持:学习率、Epoch、Batch等参数。

Main

训练:

 ●  创建配置文件config;
 ●  创建数据加载类dataloader;
 ●  创建网络结构类model;
 ●  创建训练类trainer,参数是训练和测试数据、模型;
 ●  执行训练类trainer的train();

预测:

 ●  创建配置文件config;
 ●  处理预测样本test;
 ●  创建预测类infer;

 ●  执行预测类infer的predict();


原文发布时间为:2018-10-24

本文来自云栖社区合作伙伴“大数据挖掘DT机器学习”,了解相关信息可以关注“大数据挖掘DT机器学习”。

相关文章
|
3月前
|
机器学习/深度学习 传感器 监控
深度学习在交通运输工程的应用
深度学习在交通运输工程的应用
31 0
|
11月前
|
机器学习/深度学习 算法 数据挖掘
深度学习实战(五):通过scikit-learn模板两步构建自己的机器学习模型
 常见的问题类型只有三种:分类、回归、聚类。而明确具体问题对应的类型也很简单。比如,如果你需要通过输入数据得到一个类别变量,那就是分类问题。分成两类就是二分类问题,分成两类以上就是多分类问题。常见的有:判别一个邮件是否是垃圾邮件、根据图片分辩图片里的是猫还是狗等等。
160 0
|
机器学习/深度学习 人工智能 算法
Interview:机器学习算法工程师求职九大必备技能之【数学基础、工程能力、特征工程、模型评估、优化算法、机器学习基本概念、经典机器学习模型、深度学习模型、业务与应用】(建议收藏,持续更新)
Interview:机器学习算法工程师求职九大必备技能之【数学基础、工程能力、特征工程、模型评估、优化算法、机器学习基本概念、经典机器学习模型、深度学习模型、业务与应用】(建议收藏,持续更新)
Interview:机器学习算法工程师求职九大必备技能之【数学基础、工程能力、特征工程、模型评估、优化算法、机器学习基本概念、经典机器学习模型、深度学习模型、业务与应用】(建议收藏,持续更新)
|
机器学习/深度学习 人工智能 算法
广告深度学习计算:召回算法和工程协同优化的若干经验(二)
广告深度学习计算:召回算法和工程协同优化的若干经验(二)
401 0
广告深度学习计算:召回算法和工程协同优化的若干经验(二)
|
机器学习/深度学习 缓存 人工智能
广告深度学习计算:召回算法和工程协同优化的若干经验(一)
广告深度学习计算:召回算法和工程协同优化的若干经验(一)
400 0
广告深度学习计算:召回算法和工程协同优化的若干经验(一)
|
机器学习/深度学习 传感器 自然语言处理
Nat. Commun. | 序列到功能的深度学习框架加速工程核糖调节剂设计和优化
Nat. Commun. | 序列到功能的深度学习框架加速工程核糖调节剂设计和优化
141 0
Nat. Commun. | 序列到功能的深度学习框架加速工程核糖调节剂设计和优化
|
机器学习/深度学习 数据挖掘
利用深度学习网络自动给图像上色的文章和相关工程实现
利用深度学习网络自动给图像上色的文章和相关工程实现    1. Let there be Color!: Joint End-to-end Learning of Global and Local Image Priors for Automatic Image Colorization wit...
1160 0
|
2天前
|
机器学习/深度学习 数据采集 自动驾驶
基于深度学习的图像识别技术在自动驾驶系统中的应用
【4月更文挑战第21天】 本文章深入探讨了深度学习技术在自动驾驶车辆图像识别领域的应用。不同于传统的摘要方式,本文将直接点出研究的核心价值和实际应用成果。我们专注于卷积神经网络(CNN)的创新设计,其在复杂道路场景下的行人和障碍物检测中的高效表现,以及这些技术如何整合到自动驾驶系统中以增强安全性和可靠性。通过实验验证,我们的模型在公开数据集上达到了行业领先水平的准确率,并且在真实世界的测试场景中展现了卓越的泛化能力。