火车
火车浅神经网络
语法
描述
这个函数火车浅神经网络。与卷积或LSTM深度学习神经网络,看到的trainNetwork
代替。
例子
火车和情节网络
在这里输入x
和目标t
定义一个简单的函数,你可以画出:
x = [0 1 2 3 4 5 6 7 8];t = [0 0.84 0.91 0.14 - -0.77 -0.96 - -0.28 0.66 - 0.99);情节(x, t,“o”)
在这里feedforwardnet
创建了一个两层的前馈网络。网络有一个隐藏层和十个神经元。
网= feedforwardnet (10);网=配置(净,x, t);日元=净(x)情节(x, t,“o”,x, y₁,“x”)
网络训练然后resimulated。
网=火车(净,x, t);y2 =净(x)情节(x, t,“o”,x, y₁,“x”,x, y2,‘*’)
火车NARX时间序列网络
这个例子火车开环nonlinear-autoregressive网络与外部输入、模型悬浮磁铁系统由控制电流定义x
和磁铁的垂直位置响应t
,然后模拟了网络。这个函数preparets
之前准备数据训练和仿真。它创造了开环网络的输入相结合xo
同时,它包含外部输入x
和以前的值的位置t
。它还准备延迟的状态习
。
[x, t] = maglev_dataset;网= narxnet (10);[xo, xi, ~,] = preparets(净,x, {}, t);网=火车(净,xo,ξ);y =净(xo, xi)
这个系统也可以模拟闭环形式。
netc = closeloop(净);视图(netc) (xcξ,人工智能,tc) = preparets (netc, x, {}, t);yc = netc (xcξ,ai);
训练一个网络并行平行池
并行计算工具箱™允许深度学习工具箱™来模拟和训练网络比可以更快和更大的数据集在一个电脑。并行训练是目前支持反向传播训练,不是为自组织映射。金宝app
这里训练和模拟发生在平行MATLAB工人。
parpool [X, T] = vinyl_dataset;网= feedforwardnet (10);网=火车(净,X, T,“useParallel”,“是的”,“showResources”,“是的”);Y =净(X);
使用复合值手动分发数据,并返回结果作为一个组合的价值。如果数据加载是分布在每一块数据集必须适合在RAM中,整个数据集是有限的,只有所有的工人的总内存。
[X, T] = vinyl_dataset;Q =大小(X, 2);Xc =复合;Tc =复合;numWorkers =元素个数(Xc);印第安纳州=[0装天花板((1:numWorkers) * (Q / numWorkers)));为i = 1:英蒂numWorkers =(印第安纳州(i) + 1):印第安纳州(i + 1);Xc{我}= X(:英蒂);Tc{我}= T(:英蒂);结束网= feedforwardnet;网=配置(净,X, T);网=火车(Xc净,Tc);Yc =净(Xc);
注意在上面的例子中,函数配置是用于设置维度和处理设置网络的输入。这通常发生时自动列车,但当提供复合数据与non-Composite数据必须手动完成这一步。
训练一个网络在gpu上
网络可以使用当前的GPU训练设备,如果它是支持并行计算工具。金宝appGPU培训目前支持反向传播训练,不是为自组织映射。金宝app
[X, T] = vinyl_dataset;网= feedforwardnet (10);网=火车(净,X, T,“useGPU”,“是的”);y =净(X);
把数据放在一个GPU手动:
[X, T] = vinyl_dataset;Xgpu = gpuArray (X);Tgpu = gpuArray (T);网=配置(净,X, T);网=火车(网,Xgpu, Tgpu);Ygpu =净(Xgpu);Y =收集(Ygpu);
注意在上面的例子中,函数配置是用于设置维度和处理设置网络的输入。这通常发生时自动列车,但当提供gpuArray数据与non-gpuArray数据必须手动完成这一步。
并行运行,工人每个分配给一个不同的独特的GPU,额外工人在CPU上运行:
网=火车(净,X, T,“useParallel”,“是的”,“useGPU”,“是的”);y =净(X);
只使用工人具有独特的gpu可能导致更高的速度,CPU工人可能没有跟上。
网=火车(净,X, T,“useParallel”,“是的”,“useGPU”,“只”);Y =净(X);
列车网络的使用检查点保存
一个检查点保存网络训练速度不超过每隔两分钟。
[x, t] = vinyl_dataset;网= fitnet (60 [30]);网=火车(净,x, t,“CheckpointFile”,“MyCheckpoint”,“CheckpointDelay”,120);
电脑故障后,最新的网络可以恢复和用于从故障点继续训练。检查点文件包括一个结构变量检查点
,其中包括网络、培训记录、文件名、时间和数量。
[x, t] = vinyl_dataset;负载MyCheckpoint网= checkpoint.net;网=火车(净,x, t,“CheckpointFile”,“MyCheckpoint”);
检查点功能的另一个用途是当你停止一个平行的训练(开始的“UseParallel”
参数),尽管在并行神经网络训练工具不可用培训。在这种情况下,设置一个“CheckpointFile”
,使用Ctrl + C来停止训练,然后加载你的检查点文件的网络和培训记录。
输入参数
净
- - - - - -输入网络
网络
对象
输入网络,指定为一个网络
对象。创建一个网络
例如,对象,使用feedforwardnet
或narxnet
。
X
- - - - - -网络的输入
矩阵|单元阵列|综合数据|gpuArray
网络输入,指定为一个R
——- - - - - -问
矩阵或一个倪
——- - - - - -TS
单元阵列,
R
是输入的大小问
批处理大小倪= net.numInputs
TS
是时间步的数量吗
火车
参数可以有两种格式:矩阵,为静态问题和网络与单一的输入和输出,和细胞阵列为多个步伐和网络有多个输入和输出。
矩阵的格式可以使用模拟(如果只有一个时间步
TS = 1
)。它是方便网络只有一个输入和输出,但可以有更多的使用网络。当网络有多个输入,矩阵大小(的总和国际扶轮
)———问
。单元阵列格式更普遍,更方便了网络与多个输入和输出,允许输入序列。每个元素
X{我,ts}
是一个国际扶轮
——- - - - - -问
矩阵,国际扶轮= net.inputs{我}.size
。
如果使用复合数据,“useParallel”
自动设置为“是的”
。函数复合数据并返回综合结果。
如果使用gpuArray数据,“useGPU”
自动设置为“是的”
。该函数gpuArray数据并返回gpuArray结果
请注意
如果X的列包含至少一个南
,火车
不使用这一列进行训练、测试和验证。
T
- - - - - -网络的目标
0(默认)|矩阵|单元阵列|综合数据|gpuArray
网络目标指定为一个U
——- - - - - -问
矩阵或一个没有
——- - - - - -TS
单元阵列,
U
是输出大小问
批处理大小没有= net.numOutputs
TS
是时间步的数量吗
火车
参数可以有两种格式:矩阵,为静态问题和网络与单一的输入和输出,和细胞阵列为多个步伐和网络有多个输入和输出。
矩阵的格式可以使用模拟(如果只有一个时间步
TS = 1
)。它是方便网络只有一个输入和输出,但可以有更多的使用网络。当网络有多个输入,矩阵大小(的总和用户界面
)———问
。单元阵列格式更普遍,更方便了网络与多个输入和输出,允许输入序列。每个元素
T{我,ts}
是一个用户界面
——- - - - - -问
矩阵,Ui = net.outputs{我}.size
。
如果使用复合数据,“useParallel”
自动设置为“是的”
。函数复合数据并返回综合结果。
如果使用gpuArray数据,“useGPU”
自动设置为“是的”
。该函数gpuArray数据并返回gpuArray结果
请注意,T
是可选的,只需要被用于网络要求的目标。
请注意
任何南
值的目标T
被视为缺失的数据。如果一个元素的T
是南
元素不用于培训,测试,或验证。
习
- - - - - -初始输入延迟条件
0(默认)|单元阵列|矩阵
初始输入延迟条件下,指定为一个倪
——- - - - - -ID
单元阵列或一个R
——- - - - - -(ID *问)
矩阵,
ID = net.numInputDelays
倪= net.numInputs
R
是输入的大小问
批处理大小
单元阵列输入的列习
从最古老的延迟订购条件到最近:习{i、k}
是输入我
在时间ts = k - ID
。
习
也是可选的,只需要输入或层的用于网络延迟。
人工智能
- - - - - -初始层延迟条件
0(默认)|单元阵列|矩阵
初始层延迟条件下,指定为一个问
——- - - - - -LD
单元阵列或(的总和如果
)——- (LD *问
)矩阵,
问= net.numLayers
LD = net.numLayerDelays
如果= net.layers{我}.size
问
批处理大小
单元阵列输入的列人工智能
从最古老的延迟订购条件到最近:Ai {i、k}
是一层的输出我
在时间ts = k - LD
。
电子战
- - - - - -错误的重量
单元阵列
错误的重量,指定为一个没有
——- - - - - -TS
单元阵列或(的总和用户界面
)———问
矩阵,
没有= net.numOutputs
TS
是时间步的数量吗Ui = net.outputs{我}.size
问
批处理大小
单元阵列的输入。每个元素电子战{我,ts}
是一个用户界面
——- - - - - -问
矩阵,
Ui = net.outputs{我}.size
问
批处理大小
错误的重量电子战
也可以有一个大小为1的全部或任何没有
,TS
,用户界面
或问
。在这种情况下,电子战
自动维度扩展到匹配的目标T
。这样就可以方便地在任何维度权重的重要性(每样等),而在另一个同样重要(如时间、TS = 1
)。如果所有尺寸是1,例如电子战= {1}
值,那么所有目标处理相同的重要性。这是默认值电子战
。
如上所述,错误的重量电子战
可以作为目标相同的尺寸吗T
,或者有一些尺寸设置为1。例如,如果电子战
是1 -问
目标样本,然后将有不同的重要性,但样品中每一个元素都有相同的重要性。如果电子战
(的总和用户界面
)1,然后每个输出元素都有不同的重要性,与所有样本处理相同的重要性。
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:“useParallel”,“是的”
useParallel
- - - - - -选项来指定并行计算
“不”
(默认)|“是的”
选项指定并行计算,指定为“是的”
或“不”
。
“不”
——发生在正常的MATLAB计算线程。这是默认的“useParallel”
设置。“是的”
——计算发生在平行的工人如果平行池是开着的。否则计算发生在正常的MATLAB®线程。
useGPU
- - - - - -选项来指定GPU的计算
“不”
(默认)|“是的”
|“只”
选项指定GPU计算,指定为“是的”
,“不”
,或“只”
。
“不”
——计算发生在CPU上。这是默认的“useGPU”
设置。“是的”
——计算发生在当前gpuDevice
如果它是一个支持GPU金宝app(见GPU并行计算工具箱的要求。)如果当前gpuDevice
不支持,计算仍金宝app在CPU上。如果“useParallel”
也“是的”
和一个平行池是开放的,然后用一个独特的GPU每个工人使用GPU,其他工人各自的CPU核上运行计算。“只”
——如果没有开放平行池,然后这个设置是一样的“是的”
。如果一个平行池开放那么只有工人使用独特的gpu。然而,如果一个平行池是开放的,但没有支持gpu是可用的,然后在全部职工的cpu计算恢复执金宝app行。
showResources
- - - - - -选项来显示资源
“不”
(默认)|“是的”
选项来显示资源,指定为“是的”
或“不”
。
“不”
计算资源-不显示在命令行上使用。这是默认设置。“是的”
——显示在命令行中实际使用的计算资源的摘要。实际的资源可能不同于请求的资源,如果平行或GPU计算请求但平行池不是开放或支持GPU是不可用的。金宝app当使用并行工人,每个工人的计算模式是描述,包括工人池中不使用。
减少
- - - - - -减少内存
1(默认)|正整数
内存减少,指定为一个正整数。
对于大多数神经网络来说,默认的CPU计算训练模式是一个墨西哥人编译算法。然而,对于大型网络的计算可能发生与MATLAB计算模式。这可以确认使用“showResources”
。如果使用MATLAB和记忆是一个问题,减少设置选项值N大于1,减少了所需的临时存储的火车N倍,以换取更长的训练时间。
CheckpointFile
- - - - - -检查点文件
”
(默认)|特征向量
检查点文件,指定为一个特征向量。
的值“CheckpointFile”
可以设置为文件名保存在当前工作目录中,在另一个文件夹,文件路径或一个空字符串来禁用检查点保存(默认值)。
CheckpointDelay
- - - - - -检查点延迟
60(默认)|非负整数
检查点延迟,指定为一个非负整数。
可选参数“CheckpointDelay”
限制保存多长时间发生。限制检查点的频率可以提高效率,保持低储蓄检查点的时间相比,在计算时间。它的默认值是60,这意味着检查点保存不会发生不止一次每分钟。设定的值“CheckpointDelay”
如果你想0检查点保存每个时代只发生一次。
输出参数
trainedNet
——训练网络
网络
对象
训练网络,作为一个返回网络
对象。
tr
——培训记录
结构
培训记录(时代
和性能
),作为一个结构返回其领域依赖于网络训练函数(net.NET.trainFcn
)。它可以包括等领域:
培训、数据部分和功能和性能参数
数据部门培训指标,验证集和测试集
数据部分面具培训验证集和测试集
时代(
num_epochs
和最好的时代best_epoch
)训练状态的列表名称(
州
)字段为每个国家的名字记录在训练它的价值
表现最好的网络,在每个时代评价:训练集上的最佳性能(
best_perf
),最佳性能验证集(best_vperf
测试集()和最佳性能best_tperf
)
算法
火车
调用函数表示net.trainFcn
所示,使用训练参数值net.trainParam
。
通常培训的一个时代是定义为一个单一的所有输入向量表示网络。然后更新网络根据这些报告的结果。
培训发生直到时代发生的最大数量,性能目标是满足,或任何其他功能的停止条件net.trainFcn
发生。
一些培训功能偏离这个标准给只有一个输入向量(或序列)每个时代。随机选择一个输入向量(或序列)为每个时代从并发输入向量(或序列)。competlayer
返回网络使用trainru
这样,培训功能。
版本历史
之前介绍过的R2006a
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。