<#-- (c) https://github.com/MontiCore/monticore --> import logging import mxnet as mx <#list configurations as config> import CNNCreator_${config.instanceName} import CNNDataLoader_${config.instanceName} import CNNSupervisedTrainer_${config.instanceName} if __name__ == "__main__": logging.basicConfig(level=logging.DEBUG) logger = logging.getLogger() handler = logging.FileHandler("train.log", "w", encoding=None, delay="true") logger.addHandler(handler) <#list configurations as config> ${config.instanceName}_creator = CNNCreator_${config.instanceName}.CNNCreator_${config.instanceName}() ${config.instanceName}_loader = CNNDataLoader_${config.instanceName}.CNNDataLoader_${config.instanceName}() ${config.instanceName}_trainer = CNNSupervisedTrainer_${config.instanceName}.CNNSupervisedTrainer_${config.instanceName}( ${config.instanceName}_loader, ${config.instanceName}_creator ) ${config.instanceName}_trainer.train( <#if (config.batchSize)??> batch_size=${config.batchSize}, <#if (config.numEpoch)??> num_epoch=${config.numEpoch}, <#if (config.loadCheckpoint)??> load_checkpoint=${config.loadCheckpoint?string("True","False")}, <#if (config.checkpointPeriod)??> checkpoint_period=${config.checkpointPeriod}, <#if (config.logPeriod)??> log_period=${config.logPeriod}, <#if (config.context)??> context='${config.context}', <#if (config.normalize)??> normalize=${config.normalize?string("True","False")}, <#if (config.useTeacherForcing)??> use_teacher_forcing='${config.useTeacherForcing?string("True","False")}', <#if (config.saveAttentionImage)??> save_attention_image='${config.saveAttentionImage?string("True","False")}', <#if (config.evalMetric)??> eval_metric='${config.evalMetric.name}', eval_metric_params={ <#if (config.evalMetric.exclude)??> 'exclude': [<#list config.evalMetric.exclude as value>${value}<#sep>, ], }, <#if (config.evalTrain)??> eval_train=${config.evalTrain?string("True","False")}, <#if (config.configuration.loss)??> loss='${config.lossName}', <#if (config.lossParams)??> loss_params={ <#list config.lossParams?keys as param> '${param}': ${config.lossParams[param]}<#sep>, }, <#if (config.configuration.optimizer)??> optimizer='${config.optimizerName}', optimizer_params={ <#list config.optimizerParams?keys as param> '${param}': ${config.optimizerParams[param]}<#sep>, } )