主要内容

火车

火车浅神经网络

描述

这个函数火车浅神经网络。与卷积或LSTM深度学习神经网络,看到的trainNetwork代替。

例子

trainedNet=火车(,X,T,,人工智能,电子战)列车网络根据net.trainFcnnet.trainParam

(trainedNet,tr)=火车(,X,T,,人工智能,电子战)还返回一个培训记录。

例子

(trainedNet,tr)=火车(,X,T,,人工智能,电子战,名称,值)列车网络与附加选项指定一个或多个参数名称-值对。

例子

全部折叠

在这里输入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,‘*’)

这个例子火车开环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训练设备,如果它是支持并行计算工具。金宝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来停止训练,然后加载你的检查点文件的网络和培训记录。

输入参数

全部折叠

输入网络,指定为一个网络对象。创建一个网络例如,对象,使用feedforwardnetnarxnet

网络输入,指定为一个R——- - - - - -矩阵或一个——- - - - - -TS单元阵列,

  • R是输入的大小

  • 批处理大小

  • 倪= net.numInputs

  • TS是时间步的数量吗

火车参数可以有两种格式:矩阵,为静态问题和网络与单一的输入和输出,和细胞阵列为多个步伐和网络有多个输入和输出。

  • 矩阵的格式可以使用模拟(如果只有一个时间步TS = 1)。它是方便网络只有一个输入和输出,但可以有更多的使用网络。当网络有多个输入,矩阵大小(的总和国际扶轮)———

  • 单元阵列格式更普遍,更方便了网络与多个输入和输出,允许输入序列。每个元素X{我,ts}是一个国际扶轮——- - - - - -矩阵,国际扶轮= net.inputs{我}.size

如果使用复合数据,“useParallel”自动设置为“是的”。函数复合数据并返回综合结果。

如果使用gpuArray数据,“useGPU”自动设置为“是的”。该函数gpuArray数据并返回gpuArray结果

请注意

如果X的列包含至少一个,火车不使用这一列进行训练、测试和验证。

网络目标指定为一个U——- - - - - -矩阵或一个没有——- - - - - -TS单元阵列,

  • U是输出大小

  • 批处理大小

  • 没有= net.numOutputs

  • TS是时间步的数量吗

火车参数可以有两种格式:矩阵,为静态问题和网络与单一的输入和输出,和细胞阵列为多个步伐和网络有多个输入和输出。

  • 矩阵的格式可以使用模拟(如果只有一个时间步TS = 1)。它是方便网络只有一个输入和输出,但可以有更多的使用网络。当网络有多个输入,矩阵大小(的总和用户界面)———

  • 单元阵列格式更普遍,更方便了网络与多个输入和输出,允许输入序列。每个元素T{我,ts}是一个用户界面——- - - - - -矩阵,Ui = net.outputs{我}.size

如果使用复合数据,“useParallel”自动设置为“是的”。函数复合数据并返回综合结果。

如果使用gpuArray数据,“useGPU”自动设置为“是的”。该函数gpuArray数据并返回gpuArray结果

请注意,T是可选的,只需要被用于网络要求的目标。

请注意

任何值的目标T被视为缺失的数据。如果一个元素的T元素不用于培训,测试,或验证。

初始输入延迟条件下,指定为一个——- - - - - -ID单元阵列或一个R——- - - - - -(ID *问)矩阵,

  • ID = net.numInputDelays

  • 倪= net.numInputs

  • R是输入的大小

  • 批处理大小

单元阵列输入的列从最古老的延迟订购条件到最近:习{i、k}是输入在时间ts = k - ID

也是可选的,只需要输入或层的用于网络延迟。

初始层延迟条件下,指定为一个——- - - - - -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”,“是的”

选项指定并行计算,指定为“是的”“不”

  • “不”——发生在正常的MATLAB计算线程。这是默认的“useParallel”设置。

  • “是的”——计算发生在平行的工人如果平行池是开着的。否则计算发生在正常的MATLAB®线程。

选项指定GPU计算,指定为“是的”,“不”,或“只”

  • “不”——计算发生在CPU上。这是默认的“useGPU”设置。

  • “是的”——计算发生在当前gpuDevice如果它是一个支持GPU金宝app(见GPU并行计算工具箱的要求。)如果当前gpuDevice不支持,计算仍金宝app在CPU上。如果“useParallel”“是的”和一个平行池是开放的,然后用一个独特的GPU每个工人使用GPU,其他工人各自的CPU核上运行计算。

  • “只”——如果没有开放平行池,然后这个设置是一样的“是的”。如果一个平行池开放那么只有工人使用独特的gpu。然而,如果一个平行池是开放的,但没有支持gpu是可用的,然后在全部职工的cpu计算恢复执金宝app行。

选项来显示资源,指定为“是的”“不”

  • “不”计算资源-不显示在命令行上使用。这是默认设置。

  • “是的”——显示在命令行中实际使用的计算资源的摘要。实际的资源可能不同于请求的资源,如果平行或GPU计算请求但平行池不是开放或支持GPU是不可用的。金宝app当使用并行工人,每个工人的计算模式是描述,包括工人池中不使用。

内存减少,指定为一个正整数。

对于大多数神经网络来说,默认的CPU计算训练模式是一个墨西哥人编译算法。然而,对于大型网络的计算可能发生与MATLAB计算模式。这可以确认使用“showResources”。如果使用MATLAB和记忆是一个问题,减少设置选项值N大于1,减少了所需的临时存储的火车N倍,以换取更长的训练时间。

检查点文件,指定为一个特征向量。

的值“CheckpointFile”可以设置为文件名保存在当前工作目录中,在另一个文件夹,文件路径或一个空字符串来禁用检查点保存(默认值)。

检查点延迟,指定为一个非负整数。

可选参数“CheckpointDelay”限制保存多长时间发生。限制检查点的频率可以提高效率,保持低储蓄检查点的时间相比,在计算时间。它的默认值是60,这意味着检查点保存不会发生不止一次每分钟。设定的值“CheckpointDelay”如果你想0检查点保存每个时代只发生一次。

输出参数

全部折叠

训练网络,作为一个返回网络对象。

培训记录(时代性能),作为一个结构返回其领域依赖于网络训练函数(net.NET.trainFcn)。它可以包括等领域:

  • 培训、数据部分和功能和性能参数

  • 数据部门培训指标,验证集和测试集

  • 数据部分面具培训验证集和测试集

  • 时代(num_epochs和最好的时代best_epoch)

  • 训练状态的列表名称()

  • 字段为每个国家的名字记录在训练它的价值

  • 表现最好的网络,在每个时代评价:训练集上的最佳性能(best_perf),最佳性能验证集(best_vperf测试集()和最佳性能best_tperf)

算法

火车调用函数表示net.trainFcn所示,使用训练参数值net.trainParam

通常培训的一个时代是定义为一个单一的所有输入向量表示网络。然后更新网络根据这些报告的结果。

培训发生直到时代发生的最大数量,性能目标是满足,或任何其他功能的停止条件net.trainFcn发生。

一些培训功能偏离这个标准给只有一个输入向量(或序列)每个时代。随机选择一个输入向量(或序列)为每个时代从并发输入向量(或序列)。competlayer返回网络使用trainru这样,培训功能。

版本历史

之前介绍过的R2006a

另请参阅

|||