matlab2019a中深度学习网络的训练方法(Deep Learning Toolbox系列篇7)
在matlab2019a中,有一个trainNetwork的函数,可以直接对一个自己构建的深度学习网络模型及数据集进行训练拟合,下面讲一下具体的网络构建语法、数据集输入以及网络超参数的设定等问题。
在官方的介绍文档里面,trainNetwork函数可以用来训练卷积神经网络,LSTM网络,BiLSTM网络,并用以分类或者回归类问题,您可以选择CPU或者GPU的方式进行训练,并行的训练方式要求勾选了matlab中的Parallel Computing Toolbox™。若使用GPU的话,需要配置可用的CUDA以及具备可用的NVIDIA GPU的硬件,且指定训练的一些超参数,需要用到
trainingOptions的方式设定。
1. trainNetwork函数的语法
trainedNet = trainNetwork(imds,layers,options)
trainedNet = trainNetwork(ds,layers,options)
trainedNet = trainNetwork(X,Y,layers,options)
trainedNet = trainNetwork(sequences,Y,layers,options)
trainedNet = trainNetwork(tbl,layers,options)
trainedNet = trainNetwork(tbl,responseName,layers,options)
[trainedNet,traininfo] = trainNetwork(___)
接下来对上述trainNetwork函数的相关描述。
1) trainedNet = trainNetwork(imds,layers,options)
用途:训练一个用以图像分类问题的网络;
参数说明:imds是输入的图像数据;layers为定义的网络架构;options为定义的超参数。
2)trainedNet = trainNetwork(ds,layers,options)
用途: 使用数据存储区ds的网络,它返回两列table或两列cell中的读取数据。且这两列分别存储了网络输入以及网络期望的输出。
其余参数同上。
3)trainedNet = trainNetwork(X,Y,layers,options)
用途:可用于回归或分类问题,训练网络中最常用的使用方式。
参数说明:X包含预测变量,Y包含分类标签或数字响应。
4)trainedNet = trainNetwork(sequences,Y,layers,options)
用途: 训练LSTM或BiLSTM网络以进行分类和回归问题。
参数说明: sequence是包含序列或时间序列预测变量的单元格数组,Y包含响应。 对于分类问题,Y是分类向量或分类序列的单元阵列。 对于回归问题,Y是目标矩阵或数字序列的单元数组。
5)trainedNet = trainNetwork(tbl,layers,options)
用途:训练网络进行分类和回归问题。
参数说明:tbl包含数据的数字数据或文件路径。 预测变量必须位于tbl的第一列。 有关目标或响应变量的信息,请参阅tbl。
6)trainedNet = trainNetwork(tbl,responseName,layers,options)
用途:训练网络进行分类和回归问题。 预测变量必须位于tbl的第一列。
参数说明:responseName参数指定tbl中的响应变量。
7)[trainedNet,traininfo] = trainNetwork(___)
使用先前语法中的任何输入参数返回有关训练的信息。
2. 源码示例
未完待续
- 深度学习DeepLearning.ai系列课程学习总结:2. 神经网络基础
- 深度学习DeepLearning.ai系列课程学习总结:3. Python矢量化实现神经网络
- Coursera deeplearning.ai 深度学习笔记2-1-Practical aspects of deep learning-神经网络实际问题分析(初始化&正则化&训练效率)与代码实现
- 深度学习DeepLearning.ai系列课程学习总结:8. 多层神经网络代码实战
- 深度学习DeepLearning.ai系列课程学习总结:5. 浅层神经网络
- [深度学习] RCNNs系列(1) Ubuntu下Faster RCNN配置及训练和测试自己的数据方法
- linux黑屏重启 caffe 训练深度学习网络crfasrnn deeplab
- [DeeplearningAI笔记]改善深层神经网络_深度学习的实用层面1.9_归一化normalization
- Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.1
- [DeeplearningAI笔记]改善深层神经网络_深度学习的实用层面1.10_1.12/梯度消失/梯度爆炸/权重初始化
- 深度学习DeepLearning.ai系列课程学习总结:10. 初始化、正则化、梯度检查实战
- Spark MLlib Deep Learning Neural Net(深度学习-神经网络)1.3
- [DeeplearningAI笔记]神经网络与深度学习2.11_2.16神经网络基础(向量化)
- [DeeplearningAI笔记]改善深层神经网络1.4_1.8深度学习实用层面_正则化Regularization与改善过拟合
- DeepLearning.ai code笔记1:神经网络与深度学习
- 深度学习-深度信念(置信)网络(DBN)-从原理到实现(DeepLearnToolBox)
- Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.3
- Spark MLlib Deep Learning Deep Belief Network (深度学习-深度信念网络)2.1
- 开始学习深度学习和循环神经网络Some starting points for deep learning and RNNs
- [深度学习]Deep Residual Learning for Image Recognition(ResNet,残差网络)阅读笔记