训练

# 训练 Model_Train.v1

(可视化模块)
定义

用于深度学习模型的训练

M.dl_model_train.v1(input_model =None, training_data =None, optimizer=’Adam’, loss= mean_squared_error', metrics='mse', batch_size=10240, epochs=2, n_gpus=0, verbose='2:每个epoch输出一行记录')

参数:

  • input_model(DataSDource)-训练模型信息,通常是Model_Init模块的outputs
  • training_data(DataSDource)-训练集数据,通常是序列窗口滚动模块的outputs
  • optimizer-优化器,内置可选优化器包括:SGD, RMSprop, Adagrad,Adadelta , Adam , Adamax , Nadam和TFOptimizer。模块也支持通过代码自定义优化器。
  • Loss-目标函数/损失函数,内置可选函数包括:('mean_squared_error','mean_absolute_error',
    'mean_absolute_percentage_error','mean_ squared_logarithmic_error','squared_hinge','hinge','categorical_hinge','binary_crossentropy','logcosh','categorical_ crossentropy','sparse_categorical_ crossentropy','kuliback_leibler_divergence','poisson','csoine_proximity')
  • metrics-评估指标, 包含评估模型在训练和测试时的性能指标,多个指标用英文逗号分隔,例如mse,accuracy
  • batch_size-进行梯度下降时每个batch包含的样本数据集大小,训练时一个batch会被计算一次梯度下降使目标函数优化一步。对于小数据集可以设置batch_size=数据集大小; 对于大数据集设置batch_size= N(自己设定,例如512,1024)表示将数据分批次输入训练器。batch_size越大内存的利用率越高, 跑完一次epoch所需要的迭代次数减少,且下降方向越准,引起的训练震荡越小;但batch_size过大也会导致内存溢出、训练时间增加、收敛缓慢、局部最优,泛化性差等问题。
  • epochs- 训练次数,训练将在达到该epochs时结束,当没有设置init_epoch时,即为总的训练次数,否则总训练次数为epochs-init_epoch
  • n_gpus –本模块使用的 GPU数量,默认0即不使用GPU
  • verbose—日志输出规则:'0:不显示';'1:输出进度条记录';'2:每个epoch输出一行记录'

返回

训练模型

返回类型:

Outputs